# 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:__ ```console docker pull public.ecr.aws/s1f6k4w4/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.* ```console mkdir -p local-development/domain.tld cd local-development/domain.tld mkdir {web,db} docker run -it -p 80:80 -p 443:443 -e PHPVER=81 -e environment=DEV --mount type=bind,source="$(pwd)"/web,target=/home/myuser/public_html --mount type=bind,source="$(pwd)"/db,target=/var/lib/mysql -e uid=30001 -e user=myuser -e domain=domain.tld -e serveralias=www.domain.tld --name local-dev public.ecr.aws/s1f6k4w4/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:__ ```console docker exec -it local-dev /bin/bash ``` __To install WordPress for your site__ ```console 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 /var/lib/mysql/creds file, which we had *cat* in the commands above. ### PHPVER ### *74* - PHP 7.4 *80* - PHP 8.0 *81* - PHP 8.1 *82* - PHP 8.2 ### 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.](#phpver) ### Helpful Notes ### * On your first creation of a dev instance, you will be dumped to the logs output. Hit ```ctrl + c``` to exit the running process. * 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 public_html 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```