infra/ansible/roles/forgejo/templates/docker-compose.yml.j2

55 lines
1.8 KiB
Django/Jinja

services:
forgejo:
image: codeberg.org/forgejo/forgejo:{{ forgejo_version }}
container_name: forgejo
restart: unless-stopped
networks:
- forgejo
volumes:
- {{ forgejo_data_dir }}/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "127.0.0.1:{{ forgejo_http_port }}:3000"
- "0.0.0.0:{{ forgejo_ssh_port }}:22"
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__server__ROOT_URL=https://{{ forgejo_hostname }}
- FORGEJO__server__SSH_DOMAIN={{ forgejo_hostname }}
- FORGEJO__server__HTTP_PORT={{ forgejo_http_port }}
- FORGEJO__server__SSH_PORT={{ forgejo_ssh_port }}
- FORGEJO__server__DOMAIN={{ forgejo_hostname }}
- FORGEJO__database__DB_TYPE=sqlite3
- FORGEJO__database__PATH=/data/gitea/gitea.db
- FORGEJO__security__INSTALL_LOCK=true
- FORGEJO__service__DISABLE_REGISTRATION=true
- FORGEJO__repository__ENABLE_PUSH_CREATE_USER=true
- FORGEJO__repository__DEFAULT_PUSH_CREATE_PRIVATE=true
- FORGEJO__cron__cleanup_packages__ENABLED=true
- FORGEJO__cron__cleanup_packages__INTERVAL=6h
- FORGEJO__cron__cleanup_packages__CLEANUP_RULES=[{"type":"docker","keep_latest":2}]
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 10s
timeout: 5s
retries: 10
runner:
image: data.forgejo.org/forgejo/runner:{{ forgejo_runner_version }}
container_name: forgejo-runner
restart: unless-stopped
depends_on:
forgejo:
condition: service_healthy
networks:
- forgejo
user: "0:0"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- {{ forgejo_data_dir }}/runner:/data
command: ["forgejo-runner", "daemon", "--config", "/data/config.yaml"]
working_dir: /data
networks:
forgejo: