miniserver/docker-compose.yml

81 lines
1.8 KiB
YAML
Raw Normal View History

2024-03-12 22:52:38 +03:00
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