This project showcases how to use FTP to back up machine configurations from any FTP server (e.g., on a PLC) to the IXON SecureEdge Pro device. The provided FTP server container is included for demonstration purposes; in production environments, an FTP server on the machine should be used instead.
Ensure your environment is properly set up by following this guide: Running custom Docker applications on the SecureEdge Pro.
docker-compose.yml is provided for local development.
This application consists of two or three containers:
- FTP Server (for demonstration purposes): A simple FTP server that allows you to test the process of backing up files from an FTP server to the SecureEdge Pro. In a production environment, this container is not required, as you'd use an external FTP server on the machine itself.
- Backup Service: The core service responsible for receiving the backup files from the FTP server and storing them persistently on the SecureEdge Pro device. This container handles the actual backup process.
- Backup Web UI: A lightweight web interface that allows you to visualize and manage the stored backup files. It provides an easy way to view and download the backups stored by the Backup Service.
Ensure you have the correct build environment configured:
For Unix-based systems:
./setup-buildx-env.sh
For Windows:
setup-buildx-env.cmd
Run the script to build and push the FTP Backup containers to the SecureEdge Pro:
For Unix-based systems:
./build_and_push_containers.sh
For Windows:
build_and_push_containers.cmd
- Access the local web interface of the SecureEdge Pro.
-
Create an
ftp-server
container using theftp-server
image with the following port mappings:Port Mapping: 20-21:20-21/tcp, 40000-40009:40000-40009/tcp
-
This container is only needed for demonstration purposes. In production, use the FTP server on the machine.
-
Start the container
-
Create a
backup-service
container using thebackup-service
image with the following volume mappings:Volume: backup_data -> /backup
This ensures that backups are persistently stored.
-
Create a
backup-webui
container using thebackup-webui
image with the following port and volume mappings:Port Mapping: 8080:80/tcp Volume: backup_data -> /usr/local/apache2/htdocs/
-
This allows you to access the Backup Web UI for managing and visualizing your backups.
-
Start the container