.gitea/workflows | ||
configs | ||
scripts | ||
Dockerfile | ||
local-dev.sh | ||
README.md |
Cloud Apache Container
This is the base container for running PHP based applications. Select the PHP version environment variables. PHP Version Defaults to PHP 8.1
You mush have docker or compatable containerization software running.
You can pull this image locally by running:
docker pull repo.anhonesthost.net/cloud-hosting-platform/cac:latest
You can then run a development version of the server by running the following commands: Note this is an example, you can modify the command(s) to fit your needs.
mkdir -p local-development/domain.tld
cd local-development/domain.tld
mkdir user
mkdir -p user/logs/{apache,system}
docker run -d -it -p 80:80 -p 443:443 -e PHPVER=81 -e environment=DEV --mount type=bind,source="$(pwd)"/user,target=/home/myuser --mount type=bind,source="$(pwd)"/user/logs/apache,target=/etc/httpd/logs --mount type=bind,source="$(pwd)"/user/logs/system,target=/var/log -v"$name-mysql":/var/lib/mysql -e uid=30001 -e user=myuser -e domain=domain.tld -e serveralias=www.domain.tld --name local-dev repo.anhonesthost.net/cloud-hosting-platform/cac:latest
This will start the processes needed to run sites locally.
The first time you start the container, it will take some time as it is installing all the required software to run the dev instance.
If you need to get into the container you can run:
docker exec -it local-dev /bin/bash
To install WordPress for your site
cat /var/lib/mysql/creds
su - myuser
cd ~/public_html
wp core download
You should be able to then go into your browser and go to https://localhost (accept the SSL warning if it appears) and follow the prompts to setup the site.
The database credentials are shown in the /home/$user
/mysql_creds file, which we had cat in the commands above. They will also be stored in your user directory.
PHPVER
74 - PHP 7.4
80 - PHP 8.0
81 - PHP 8.1
82 - PHP 8.2
83 - PHP 8.3
Environment Variables
Required Tags
uid - User ID for File Permissions
user - Username for File Permissions
domain - Primary Domain for configuration
Optional Tags
environment - Set to DEV to start memcached and mysql locally for development purposes
serveralias - Set to allow alternative hostnames for a site.
PHPVER - Set to use a different version of PHP refer to versions here.
Helpful Notes
- A cron is set up in the container to backup the database every 15 minutes to your user's directory.
- If you want to restart the instance again, run
docker start {name-of-your-container}
in the example, name-of-your-cintainer is local-dev - To stop a restarted instance, run
docker stop {name-of-your-container}
- To view log stream from container, run
docker logs -f {name-of-your-container}
- To delete a container, run
docker rm {name-of-your-container}
Note: this does not delete the files in user directory or database, as those are store in your system - To view running containers, run
docker ps
- To view all created containers, run ```docker ps --all``
- To view all container images downloaded on your system, run
docker images