Update README and add LXC deployment guide; enhance LXC installer scripts

This commit is contained in:
Arunavo Ray
2025-05-22 08:53:19 +05:30
parent a15178d2cd
commit 5bf52c806f
4 changed files with 313 additions and 245 deletions

View File

@@ -19,11 +19,15 @@ docker compose --profile production up -d
# Using Bun
bun run setup && bun run dev
# Using LXC on Proxmox
# Using LXC Containers
# For Proxmox VE (online)
curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-installer.sh | bash
# For local testing (offline-friendly)
sudo LOCAL_REPO_DIR=~/Development/gitea-mirror ./scripts/gitea-mirror-lxc-local.sh
````
See the [LXC Container Deployment Guide](scripts/README-lxc.md).
See the [LXC Container Deployment Guide](docs/LXC.md).
<p align="center">
<img src=".github/assets/dashboard.png" alt="Dashboard" width="80%"/>
@@ -163,23 +167,39 @@ docker compose --profile production up -d
See [Docker build documentation](./scripts/README-docker.md) for more details.
##### Using LXC Containers (for Proxmox Homelab Setups)
##### Using LXC Containers
Gitea Mirror can be deployed on Proxmox LXC containers, which is ideal for homelab setups:
Gitea Mirror offers two deployment options for LXC containers:
**1. Proxmox VE (online, recommended for production)**
```bash
# One-command installation on an Ubuntu 22.04 LXC container
# One-command installation on Proxmox VE
# Optional env overrides: CTID HOSTNAME STORAGE DISK_SIZE CORES MEMORY BRIDGE IP_CONF
curl -fsSL https://raw.githubusercontent.com/arunavo4/gitea-mirror/main/scripts/gitea-mirror-lxc-installer.sh | bash
```
The installer script:
- Downloads the Gitea Mirror repository
- Installs all dependencies including Bun
- Builds the application
- Sets up a systemd service
- Starts the application
**2. Local testing (offline-friendly, works on developer laptops)**
See the [LXC Container Deployment Guide](scripts/README-lxc.md) for detailed instructions.
```bash
# Download the script
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
# Run with your local repo directory
sudo LOCAL_REPO_DIR=~/Development/gitea-mirror ./gitea-mirror-lxc-local.sh
```
Both scripts:
- Set up a privileged Ubuntu 22.04 LXC container
- Install Bun runtime environment
- Build the application
- Configure a systemd service
- Start the service automatically
The application includes a health check endpoint at `/api/health` for monitoring.
See the [LXC Container Deployment Guide](docs/LXC.md) for detailed instructions.
##### Building Your Own Image
@@ -379,7 +399,7 @@ docker compose -f docker-compose.dev.yml up -d
- **Backend**: Bun
- **Database**: SQLite (handles both data storage and event notifications)
- **API Integration**: GitHub API (Octokit), Gitea API
- **Deployment Options**: Docker containers, Proxmox LXC containers
- **Deployment Options**: Docker containers, LXC containers (Proxmox VE and local testing)
## Contributing