docker/forgejo/install/forgejo.compose.yaml

59 lines
1.7 KiB
YAML
Raw Normal View History

2025-11-30 16:29:43 +01:00
version: '3.8'
services:
db:
image: postgres:17
container_name: forgejo-db
volumes:
- /srv/docker/forgejo/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${DATABASE_USER}
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
POSTGRES_DB: ${DATABASE_NAME}
restart: unless-stopped
networks:
- internal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DATABASE_USER} -d ${DATABASE_NAME}"]
interval: 5s
timeout: 5s
retries: 5
start_period: 10s
forgejo:
image: codeberg.org/forgejo/forgejo:11.0.8
container_name: forgejo
depends_on:
db:
condition: service_healthy
ports:
- "8822:22" # Port pour SSH (optionnel)
volumes:
- /srv/docker/forgejo/data:/data
- /srv/docker/forgejo/data/config/app.ini:/etc/forgejo/app.ini
environment:
DATABASE_TYPE: ${DATABASE_TYPE}
DATABASE_HOST: db
DATABASE_PORT: ${DATABASE_PORT}
DATABASE_USER: ${DATABASE_USER}
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
DATABASE_NAME: ${DATABASE_NAME}
ROOT_URL: ${ROOT_URL}
LFS_ENABLED: ${LFS_ENABLED}
OFFLINE_MODE: ${OFFLINE_MODE}
labels:
- "traefik.enable=true"
- "traefik.http.routers.forgejo.rule=Host(`${VIRTUAL_HOST}`)"
- "traefik.http.routers.forgejo.entrypoints=websecure"
- "traefik.http.routers.forgejo.tls=true"
- "traefik.http.routers.forgejo.tls.certresolver=myresolver"
- "traefik.http.services.forgejo.loadbalancer.server.port=3000"
- "traefik.docker.network=http-proxy"
restart: unless-stopped
networks:
- http-proxy
- internal
networks:
http-proxy:
external: true
internal:
driver: bridge