Preview Release Notice: This is a Preview Release of CompleteFTP for Linux. It includes all Enterprise MFT features and is suitable for evaluation and integration use. The production release is due in September, 2025.
CompleteFTP Preview Release Docker Installation Guide
This guide provides step-by-step instructions for running CompleteFTP for Linux Preview Release using Docker.
Docker provides an isolated, reproducible environment for CompleteFTP, making it perfect for development, testing, and containerized production deployments!
Quick Start
Running CompleteFTP in a Docker container requires building from the provided Dockerfile. Follow these steps to get started:
Building from Dockerfile
Step 1: Download the Dockerfile
Download the Dockerfile from Dockerfile.
Step 2: Build the Image
In the same directory where the Dockerfile is located execute following command:
docker build -t completeftp .
Step 3: Run the Container
docker run -d --name completeftp -p 21:21 -p 22:22 -p 990:990 -p 80:80 -p 443:443 completeftp
Note for FTPS: FTPS requires additional ports for data channels. If you need FTPS support, you'll need to create an additional port range mapping in Docker and in CompleteFTP.
Step 4: Verify the Container
Check that the container is running:
docker ps
Check the logs:
docker logs completeftp
Step 5: Access CompleteFTP CLI
Execute commands inside the running container:
# List users
docker exec completeftp completeftp user list
# Add a user
docker exec completeftp completeftp user add testuser
# Get help
docker exec completeftp completeftp --help
For interactive access:
docker exec -it completeftp bash
Step 6: Activate Your Trial for Remote Access
By default, your CompleteFTP trial server will only accept connections from within the container (i.e. its own localhost
). To enable access from the host machine and from other machines, you must active your 30-day trial license .
You can activate at any time — but until you do, external connections will be rejected.
Container Management
Start/Stop/Restart:
docker start completeftp
docker stop completeftp
docker restart completeftp
View logs:
docker logs completeftp -f
Remove container:
docker stop completeftp
docker rm completeftp
Port Configuration
The container exposes the following ports:
Port | Protocol | Purpose |
---|---|---|
21 | FTP | Standard FTP control |
22 | SSH/SFTP | Secure Shell and SFTP |
990 | FTPS | FTP over SSL/TLS |
80 | HTTP | Web interface |
443 | HTTPS | Secure web interface |
Custom port mapping:
docker run -p 2121:21 -p 2022:22 ... completeftp
Persistent Data
The container uses several volumes for persistent data:
Core Data Directories
/var/lib/completeftp
- Main data directory containing:/var/lib/completeftp/users
- User account data and settings/var/lib/completeftp/config
- Server configuration files/var/lib/completeftp/share
- Shared file storage
/var/log/completeftp
- Server log files
Web Interface Files
/usr/share/completeftp/web
- Web interface components:- Account management interface
- File managers (2 different implementations)
- Login/logout pages
- WebAdmin interface
- Public file sharing interface
Next Steps
Refer to the Quick Tour to configure your server.
Troubleshooting
Issue | Solution |
---|---|
Container won't start | Check docker logs completeftp |
Port conflicts | Use different port mappings with -p |
Permission errors | Ensure Docker has proper permissions |
Can't connect remotely | Activate your trial license |