-
-
Notifications
You must be signed in to change notification settings - Fork 8
Configuring settings and databases
Jelle Siderius edited this page Nov 20, 2025
·
26 revisions
All configuration files are located in ~/.mage-db-sync/config
config/settings.json
General Settings
-
localDomainExtension - Domain extension for your local development environment (e.g.,
.development) -
elasticsearchPort - Port number for ElasticSearch on your local environment (e.g.,
9200) - databaseLocation - Full path to the database download folder
Admin Configuration
- adminUsername - Default admin username for Magento backend
- adminPassword - Default admin password for Magento backend
- adminEmailAddress - Default admin email address
SSH Settings
- keyLocation - Full path to your SSH private key (auto-detected if empty)
- passphrase - SSH key passphrase (if applicable)
{
"general": {
"localDomainExtension": ".development",
"elasticsearchPort": "9200",
"databaseLocation": "/Users/{username}/Databases"
},
"ssh": {
"keyLocation": "{full path to SSH key folder}",
"passphrase": "{optional passphrase for SSH}"
},
"magentoBackend": {
"adminUsername": "admin",
"adminPassword": "Password1!",
"adminEmailAddress": "[email protected]"
}
}config/databases/production.jsonconfig/databases/staging.json
- username - SSH username for server access
- server - Server hostname or IP address
- domainFolder - Domain folder path on the server
- port - SSH port number
- password - SSH password (if required)
- localProjectFolder - Path to local Magento root directory
-
externalProjectFolder - Full path to external Magento root (overrides
domainFolder) - externalPhpPath - Custom PHP path on server (use when user PHP version differs from server)
-
localProjectUrl - Custom local development URL (defaults to:
{project folder name}{localDomainExtension}) -
wordpress - Set to
trueto synchronize WordPress database (default:false) -
commandsFolder - Directory containing custom commands (searches for
magerun2.txtordatabase.txt) -
sshKeyName - Custom SSH key name (searches in
~/.ssh/) - stagingUsername - Reference to staging environment username
{
"databases": {
"production-username-1-placeholder": {
"username": "example1",
"password": "",
"server": "example1.io",
"domainFolder": "example1.io",
"port": "2222",
"localProjectFolder": "",
"externalProjectFolder": "",
"externalPhpPath": "",
"localProjectUrl": "example1.development",
"wordpress": false,
"commandsFolder": "commands/example-project",
"stagingUsername": "staging-username-1-placeholder",
"sshKeyName": "id_ed25519"
},
"production-username-2-placeholder": {
"username": "example2",
"password": "",
"server": "example2.io",
"domainFolder": "example2.io",
"port": "2222",
"localProjectFolder": "",
"externalProjectFolder": "",
"externalPhpPath": "",
"localProjectUrl": "example2.development",
"wordpress": false,
"commandsFolder": "commands/example-project",
"stagingUsername": "staging-username-2-placeholder",
"sshKeyName": "id_ed25519"
}
}
}When a project is configured with a commandsFolder, mage-db-sync will search for custom command files relative to the config/databases folder.
SQL queries to execute during database configuration.
Important: Use double quotes as shown in the example.
UPDATE core_config_data SET `value` = "http://github.com/jellesiderius/mage-db-sync" WHERE `path` = "web/unsecure/base_url";
UPDATE core_config_data SET `value` = "https://github.com/jellesiderius/mage-db-sync" WHERE `path` = "web/secure/base_url";Magerun2 commands to execute during configuration.
magerun2 sys:cron:run sitemap_generate;
magerun2 sys:cron:run consumers_runner;~/.mage-db-sync/
└── config/
├── settings.json
└── databases/
├── production.json
├── staging.json
└── commands/
└── example-project/
├── database.txt
└── magerun2.txt
- Project-specific settings override global settings
-
externalProjectFolderoverridesdomainFolder -
localProjectUrloverrides auto-generated URL -
sshKeyNameoverrides globalkeyLocation