services: # This service run as root to change the permissions to bind mounted folder # After this, the actual container is able to create files and folders inside the mounts init-permissions: image: busybox command: sh -c "mkdir -p /srv/sftpgo/data /var/lib/sftpgo /var/lib/sftpgo/plugins && chown -R 1000:1000 /srv/sftpgo /var/lib/sftpgo" volumes: - ${SFTPGO_BASE_PATH}/data:/srv/sftpgo/data - ${SFTPGO_BASE_PATH}/config:/var/lib/sftpgo - ${SFTPGO_BASE_PATH}/plugins:/var/lib/sftpgo/plugins user: root restart: "no" sftpgo: image: drakkan/sftpgo:v2.6-plugins depends_on: - init-permissions container_name: sftpgo ports: - "2022:2022" - "8080:8080" - "8081:8081" volumes: - ${SFTPGO_BASE_PATH}/data:/srv/sftpgo/data - ${SFTPGO_BASE_PATH}/config:/var/lib/sftpgo - ${SFTPGO_BASE_PATH}/plugins:/var/lib/sftpgo/plugins environment: - SFTPGO_WEBDAVD__BINDINGS__0__PORT=8081 - SFTPGO_HTTPD__BINDINGS__0__PORT=8080 - SFTPGO_DATA_PROVIDER__DRIVER=sqlite - SFTPGO_DATA_PROVIDER__NAME=/var/lib/sftpgo/sftpgo.db restart: unless-stopped