Why this Configuration?
- True Data Sovereignty: 100% GDPR-compliant on-premises deployment. You own your configuration and data without vendor lock-in.
- Hardware Agnostic: Optimized and verified across low-power ARM64 SBCs (Raspberry Pi 5) and x86_64 hypervisors (Proxmox VE LXC & VM).
- Engine Freedom: Tested and supported under standard Docker Engine and unprivileged rootless Podman.
- Platform Verification: Tested on Proxmox LXC: docker, podman; Proxmox VM: docker, podman.
Quick Start (Standalone Docker Compose)
The snippet below is immediately ready to run in any standard Docker or Podman environment:
services:
forgejo:
image: "codeberg.org/forgejo/forgejo:latest"
container_name: njorddeploy-forgejo
restart: unless-stopped
environment:
- "USER_UID=1000"
- "USER_GID=1000"
- "FORGEJO__database__DB_TYPE=sqlite3"
- "FORGEJO__database__PATH=/data/gitea/gitea.db"
- "FORGEJO__server__DOMAIN=127.0.0.1"
- "FORGEJO__server__SSH_PORT=2222"
- "FORGEJO__server__ROOT_URL=http://127.0.0.1:3000/"
- "FORGEJO__server__HTTP_PORT=3000"
volumes:
- "./data/forgejo/data:/data"
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
ports:
- "3000:3000"
- "2222:22"
networks:
- njorddeploy_net
networks:
njorddeploy_net:
Start the service directly via the command line: docker compose up -d
Configuration & Environment Variables
Key configuration parameters and defaults derived from the NjordDeploy component template:
| Variable | Default Value | Description |
|---|---|---|
FORGEJO_WEB_PORT |
3000 |
Port for the Forgejo web interface. |
FORGEJO_SSH_PORT |
2222 |
Port for Git operations over SSH. |
HOST_IP |
127.0.0.1 |
IP address or domain name of the host. |
Ecosystem & Enterprise Integration
- Reverse Proxy Ingress Ready: Pre-configured for Caddy, Traefik, or Nginx Proxy Manager with automatic Let's Encrypt TLS certificates.
- Zero-Trust Mesh VPN: Seamless integration with WireGuard or Tailscale/Headscale mesh networks for secure remote administration.
- Transactional State Backups: Ready for point-in-time database dumps and container-safe persistent volume freezing.
Effortless Management with NjordDeploy
Deploy, monitor, and update this service with a single click on your own hardware via the NjordDeploy Configurator.