52 lines
1.8 KiB
YAML
52 lines
1.8 KiB
YAML
# Forgejo — git.manohargupta.com
|
|
# Self-hosted Git for scripts, Power Query files, compose files, n8n exports.
|
|
# Storage: SQLite (single-user, zero ops overhead vs Postgres).
|
|
# SSH clone port: 2222 (host) -> 22 (container). Never conflicts with system SSH.
|
|
# Fix v2: volume mounted to /data (Forgejo Docker standard), not /var/lib/gitea.
|
|
|
|
services:
|
|
forgejo:
|
|
image: codeberg.org/forgejo/forgejo:10
|
|
restart: unless-stopped
|
|
environment:
|
|
USER_UID: "1000"
|
|
USER_GID: "1000"
|
|
FORGEJO__server__DOMAIN: git.manohargupta.com
|
|
FORGEJO__server__ROOT_URL: https://git.manohargupta.com/
|
|
FORGEJO__server__SSH_DOMAIN: git.manohargupta.com
|
|
FORGEJO__server__SSH_PORT: "2222"
|
|
FORGEJO__server__SSH_LISTEN_PORT: "22"
|
|
FORGEJO__service__DISABLE_REGISTRATION: "true"
|
|
FORGEJO__service__REQUIRE_SIGNIN_VIEW: "false"
|
|
# /data is Forgejo Docker's standard root -- /var/lib/gitea was wrong
|
|
FORGEJO__database__DB_TYPE: sqlite3
|
|
FORGEJO__database__PATH: /data/gitea/forgejo.db
|
|
volumes:
|
|
- forgejo_data:/data # standard Forgejo Docker data root
|
|
- forgejo_config:/etc/gitea
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "2222:22"
|
|
networks:
|
|
- dokploy-network
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=dokploy-network"
|
|
- "traefik.http.routers.forgejo.rule=Host(`git.manohargupta.com`)"
|
|
- "traefik.http.routers.forgejo.entrypoints=websecure"
|
|
- "traefik.http.routers.forgejo.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.forgejo.loadbalancer.server.port=3000"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:3000"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
volumes:
|
|
forgejo_data:
|
|
forgejo_config:
|
|
|
|
networks:
|
|
dokploy-network:
|
|
external: true
|