Files
gitea/docker-compose.yml

66 lines
1.7 KiB
YAML

services:
gitea:
image: gitea/gitea:${GITEA_VERSION}
container_name: gitea
environment:
- TZ=${TZ}
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=postgres:5432
- GITEA__database__NAME=${POSTGRES_DB}
- GITEA__database__USER=${POSTGRES_USER}
- GITEA__database__PASSWD=${POSTGRES_PASSWORD}
- GITEA__lfs__START_SERVER=${GITEA__lfs__START_SERVER}
- GITEA__lfs__PATH=${GITEA__lfs__PATH}
- GITEA__service__DISABLE_REGISTRATION=${GITEA__service__DISABLE_REGISTRATION}
- GITEA__server__SSH_PORT=${GITEA__server__SSH_PORT}
- GITEA__server__ROOT_URL=${ROOT_URL}
- GITEA__server__DOMAIN=${DOMAIN}
- GITEA__server__SSH_DOMAIN=${DOMAIN}
restart: always
volumes:
- ./data:/data
ports:
- "${HTTP_PORT}:3000"
- "${SSH_PORT}:22"
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:${POSTGRES_VERSION}
container_name: postgres
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
restart: always
volumes:
- ./data/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}"]
interval: 5s
timeout: 3s
retries: 5
caddy:
image: caddy:2
container_name: caddy
profiles:
- caddy
environment:
- DOMAIN=${DOMAIN}
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy_data:/data
- ./caddy_config:/config
depends_on:
- gitea
networks:
default:
driver: bridge