Add DB_SERVICE_START/END markers for the database container and DB_DEPENDS_START/END for the gitea service depends_on. Phase scripts strip these blocks for sqlite3 and populate DB-specific vars (image, env, healthcheck, data dir) for mysql/postgres/mssql. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
1.5 KiB
Smarty
51 lines
1.5 KiB
Smarty
# Gitea Docker Compose — rendered by phase1_gitea_unraid.sh and phase2_gitea_fedora.sh
|
|
# Variables: GITEA_VERSION, DATA_PATH, GITEA_PORT, GITEA_SSH_PORT
|
|
# DATA_PATH is host-specific (UNRAID_GITEA_DATA_PATH or FEDORA_GITEA_DATA_PATH)
|
|
# DB_SERVICE block is stripped for sqlite3, kept for mysql/postgres/mssql.
|
|
|
|
version: "3"
|
|
|
|
services:
|
|
# DB_SERVICE_START
|
|
db:
|
|
image: ${DB_DOCKER_IMAGE}
|
|
container_name: gitea-db
|
|
restart: unless-stopped
|
|
environment:
|
|
${DB_ENV_VARS}
|
|
volumes:
|
|
- ${DATA_PATH}/db:/var/lib/${DB_DATA_DIR}
|
|
healthcheck:
|
|
test: ${DB_HEALTHCHECK}
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
# DB_SERVICE_END
|
|
|
|
gitea:
|
|
image: gitea/gitea:${GITEA_VERSION}
|
|
container_name: gitea
|
|
restart: unless-stopped
|
|
# DB_DEPENDS_START
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
# DB_DEPENDS_END
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
volumes:
|
|
- ${DATA_PATH}/data:/data # Gitea repositories, LFS, avatars, etc.
|
|
- ${DATA_PATH}/config:/data/gitea/conf # app.ini lives here
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "${GITEA_PORT}:3000" # Web UI + API
|
|
- "${GITEA_SSH_PORT}:22" # Git over SSH (host port 22 is taken by SSH server)
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-sf", "http://localhost:3000/api/v1/version"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|