version: "3" services: app: image: gitea/gitea:1.18 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: - ${GITEA_PORT}:80 networks: - gitea db: image: mysql:8 networks: - gitea restart: unless-stopped 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 - db-dumps:/db-dumps duplicati: image: duplicati-mysqlclient #https://git.limbosolutions.com/kb/duplicati/src/branch/main/docker/mysqlclient networks: - gitea environment: - MYSQL_HOST=db - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASSWORD} - DESTINATION=/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: - ${DUPLICATI_PORT}:8200 restart: unless-stopped volumes: duplicati-data: data: db: db-dumps: networks: gitea: