A Docker-based server stack for running old sites locally.
Ever had an old Joomla 1.5, 1.6, 1.7, 2.5, 3.0–3.8 site you want to upgrade to something reasonably modern?
Tough luck trying to do that on a commercial host. The PHP version is too new for the old version of Joomla to run. The MySQL / MariaDB database no longer supports the old password hashing supported by old versions of PHP. You are stuck.
This server stack can run PHP versions as old as 5.6, MySQL versions as old as 5.5, and Apache versions as old as 2.0, on your computer, using Docker. You can upgrade the PHP and MySQL versions as you go through increasingly newer versions of Joomla and its extensions, until you reach the point where you have an up-to-date site. Then, you can take a backup using Akeeba Backup —or any other method you are familiar with— and deploy it to your live host.
Copy the file env.sample
to .env
and edit it.
Then run docker compose up -d
If you are using the default settings:
- PHP 5.6, Apache 2.4, MySQL 5.5
- Access your site at
http://localhost:4280
orhttps://localhost:4443
(self-signed SSL certificate). - Access the Mailhog (email cather) interface at
http://localhost:4225
- The site's files are under the
public_html
folder of this repository. - The MySQL database files are under the
mysql/data
folder of this repository. - Regular MySQL connection information, use with your site:
- Hostname
mysql
- Username
mysite
- Password
2aZzXMhJMGayLYBq6rjJcB9k
- Database name
mysite
- Hostname
- Root MySQL connection information, use from your computer (e.g. Beekeeper Studio, HeidiSQL, phpStorm, Sequel Ace, …):
- Hostname
localhost:4236
- Username
root
- Password
MBC7ktXWaq8KNVVP3K36SALa
- Hostname
Based on the blog post “Running your LAMP Stack on Docker Containers”