self-host/services/forgejo/docker-compose.yml

61 lines
1.5 KiB
YAML

services:
server:
image: codeberg.org/forgejo/forgejo:10
container_name: forgejo
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__service__DISABLE_REGISTRATION=true
restart: always
networks:
- forgejo
- web
volumes:
- /mnt/storagebox_alpha/forgejo/data:/data
- /opt/forgejo/ssh:/data/ssh:rw
- /opt/forgejo/git-ssh:/data/git/.ssh:rw
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/www/:/var/www
ports:
- "8002:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:8
container_name: forgejo-db
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${FORGEJO_MYSQL_ROOT_PASSWORD}
- MYSQL_USER=forgejo
- MYSQL_PASSWORD=${FORGEJO_MYSQL_PASSWORD}
- MYSQL_DATABASE=forgejo
networks:
- forgejo
volumes:
- /data/mysql/forgejo:/var/lib/mysql
# This is so that I can run Forgejo actions
runner:
image: code.forgejo.org/forgejo/runner:3.4.0
container_name: forgejo-runner
restart: unless-stopped
command: forgejo-runner daemon
environment:
- FORGEJO_INSTANCE_URL=http://server:3000
- FORGEJO_RUNNER_REGISTRATION_TOKEN=${FORGEJO_RUNNER_REGISTRATION_TOKEN}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/www:/var/www
- ./runner-data:/data
depends_on:
- server
networks:
- forgejo
networks:
forgejo:
external: false
web:
external: true