Compare commits

...

8 Commits

6 changed files with 148 additions and 5 deletions

View File

@@ -1,3 +1,7 @@
# Construction Area
This configuration is still a work in progress. :)
# Provision Test Images
Create containers of popular Linux distributions in order to test Ansible.

View File

@@ -20,5 +20,7 @@ EXTRA_UBUNTU=""
## Script
REPO=https://git.hyperling.com/me/env-ansible
BRANCH=dev
#BRANCH=dev
BRANCH=stage
#BRANCH=prod
EXEC="./setup.sh -l"

View File

@@ -0,0 +1,3 @@
# Construction Area
This configuration is still a work in progress. :)

View File

@@ -0,0 +1,58 @@
# 2025-10-17 Hyperling
# Copied and modified from the example here:
# https://hub.docker.com/_/wordpress
# This file should be copied to `docker-compose.yml`.
# Most configration changes can be done in the env file rather than here.
## TBDs ##
# - Move env variables to env.example
# - Look through other environment variables which may be useful.
# - Add CPU and MEM section
# - Change ports
# TBD locate these at ../../Volumes and create `prep.sh` script.
volumes:
wordpress:
db:
services:
wp-app:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: wp-db
WORDPRESS_DB_USER: $WORDPRESS_DB_USER
WORDPRESS_DB_PASSWORD: $WORDPRESS_DB_PASSWORD
WORDPRESS_DB_NAME: $WORDPRESS_DB_NAME
WP_CPU: $WP_CPU
WP_MEM: $WP_MEM
volumes:
- wordpress:/var/www/html
deploy:
mode: global
resources:
limits:
cpus: $WP_CPU
memory: $WP_MEM
wp-db:
image: mysql:8.0
restart: always
environment:
MYSQL_DATABASE: $WORDPRESS_DB_NAME
MYSQL_USER: $WORDPRESS_DB_USER
MYSQL_PASSWORD: WORDPRESS_DB_PASSWORD
MYSQL_RANDOM_ROOT_PASSWORD: '1'
WP_CPU_DB: $WP_CPU_DB
WP_MEM_DB: $WP_MEM_DB
volumes:
- db:/var/lib/mysql
deploy:
mode: global
resources:
limits:
cpus: $WP_CPU_DB
memory: $WP_MEM_DB

View File

@@ -0,0 +1,35 @@
# This file should be copied to `.env` and have its values changes as needed.
COMPOSE_BAKE=true
## Database ##
WORDPRESS_DB_HOST=db
WORDPRESS_DB_USER=exampleuser
WORDPRESS_DB_PASSWORD=examplepass
WORDPRESS_DB_NAME=exampledb
MYSQL_RANDOM_ROOT_PASSWORD=1
## Performance ##
# Standard Minimum
#WP_CPU=1.00
#WP_MEM=2.0G
#WP_CPU_DB=
#WP_MEM_DB=
# Standard Recommended
#WP_CPU=1.00
#WP_MEM=4.0G
#WP_CPU_DB=
#WP_MEM_DB=
# tested Minimum
#WP_CPU=
#WP_MEM=
#WP_CPU_DB=
#WP_MEM_DB=
# Tested Recommended
WP_CPU=
WP_MEM=
WP_CPU_DB=
WP_MEM_DB=

View File

@@ -16,6 +16,39 @@ BASENAME="Backup"
file="$BACKUP_DIR/$BASENAME.$DATE.$HOSTNAME.$TAG.zip"
time="`which time`"
## Functions ##
function usage {
cat <<- EOF
Backup script for Hyperling's self-managed Docker setup.
Usage: $PROG [-u] [-d] [-h]
-u : Bring all containers up after the backup has finished.
-d : Bring all containers down before taking the backup.
-h : Display this help text.
Example:
$PROG -ud
EOF
exit $1
}
## Parameters ##
up=FALSE
down=FALSE
while getopts ':udh' opt; do
case "$opt" in
u) up=TRUE ;;
d) down=TRUE ;;
h) usage 0 ;;
*) echo "ERROR: Option $OPTARG not recognized." >&2
usage 1 ;;
esac
done
## Main ##
# Ensure backup directory exists with correct permissions.
@@ -30,8 +63,12 @@ cd "$BACKUP_DIR"
mv -v "$BASENAME"*"$TAG"* TRASH/
rm -v TRASH/*
echo -e "\n`date` - Take down services for a cold backup."
manage.sh -d
if [[ "$down" == "TRUE" ]]; then
echo -e "\n`date` - Take down services for a cold backup."
manage.sh -d
else
echo -e "\n`date` - Skipping take down."
fi
echo -e "\n`date` - Create the backup for '$DOCKER_HOME'."
$time zip -r $file.tmp \
@@ -46,8 +83,12 @@ ls -sh $file
echo -e "\n`date` - Ensure other users can access the file."
chmod -v 755 $file
echo -e "\n`date` - Bring services back up."
manage.sh -u
if [[ "$up" == "TRUE" ]]; then
echo -e "\n`date` - Bring services back up."
manage.sh -u
else
echo -e "\n`date` - Skipping restoring services."
fi
## Finish ##