Go to file
2024-10-14 12:15:11 -07:00
.gitea/workflows fix push target 2024-10-01 14:19:51 -07:00
configs Some tuning of PHP and apache 2023-04-11 13:23:14 -07:00
scripts Update for log rotation and backups 2024-10-14 12:15:11 -07:00
Dockerfile Update for log rotation and backups 2024-10-14 12:15:11 -07:00
local-dev.sh Update for log rotation and backups 2024-10-14 12:15:11 -07:00
README.md Update for log rotation and backups 2024-10-14 12:15:11 -07:00

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,logs}
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 -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