Files
docker-compose/gitea/docker-compose.yml
2025-07-02 17:41:16 +05:30

45 lines
1.4 KiB
YAML

services:
gitea_db:
image: mariadb:11.7.2
container_name: gitea_db
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
volumes:
- ${APPDATA_PATH}/gitea/db:/var/lib/mysql
ports:
- ${DB_PORT}:3306
restart: unless-stopped
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 10s
interval: 10s
timeout: 5s
retries: 3
gitea_server:
image: docker.io/gitea/gitea:1.24.2-rootless
container_name: gitea_server
depends_on:
gitea_db:
condition: service_healthy
user: ${PUID}:${PGID}
environment:
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=gitea_db:3306
- GITEA__database__NAME=${MYSQL_DATABASE}
- GITEA__database__USER=${MYSQL_USER}
- GITEA__database__PASSWD=${MYSQL_PASSWORD}
volumes:
- ${APPDATA_PATH}/gitea/config:/etc/gitea
- ${APPDATA_PATH}/gitea/data:/var/lib/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- ${SERVER_PORT}:3000
- ${SSH_PORT}:22
restart: unless-stopped