Go to file
2024-10-15 18:50:11 -07:00
.gitea/workflows fix push target 2024-10-01 14:19:51 -07:00
configs Adding better backups and log rotation, and updating files around it 2024-10-14 19:30:51 -07:00
scripts Adding better backups and log rotation, and updating files around it 2024-10-14 19:30:51 -07:00
Dockerfile Update for log rotation and backups 2024-10-14 12:15:11 -07:00
local-dev.sh Adding better backups and log rotation, and updating files around it 2024-10-14 19:30:51 -07:00
README.md fix spacing on versions 2024-10-15 18:50: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
mkdir -p user/logs/{apache,system}
docker run -d -it -p 80:80 -p 443:443 -e PHPVER=82 -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=localhost --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 cat /home/myuser/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.

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