A ready-to-go SFTP server in Docker.
./setup.sh # To generate keys and data directory
docker compose up -dThat's it. Connect with:
| Setting | Value |
|---|---|
| Host | localhost |
| Port | 2222 |
| Username | testuser |
| Password | testpass |
| Upload dir | /home/testuser/upload (mapped to ./data/ on host) |
sftp -i ./keys/testuser -oPort=2222 testuser@localhostEdit .env to change defaults:
SFTP_USER=testuser
SFTP_PASS=testpass
SFTP_PORT=2222Then restart: docker compose up -d
rm -rf keys/
./setup.sh
ssh-keygen -R "[localhost]:2222" # Clear old host key from known_hosts
docker compose up -d# Stop the server
docker compose down
docker compose down -v
rm -rf keys/ data/
ssh-keygen -R "[localhost]:2222"
./setup.sh