docker-compose-collection/forgejo/docker-compose.yml

60 lines
1.8 KiB
YAML

---
services:
forgejo:
image: codeberg.org/forgejo/forgejo:${FORGEJO_VERSION:-10}
container_name: forgejo
restart: always
networks:
- traefik
- database
volumes:
- data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__database__DB_TYPE=postgres
- FORGEJO__database__HOST=forgejo-db:5432
- FORGEJO__database__NAME=${FORGEJO_POSTGRES_USER:-forgejo}
- FORGEJO__database__USER=${FORGEJO_POSTGRES_USER}
- FORGEJO__database__PASSWD=${FORGEJO_POSTGRES_PASSWORD}
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.forgejo.entrypoints=http"
- "traefik.http.routers.forgejo.rule=Host(`${FORGEJO_DOMAIN}`)"
- "traefik.http.middlewares.forgejo-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.forgejo.middlewares=forgejo-https-redirect"
- "traefik.http.routers.forgejo-secure.entrypoints=https"
- "traefik.http.routers.forgejo-secure.rule=Host(`${FORGEJO_DOMAIN}`)"
- "traefik.http.routers.forgejo-secure.tls=true"
- "traefik.http.routers.forgejo-secure.service=forgejo"
- "traefik.http.services.forgejo.loadbalancer.server.port=3000"
depends_on:
- forgejo-db
forgejo-db:
image: postgres:${FORGEJO_POSTGRES_VERSION:-16}
container_name: forgejo-db
restart: always
environment:
- POSTGRES_USER=${FORGEJO_POSTGRES_USER}
- POSTGRES_PASSWORD=${FORGEJO_POSTGRES_PASSWORD}
- POSTGRES_DB=forgejo
networks:
- database
volumes:
- db:/var/lib/postgresql/data
volumes:
data:
external: true
db:
external: true
networks:
traefik:
external: true
database:
driver: bridge