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!)
To run out of the console use this command
ddcoker ps # To find the ID of the container for the next line
docker exec -u 0 -it [Docker ID/NAME] bash
Then run the following to edit the file
apt-get update
apt-get install nano -y
nano /etc/sftpgo/sftpgo.json
Then exit out of nano
Ctrl + X
Y