sFTPGo - Setup On a Docker Server
services:
sftpgo:
image: drakkan/sftpgo:latest
container_name: SFTPGo
user: root:root # For running on Docker server
ports:
- 8082:8080 # HTTP
- 2022:2022 # SFTP
- 2121:2121 # FTP
- 10080:10080 #WebDAV
- 50000-50010:50000-50010 #Passive Ports
environment:
# Global Parameters
#PUID: 0 # UserId for running on Synology
#GUID: 0 # GroupId for running on Synology
SFTPGO_LOG_LEVEL: debug
TZ: America/Montreal
SFTPGO_COMMON_DEFAULT_LANGUAGE: en
#SFTPGO_COMMON__UMASK: 000
# Defender
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
# Used for Testing/Dev only
#SFTPGO_DEFAULT_ADMIN_USERNAME: sftpgo
#SFTPGO_DEFAULT_ADMIN_PASSWORD: "f$ANnh#Khamd&7sy"
# FTP
SFTPGO_FTPD__ENABLED: true
SFTPGO_FTPD__BINDINGS__0__DEBUG: true
SFTPGO_FTPD__BANNER: "SFL FTP Server"
SFTPGO_FTPD_BINDINGS_0_PORT: 2121 # FTP Port
SFTPGO_FTPD__PASSIVE_PORT_RANGE__START: 50000
SFTPGO_FTPD__PASSIVE_PORT_RANGE__END: 50010
SFTPGO_FTPD_BINDINGS_0_FORCE_PASSIVE_IP: 172.0.0.1:8082
#SFTPGO_FTPD__CERTIFICATE_FILE: /var/lib/sftpgo/certificate
#SFTPGO_FTPD__CERTIFICATE_KEY_FILE: /var/lib/sftpgo/certificateKey
# sFTP
SFTPGO_SFTPD_BINDINGS_0_PORT: 2022 # SFTP port
# HTTPD
SFTPGO_HTTPD_BINDINGS_0_PORT: 8082
SFTPGO_HTTPD_BINDINGS_0_ADDRESS: 0.0.0.0
# WebDAV
SFTPGO_WEBDAVD__BINDINGS__0__PORT: 10080
# MySQL Backend
SFTPGO_DATA_PROVIDER_CREATE_DEFAULT_ADMIN: true
SFTPGO_DATA_PROVIDER__DRIVER: mysql
SFTPGO_DATA_PROVIDER__NAME: sftpgo
SFTPGO_DATA_PROVIDER__HOST: mysql
SFTPGO_DATA_PROVIDER__PORT: 3306
SFTPGO_DATA_PROVIDER__USERNAME: sftpgo
SFTPGO_DATA_PROVIDER__PASSWORD: "f$ANnh#Khamd&7sy"
volumes:
- /volume1/docker/sftpgo/data:/srv/sftpgo:rw
- /volume1/docker/sftpgo/config:/var/lib/sftpgo:rw
- /volume1/docker/sftpgo/backups:/srv/sftpgo/backups:rw
#- /volume1/docker/sftpgo/etc/sftpgo.json:/etc/sftpgo/sftpgo.json:rw
#- /volume1/docker/sftpgo/storage:/var/lib/sftpgo:rw
restart: on-failure:8
comments: "You have to enable the section in the /etc/sftpgo/sftpgo.json file for FTP to work"
mysql:
image: mariadb:11.4-noble
container_name: SFTPGo-DB
environment:
TZ: America/Montreal
MYSQL_DATABASE: sftpgo
MYSQL_USER: sftpgo
MYSQL_PASSWORD: "f$ANnh#Khamd&7sy"
MYSQL_ROOT_PASSWORD: "f$ANnh#Khamd&7sy"
volumes:
- /volume1/docker/sftpgo/db:/var/lib/mysql:rw
restart: on-failure:5
From the comment above you have to do the following to update the file.
Install nano editor and edit file using Unraid Root prompt (Not docker console!)
docker exec -u 0 -it [Docker ID/NAME] bash
apt-get update
apt-get install nano -y
nano /etc/sftpgo/sftpgo.json
Ctrl + X
Y