diff --git a/README.md b/README.md
index 7513c78..401bf03 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/
sudo LOCAL_REPO_DIR=~/Development/gitea-mirror ./scripts/gitea-mirror-lxc-local.sh
````
-See the [LXC Container Deployment Guide](docs/LXC.md).
+See the [LXC Container Deployment Guide](scripts/README-lxc.md).
@@ -199,7 +199,7 @@ Both scripts:
The application includes a health check endpoint at `/api/health` for monitoring.
-See the [LXC Container Deployment Guide](docs/LXC.md) for detailed instructions.
+See the [LXC Container Deployment Guide](scripts/README-lxc.md) for detailed instructions.
##### Building Your Own Image
diff --git a/docs/LXC.md b/docs/LXC.md
deleted file mode 100644
index 482d89b..0000000
--- a/docs/LXC.md
+++ /dev/null
@@ -1,131 +0,0 @@
-# LXC Container Deployment Guide
-
-## Overview
-Run **Gitea Mirror** in an isolated LXC container, either:
-
-1. **Online, on a Proxmox VE host** – script pulls everything from GitHub
-2. **Offline / LAN-only, on a developer laptop** – script pushes your local checkout + Bun ZIP
-
----
-
-## 1. Proxmox VE (online, recommended for prod)
-
-### Prerequisites
-* Proxmox VE node with the default `vmbr0` bridge
-* Root shell on the node
-* Ubuntu 22.04 LXC template present (`pveam update && pveam download ...`)
-
-### One-command install
-
-```bash
-# optional env overrides: CTID HOSTNAME STORAGE DISK_SIZE CORES MEMORY BRIDGE IP_CONF
-sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-installer.sh)"
-```
-
-What it does:
-
-* Creates **privileged** CT `$CTID` with nesting enabled
-* Installs curl / git / Bun (official installer)
-* Clones & builds `arunavo4/gitea-mirror`
-* Writes a root-run systemd service and starts it
-* Prints the container IP + random `JWT_SECRET`
-
-Browse to:
-
-```
-http://:4321
-```
-
----
-
-## 2. Local testing (LXD on a workstation, works offline)
-
-### Prerequisites
-
-* `lxd` installed (`sudo apt install lxd`; `lxd init --auto`)
-* Your repo cloned locally – e.g. `~/Development/gitea-mirror`
-* Bun ZIP downloaded once:
- `https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip`
-
-### Offline installer script
-
-```bash
-git clone https://github.com/arunavo4/gitea-mirror.git # if not already
-curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-local.sh -o gitea-mirror-lxc-local.sh
-chmod +x gitea-mirror-lxc-local.sh
-
-sudo LOCAL_REPO_DIR=~/Development/gitea-mirror \
- ./gitea-mirror-lxc-local.sh
-```
-
-What it does:
-
-* Launches privileged LXC `gitea-test` (`lxc launch ubuntu:22.04 ...`)
-* Pushes **Bun ZIP** + tarred **local repo** into `/opt`
-* Unpacks, builds, initializes DB
-* Symlinks both `bun` and `bunx` → `/usr/local/bin`
-* Creates a root systemd unit and starts it
-
-Access from host:
-
-```
-http://$(lxc exec gitea-test -- hostname -I | awk '{print $1}'):4321
-```
-
-(Optional) forward to host localhost:
-
-```bash
-sudo lxc config device add gitea-test mirror proxy \
- listen=tcp:0.0.0.0:4321 connect=tcp:127.0.0.1:4321
-```
-
----
-
-## Health-check endpoint
-
-Gitea Mirror includes a built-in health check endpoint at `/api/health` that provides:
-
-- System status and uptime
-- Database connectivity check
-- Memory usage statistics
-- Environment information
-
-You can use this endpoint for monitoring your deployment:
-
-```bash
-# Basic check (returns 200 OK if healthy)
-curl -I http://:4321/api/health
-
-# Detailed health information (JSON)
-curl http://:4321/api/health
-```
-
----
-
-## Troubleshooting
-
-| Check | Command |
-| -------------- | ----------------------------------------------------- |
-| Service status | `systemctl status gitea-mirror` |
-| Live logs | `journalctl -u gitea-mirror -f` |
-| Verify Bun | `bun --version && bunx --version` |
-| DB perms | `chown -R root:root /opt/gitea-mirror/data` (Proxmox) |
-
----
-
-## Connecting LXC and Docker Containers
-
-If you need your LXC container to communicate with Docker containers:
-
-1. On your host machine, create a bridge network:
- ```bash
- docker network create gitea-network
- ```
-
-2. Find the bridge interface created by Docker:
- ```bash
- ip a | grep docker
- # Look for something like docker0 or br-xxxxxxxx
- ```
-
-3. In Proxmox, edit the LXC container's network configuration to use this bridge.
diff --git a/scripts/README-lxc.md b/scripts/README-lxc.md
index 6a44936..482d89b 100644
--- a/scripts/README-lxc.md
+++ b/scripts/README-lxc.md
@@ -1,109 +1,117 @@
# LXC Container Deployment Guide
-This guide explains how to deploy the Gitea Mirror application on Proxmox LXC containers while keeping your existing Docker containers.
+## Overview
+Run **Gitea Mirror** in an isolated LXC container, either:
-## Prerequisites
+1. **Online, on a Proxmox VE host** – script pulls everything from GitHub
+2. **Offline / LAN-only, on a developer laptop** – script pushes your local checkout + Bun ZIP
-- Proxmox VE installed and configured
-- Basic knowledge of LXC containers and Proxmox
-- Access to Proxmox web interface or CLI
+---
-## Creating an LXC Container
+## 1. Proxmox VE (online, recommended for prod)
-1. In Proxmox web interface, create a new LXC container:
- - Choose Ubuntu 22.04 as the template
- - Allocate appropriate resources (2GB RAM, 2 CPU cores recommended)
- - At least 10GB of disk space
- - Configure networking as needed
+### Prerequisites
+* Proxmox VE node with the default `vmbr0` bridge
+* Root shell on the node
+* Ubuntu 22.04 LXC template present (`pveam update && pveam download ...`)
-2. Start the container and get a shell (either via Proxmox web console or SSH)
+### One-command install
-## Deploying Gitea Mirror
+```bash
+# optional env overrides: CTID HOSTNAME STORAGE DISK_SIZE CORES MEMORY BRIDGE IP_CONF
+sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-installer.sh)"
+```
-### Option 1: One-Command Installation (Recommended)
+What it does:
-This method allows you to install Gitea Mirror with a single command, without having to copy files manually:
+* Creates **privileged** CT `$CTID` with nesting enabled
+* Installs curl / git / Bun (official installer)
+* Clones & builds `arunavo4/gitea-mirror`
+* Writes a root-run systemd service and starts it
+* Prints the container IP + random `JWT_SECRET`
-1. SSH into your LXC container:
- ```bash
- ssh root@lxc-container-ip
- ```
+Browse to:
-2. Run the installer script directly:
- ```bash
- curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-installer.sh | bash
- ```
+```
+http://:4321
+```
-3. The installer will:
- - Download the Gitea Mirror repository
- - Install all dependencies including Bun
- - Build the application
- - Set up a systemd service
- - Start the application
- - Display access information
+---
-### Option 2: Manual Setup
+## 2. Local testing (LXD on a workstation, works offline)
-If you prefer to set up manually or the automatic script doesn't work for your environment:
+### Prerequisites
-1. Install dependencies:
- ```bash
- apt update
- apt install -y curl git sqlite3 build-essential
- ```
+* `lxd` installed (`sudo apt install lxd`; `lxd init --auto`)
+* Your repo cloned locally – e.g. `~/Development/gitea-mirror`
+* Bun ZIP downloaded once:
+ `https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip`
-2. Install Bun:
- ```bash
- curl -fsSL https://bun.sh/install | bash
- export BUN_INSTALL="/root/.bun"
- export PATH="$BUN_INSTALL/bin:$PATH"
- ```
+### Offline installer script
-3. Clone or copy your project:
- ```bash
- git clone https://github.com/yourusername/gitea-mirror.git /opt/gitea-mirror
- cd /opt/gitea-mirror
- ```
+```bash
+git clone https://github.com/arunavo4/gitea-mirror.git # if not already
+curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-local.sh -o gitea-mirror-lxc-local.sh
+chmod +x gitea-mirror-lxc-local.sh
-4. Build and initialize:
- ```bash
- bun install
- bun run build
- bun run manage-db init
- ```
+sudo LOCAL_REPO_DIR=~/Development/gitea-mirror \
+ ./gitea-mirror-lxc-local.sh
+```
-5. Create a systemd service manually:
- ```bash
- nano /etc/systemd/system/gitea-mirror.service
- # Add the service configuration as shown below:
+What it does:
- [Unit]
- Description=Gitea Mirror
- After=network.target
+* Launches privileged LXC `gitea-test` (`lxc launch ubuntu:22.04 ...`)
+* Pushes **Bun ZIP** + tarred **local repo** into `/opt`
+* Unpacks, builds, initializes DB
+* Symlinks both `bun` and `bunx` → `/usr/local/bin`
+* Creates a root systemd unit and starts it
- [Service]
- Type=simple
- WorkingDirectory=/opt/gitea-mirror
- ExecStart=/root/.bun/bin/bun dist/server/entry.mjs
- Restart=on-failure
- RestartSec=10
- User=gitea-mirror
- Group=gitea-mirror
- Environment=NODE_ENV=production
- Environment=HOST=0.0.0.0
- Environment=PORT=4321
- Environment=DATABASE_URL=file:data/gitea-mirror.db
- Environment=JWT_SECRET=your-secure-secret-key
+Access from host:
- [Install]
- WantedBy=multi-user.target
- ```
+```
+http://$(lxc exec gitea-test -- hostname -I | awk '{print $1}'):4321
+```
- 6. Enable and start the service:
- ```bash
- systemctl enable gitea-mirror.service
- systemctl start gitea-mirror.service
- ```
+(Optional) forward to host localhost:
+
+```bash
+sudo lxc config device add gitea-test mirror proxy \
+ listen=tcp:0.0.0.0:4321 connect=tcp:127.0.0.1:4321
+```
+
+---
+
+## Health-check endpoint
+
+Gitea Mirror includes a built-in health check endpoint at `/api/health` that provides:
+
+- System status and uptime
+- Database connectivity check
+- Memory usage statistics
+- Environment information
+
+You can use this endpoint for monitoring your deployment:
+
+```bash
+# Basic check (returns 200 OK if healthy)
+curl -I http://:4321/api/health
+
+# Detailed health information (JSON)
+curl http://:4321/api/health
+```
+
+---
+
+## Troubleshooting
+
+| Check | Command |
+| -------------- | ----------------------------------------------------- |
+| Service status | `systemctl status gitea-mirror` |
+| Live logs | `journalctl -u gitea-mirror -f` |
+| Verify Bun | `bun --version && bunx --version` |
+| DB perms | `chown -R root:root /opt/gitea-mirror/data` (Proxmox) |
+
+---
## Connecting LXC and Docker Containers
@@ -121,32 +129,3 @@ If you need your LXC container to communicate with Docker containers:
```
3. In Proxmox, edit the LXC container's network configuration to use this bridge.
-
-## Accessing the Application
-
-Once deployed, you can access the Gitea Mirror application at:
-```
-http://lxc-container-ip:4321
-```
-
-## Troubleshooting
-
-- Check service status:
- ```bash
- systemctl status gitea-mirror
- ```
-
-- View logs:
- ```bash
- journalctl -u gitea-mirror -f
- ```
-
-- If the service fails to start, check permissions on the data directory:
- ```bash
- chown -R gitea-mirror:gitea-mirror /opt/gitea-mirror/data
- ```
-
-- Verify Bun is installed correctly:
- ```bash
- bun --version
- ```