services: sftpgo: image: drakkan/sftpgo:latest user: "${PUID}:${PGID}" container_name: sftpgo ports: - 8813:8080 # HTTP - 2026:2022 # SFTP environment: # Fixes the "id_rsa: permission denied" error by using the mapped volume SFTPGO_CONFIG_DIR: /srv/sftpgo SFTPGO_WEBDAVD__BINDINGS__0__PORT: 5007 SFTPGO_DATA_PROVIDER__DRIVER: mysql SFTPGO_DATA_PROVIDER__NAME: sftpgo SFTPGO_DATA_PROVIDER__HOST: mysql SFTPGO_DATA_PROVIDER__PORT: 3306 SFTPGO_DATA_PROVIDER__USERNAME: ${DB_USER} SFTPGO_DATA_PROVIDER__PASSWORD: ${MYSQL_USER_PWD} SFTPGO_COMMON__DEFENDER__ENABLED: "true" SFTPGO_COMMON__DEFENDER__BAN_TIME: 15 SFTPGO_COMMON__DEFENDER__BAN_TIME_INCREMENT: 100 SFTPGO_COMMON__DEFENDER__THRESHOLD: 5 SFTPGO_COMMON__DEFENDER__OBSERVATION_TIME: 15 volumes: - ./data:/srv/sftpgo:rw - ./user_data:/user_data depends_on: mysql: condition: service_healthy restart: on-failure:8 mysql: image: mariadb:11.8-noble container_name: sftpgo-db healthcheck: # Standard MariaDB 11.x healthcheck using root credentials test: ["CMD-SHELL", "mariadb-admin ping -h localhost -u root -p$${MYSQL_ROOT_PWD} || exit 1"] interval: 10s timeout: 5s retries: 5 start_period: 30s environment: TZ: ${TZ} MYSQL_DATABASE: sftpgo MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${MYSQL_USER_PWD} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PWD} volumes: - ./db:/var/lib/mysql:rw restart: on-failure:5