Local development setup for sshpros.com.
git clone git@github.com:sshpros/sshpros-site.git
cd sshpros-siteCreate a .env file in the project root with these values:
MYSQL_DATABASE=sshpros
MYSQL_USER=sshpros
MYSQL_PASSWORD=sshpros
MYSQL_ROOT_PASSWORD=sshpros
docker-compose up -dAsk a team member for the latest database export (database.sql). The export comes from All-in-One WP Migration and uses SERVMASK_PREFIX_ as a table prefix placeholder — replace it on import:
sed 's/SERVMASK_PREFIX_/wp_/g' database.sql | \
docker exec -i sshpros-site-database-1 mysql -u sshpros -psshpros sshprosThen update the site URL to localhost:
docker exec sshpros-site-database-1 mysql -u sshpros -psshpros sshpros -e \
"UPDATE wp_options SET option_value='http://localhost:8080' WHERE option_name IN ('siteurl','home');"Then do a deep URL replacement so Elementor and post content point to localhost:
docker exec sshpros-site-wordpress-1 bash -c \
"wp search-replace 'https://sshpros.com' 'http://localhost:8080' --allow-root --recurse-objects --skip-columns=guid"The live site uses a Memcache object cache that doesn't exist locally — remove it:
docker exec sshpros-site-wordpress-1 rm -f /var/www/html/wp-content/object-cache.phpThe full plugin set needs more than the default 128M:
docker exec sshpros-site-wordpress-1 bash -c \
"echo 'memory_limit = 512M' >> /usr/local/etc/php/conf.d/uploads.ini"
docker restart sshpros-site-wordpress-1docker exec sshpros-site-wordpress-1 bash -c "wp plugin activate --all --allow-root"docker exec sshpros-site-wordpress-1 bash -c \
"wp eval '\Elementor\Plugin::instance()->files_manager->clear_cache();' --allow-root"Go to http://localhost:8080/wp-admin.
Ask a team member for credentials, or reset a user's password:
docker exec sshpros-site-wordpress-1 bash -c \
"wp user update <username> --user_pass='newpassword' --allow-root"The site should now look identical to the live site at sshpros.com.
| URL | Description |
|---|---|
| http://localhost:8080 | WordPress site |
| http://localhost:8080/wp-admin | WordPress admin |
| http://localhost:8081 | phpMyAdmin (database UI) |
docker-compose down- Create a branch:
git checkout -b my-feature - Edit files in
wp-content/themes/homirx-child/(child theme) orwp-content/plugins/ - Commit and push:
git add . && git commit -m "description" && git push - Open a pull request on GitHub
Homirx Child — wp-content/themes/homirx-child/
Parent theme: Homirx — wp-content/themes/homirx/
Custom PHP templates live in homirx-child/page-templates/.
Shared parts (header, footer, hero) live in homirx-child/template-parts/.