Configuration Reference
Complete reference for config.yaml (or config.json).
Full Configuration
yaml
# Application type: TYPO3 | Symfony | Drupal | WordPress | Laravel
# Not necessary if database credentials are provided manually
type:
# Database source system
origin:
# Informative name for logging (e.g., "prod")
name:
# Path to framework config file with database credentials
path:
# Link to host definition (e.g., "@prod")
link:
# SSH host (presence makes this a remote system)
host:
# SSH user
user:
# SSH port (default: 22)
port:
# SSH password (not recommended - use ssh_key or agent)
password:
# Path to SSH private key
ssh_key:
# SSH jump host configuration
jump_host:
host: # Public IP/hostname
private: # Private IP (for session channel)
user: # SSH user (default: parent user)
port: # SSH port (default: parent port)
name: # Informative name
# Directory for temporary dump files (default: /tmp/)
dump_dir:
# Manual database credentials
db:
name: # Database name
host: # Database host
password: # Database password
user: # Database user
port: # Database port (default: 3306)
# Scripts to run
script:
before: # Before sync on origin
after: # After sync on origin
error: # On error
# Custom command paths
console:
php: /usr/bin/php
mysql: /usr/bin/mysql
mysqldump: /usr/bin/mysqldump
# Database target system (same structure as origin)
target:
name:
path:
link:
host:
user:
port:
password:
ssh_key:
jump_host:
host:
private:
user:
port:
name:
dump_dir:
# Protect against accidental imports
protect: true
db:
name:
host:
password:
user:
port:
script:
before:
after:
error:
console:
# Cleanup: keep only N most recent dumps
keep_dumps:
# Additional SQL file to import after sync
after_dump:
# SQL commands to run after import
post_sql:
-
# Path to log file
log_file:
# Tables to exclude from dump (supports wildcards)
ignore_table: []
# Tables to truncate before import (supports wildcards)
truncate_table: []
# Verify dump completeness (default: true)
check_dump:
# Global scripts
script:
before:
after:
error:Common Configurations
Receiver Mode (Remote → Local)
yaml
type: TYPO3
origin:
host: prod.example.com
user: deploy
path: /var/www/html/typo3conf/LocalConfiguration.php
target:
path: /var/www/local/typo3conf/LocalConfiguration.phpSender Mode (Local → Remote)
yaml
type: TYPO3
origin:
path: /var/www/local/typo3conf/LocalConfiguration.php
target:
host: staging.example.com
user: deploy
path: /var/www/html/typo3conf/LocalConfiguration.phpProxy Mode (Remote → Remote)
yaml
type: TYPO3
origin:
host: prod.example.com
user: deploy
path: /var/www/html/typo3conf/LocalConfiguration.php
target:
host: staging.example.com
user: deploy
path: /var/www/html/typo3conf/LocalConfiguration.phpManual Database Credentials
yaml
origin:
host: prod.example.com
user: deploy
db:
name: production_db
host: localhost
user: db_user
password: db_password
port: 3306
target:
db:
name: local_db
host: localhost
user: root
password: rootTable Filtering
Ignore Tables
Exclude tables from the dump:
yaml
ignore_table:
- cache_* # Wildcard pattern
- sys_log
- be_sessions
- fe_sessionsTruncate Tables
Clear tables before import (useful for session tables):
yaml
truncate_table:
- sessions
- cache_pagesFile Formats
Configuration files can be written in YAML or JSON:
yaml
type: TYPO3
origin:
host: prod.example.com
user: deploy
path: /var/www/html/LocalConfiguration.php
target:
path: /var/www/local/LocalConfiguration.phpjson
{
"type": "TYPO3",
"origin": {
"host": "prod.example.com",
"user": "deploy",
"path": "/var/www/html/LocalConfiguration.php"
},
"target": {
"path": "/var/www/local/LocalConfiguration.php"
}
}