cloud-nginx-container/README.md

57 lines
1.8 KiB
Markdown

# Cloud Nginx Container #
This is the base container for running PHP based applications. Select the PHP version with the tags
*__You mush have docker or compatable containerization software running.__*
__You can pull this image locally by running:__
```console
docker pull registry.dnspegasus.net/cnc:81
```
__You can then run a development version of the server by running the following commands:__
```console
mkdir -p local-development/domain.tld
cd local-development/domain.tld
mkdir web
mkdir db
docker run -it --rm -p 80:80 -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 cnc:81
```
*This will start the processes needed to run sites locally.*
__If you need to get into the container you can run from another terminal:__
```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.
### Tags ###
*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.