version: "3" services: app: image: gitea/gitea:1.17 environment: - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=db:3306 - GITEA__database__NAME=${DB_NAME} - GITEA__database__USER=${DB_USER} - GITEA__database__PASSWD=${DB_PASSWORD} - DISABLE_SSH=true restart: unless-stopped volumes: - data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - ${HTTP_PORT}:3000 db: image: mysql:8 restart: always environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASSWORD} - MYSQL_DATABASE=${DB_NAME} volumes: - db:/var/lib/mysql - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro duplicati: image: duplicati-sqlclient # requirement https://git.limbosolutions.com/kb/duplicati/src/branch/main/docker/sqlclient.dockerfile environment: - DB_HOST=db - DB_NAME=${DB_NAME} - DB_USER=${DB_USER} - DB_PASSWORD=$DB_PASSWORD} - DB_TARGETFOLDER=/git/db-dumps volumes: - duplicati-data:/data - duplicati-data:/git/duplicati-data:ro - data:/git/data:ro - db:/git/db:ro - db-dumps:/git/db-dumps ports: - 8200:8200 restart: unless-stopped volumes: data: db: db-dumps: duplicati-data: