--- networks: gitea: external: false services: gitea_server: image: gitea/gitea:latest container_name: gitea_server environment: - USER_UID=${USER_UID:-1000} - USER_GID=${USER_GID:-1000} - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=gitea_db:3306 - GITEA__database__NAME=${MYSQL_DATABASE:-gitea} - GITEA__database__USER=${MYSQL_USER:-gitea} - GITEA__database__PASSWD=${GITEA_DB_PASSWORD:-${MYSQL_PASSWORD:-change_me}} - GITEA__DISABLE_REGISTRATION=${GITEA_DISABLE_REGISTRATION:-true} restart: always networks: - gitea volumes: - /srv/docker/gitea/data:/data - /srv/docker/gitea/data/themes:/data/gitea/public/assets/css/themes - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "222:22" depends_on: gitea_db: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000"] interval: 30s timeout: 10s retries: 5 start_period: 30s gitea_db: image: mysql:8 container_name: gitea_db restart: always environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-gitea} - MYSQL_USER=${MYSQL_USER:-gitea} - MYSQL_PASSWORD=${MYSQL_PASSWORD:-change_me} - MYSQL_DATABASE=${MYSQL_DATABASE:-gitea} networks: - gitea volumes: - /srv/docker/gitea/mysql:/var/lib/mysql healthcheck: test: [ "CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-gitea}", ] interval: 10s timeout: 5s retries: 5 start_period: 30s