docker/forgejo/docker-compose.yml

60 lines
1.5 KiB
YAML

version: '3.8'
services:
forgejo:
image: codeberg.org/forgejo/forgejo:10.0.0-rootless # Rootless = sicherer
container_name: forgejo
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=postgres:5432
- GITEA__database__NAME=forgejo
- GITEA__database__USER=forgejo
- GITEA__database__PASSWD=${DB_PASSWORD}
- GITEA__server__DOMAIN=${DOMAIN_NAME}
- GITEA__server__ROOT_URL=https://${DOMAIN_NAME}/
- GITEA__server__HTTP_PORT=3000
- GITEA__server__SSH_DOMAIN=${DOMAIN_NAME}
- GITEA__server__SSH_PORT=222
- TZ=${TIMEZONE}
volumes:
- forgejo_data:/data
- /etc/timezone:/etc/timezone:ro
ports:
- "3000:3000" # Web UI
- "222:22" # SSH (nicht 22, da Host SSH läuft!)
depends_on:
postgres:
condition: service_healthy
networks:
- forgejo-net
- npm-network
postgres:
image: postgres:16-alpine
container_name: forgejo-db
restart: unless-stopped
environment:
- POSTGRES_USER=forgejo
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=forgejo
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U forgejo -d forgejo"]
interval: 10s
retries: 5
networks:
- forgejo-net
volumes:
forgejo_data:
postgres_data:
networks:
forgejo-net:
internal: true
npm-network:
external: true