81 lines
1.8 KiB
YAML
81 lines
1.8 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
caddy:
|
|
image: caddy:2.6.2-alpine
|
|
container_name: gateway
|
|
restart: always
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "443:443/udp"
|
|
volumes:
|
|
- ./etc/Caddyfile:/etc/caddy/Caddyfile
|
|
- caddy_data:/data
|
|
networks:
|
|
- gateway
|
|
|
|
forgejo_server:
|
|
image: codeberg.org/forgejo/forgejo:1.20.5-0
|
|
container_name: git
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- USER_UID=1001
|
|
- USER_GID=1001
|
|
- TZ=Europe/Moscow
|
|
- USER=git
|
|
- FORGEJO__database__DB_TYPE=postgres
|
|
- FORGEJO__database__HOST=forgejo_db:5432
|
|
- FORGEJO__database__NAME=${FORGEJO_DATABASE}
|
|
- FORGEJO__database__USER=${FORGEJO_USERNAME}
|
|
- FORGEJO__database__PASSWD=${FORGEJO_PASSWORD}
|
|
- FORGEJO__server__DISABLE_SSH = false
|
|
- FORGEJO__server__SSH_PORT = 22
|
|
- FORGEJO__server__SSH_LISTEN_PORT = 22
|
|
restart: always
|
|
networks:
|
|
- forgejo
|
|
- gateway
|
|
volumes:
|
|
- /home/git/.ssh/:/data/git/.ssh
|
|
- ./data:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "127.0.0.1:2222:22"
|
|
depends_on:
|
|
- forgejo_db
|
|
|
|
forgejo_db:
|
|
image: postgres:13-alpine
|
|
container_name: forgejo_db
|
|
restart: always
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- USER_UID=1001
|
|
- USER_GID=1001
|
|
- TZ=Europe/Moscow
|
|
- POSTGRES_DATABASE=${FORGEJO_DATABASE}
|
|
- POSTGRES_USER=${FORGEJO_USERNAME}
|
|
- POSTGRES_PASSWORD=${FORGEJO_PASSWORD}
|
|
healthcheck:
|
|
test: /usr/bin/pg_isready -U ${FORGEJO_USERNAME} -d ${FORGEJO_DATABASE}
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 120
|
|
networks:
|
|
- forgejo
|
|
volumes:
|
|
- forgejo_db_data:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
caddy_data:
|
|
forgejo_db_data:
|
|
|
|
networks:
|
|
gateway:
|
|
forgejo:
|
|
external: false
|