Backup to FTP Remote Server
To store your backups on an FTP remote server, you can configure the backup process to use the --storage ftp
option.
This section explains how to set up and configure FTP-based backups.
Configuration Steps
-
Specify the Storage Type
Add the--storage ftp
flag to your backup command. -
Set the Remote Path
Define the full remote path where backups will be stored using the--path
flag or theREMOTE_PATH
environment variable.
Example:--path /home/jkaninda/backups
. -
Required Environment Variables
The following environment variables are mandatory for FTP-based backups:FTP_HOST
: The hostname or IP address of the FTP server.FTP_PORT
: The FTP port (default is21
).FTP_USER
: The username for FTP authentication.FTP_PASSWORD
: The password for FTP authentication.REMOTE_PATH
: The directory on the FTP server where backups will be stored.
Example Configuration
Below is an example docker-compose.yml
configuration for backing up to an FTP remote server:
services:
mysql-bkup:
# In production, lock your image tag to a specific release version
# instead of using `latest`. Check https://github.com/jkaninda/mysql-bkup/releases
# for available releases.
image: jkaninda/mysql-bkup
container_name: mysql-bkup
command: backup --storage ftp -d database
environment:
- DB_PORT=3306
- DB_HOST=mysql
- DB_NAME=database
- DB_USERNAME=username
- DB_PASSWORD=password
## FTP Configuration
- FTP_HOST="hostname"
- FTP_PORT=21
- FTP_USER=user
- FTP_PASSWORD=password
- REMOTE_PATH=/home/jkaninda/backups
# Ensure the mysql-bkup container is connected to the same network as your database
networks:
- web
networks:
web:
Key Notes
- Security: FTP transmits data, including passwords, in plaintext. For better security, consider using SFTP (SSH File Transfer Protocol) or FTPS (FTP Secure) if supported by your server.
- Remote Path: Ensure the
REMOTE_PATH
directory exists on the FTP server and is writable by the specifiedFTP_USER
.