version: "2" services: traefik: image: "traefik:v2.2" ports: - "443:443" volumes: - "./traefik.yaml:/etc/traefik/traefik.yaml:ro" - "./letsencrypt:/letsencrypt" - "/var/run/docker.sock:/var/run/docker.sock:ro" restart: unless-stopped gitea: image: gitea/gitea:latest environment: - USER_UID - USER_GID - DB_TYPE - "DB_HOST=db:${DB_PORT}" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWD=${MYSQL_PASSWORD}" - "ROOT_URL=${APP_DOMAIN}" - INSTALL_LOCK=true - SECRET_KEY - DISABLE_REGISTRATION volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro labels: - "traefik.enable=true" - "traefik.http.routers.git.rule=Host(`${APP_DOMAIN}`)" - "traefik.http.routers.git.entrypoints=websecure" - "traefik.http.routers.git.tls.certresolver=myresolver" - "traefik.http.services.git.loadbalancer.server.port=3000" - "traefik.http.routers.git.middlewares=default-headers@file" ports: - "2222:22" links: - db:db depends_on: - db restart: unless-stopped db: image: mariadb volumes: - ./db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD - MYSQL_PASSWORD - MYSQL_DATABASE - MYSQL_USER restart: unless-stopped