Compare commits
	
		
			9 Commits
		
	
	
		
			main
			...
			dac5c0de17
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| dac5c0de17 | |||
| 3ae7a6f8f9 | |||
| 567f1de450 | |||
| 3ca8b036ad | |||
| 3897d6f3c3 | |||
| fdff4f0d27 | |||
| 7b9bbcbc26 | |||
| cbaf052ea2 | |||
| c4c3cb6434 | 
							
								
								
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -25,6 +25,8 @@ Config/DNS/config/* | |||||||
|  |  | ||||||
| # Ignore anything in disabled folders. | # Ignore anything in disabled folders. | ||||||
| disabled | disabled | ||||||
|  | *.disabled | ||||||
|  | disabled.* | ||||||
|  |  | ||||||
| # Ignore any .env files which are not explicitly committed to the project. | # Ignore any .env files which are not explicitly committed to the project. | ||||||
| *.env | *.env | ||||||
| @@ -35,10 +37,16 @@ docker-compose.yml | |||||||
| # 2024-01-24 Hide static files for Hyperling.com. | # 2024-01-24 Hide static files for Hyperling.com. | ||||||
| Config/Hyperling.com/files/* | Config/Hyperling.com/files/* | ||||||
|  |  | ||||||
| # Ignore things like "Config/Hyperling.com-Stage/"" | # Ignore things like "Config/Hyperling.com-Stage/" | ||||||
| *-Stage | *-Stage | ||||||
| Stage-* | Stage-* | ||||||
|  |  | ||||||
| # Ignore copies of the Hugo configuration, such as "Config/Hugo-MyWebsite". | # Ignore copies of the Hugo configuration, such as "Config/Hugo-MyWebsite". | ||||||
| Hugo-* | Hugo-* | ||||||
| *-Hugo | *-Hugo | ||||||
|  |  | ||||||
|  | # Ignore Prod and Dev copies as well. | ||||||
|  | *-Prod | ||||||
|  | Prod-* | ||||||
|  | *-Dev | ||||||
|  | Dev-* | ||||||
|   | |||||||
| @@ -17,12 +17,17 @@ DEV="$4" | |||||||
| typeset -u DEV | typeset -u DEV | ||||||
| echo "DEV='$DEV'" | echo "DEV='$DEV'" | ||||||
|  |  | ||||||
|  | SITE="/var/www/hugo/site" | ||||||
|  |  | ||||||
| echo "*** Creating Git Repo ***" | echo "*** Creating Git Repo ***" | ||||||
| sudo -u www-data git clone --recurse-submodules $BRANCH $REPO /var/www/hugo/site | if [[ -d $SITE ]]; then | ||||||
|  | 	rm -rfv $SITE | ||||||
|  | fi | ||||||
|  | sudo -u www-data git clone --recurse-submodules $BRANCH $REPO $SITE | ||||||
| status="$?" | status="$?" | ||||||
|  |  | ||||||
| echo "*** Validating Git Repo ***" | echo "*** Validating Git Repo ***" | ||||||
| if [[ $status != 0 || ! -d /var/www/hugo/site/.git ]]; then | if [[ $status != 0 || ! -d $SITE/.git ]]; then | ||||||
| 	echo "ERROR: Hugo project may not have cloned correctly. status='$status'" | 	echo "ERROR: Hugo project may not have cloned correctly. status='$status'" | ||||||
| 	echo "Aborting." | 	echo "Aborting." | ||||||
| 	exit 1 | 	exit 1 | ||||||
| @@ -62,7 +67,7 @@ if [[ "$DEV" == "Y"* || "$DEV" == "T"* ]]; then | |||||||
| 		http_code="`curl -sS http://localhost:1380 -o /dev/null -w "%{http_code}"`" | 		http_code="`curl -sS http://localhost:1380 -o /dev/null -w "%{http_code}"`" | ||||||
| 		if [[ $http_code != 200 ]]; then | 		if [[ $http_code != 200 ]]; then | ||||||
| 			echo "* Dev server not detected, starting..." | 			echo "* Dev server not detected, starting..." | ||||||
| 			cd /var/www/hugo/site | 			cd $SITE | ||||||
| 			killall hugo 2>/dev/null | 			killall hugo 2>/dev/null | ||||||
| 			sudo -u www-data hugo server -D --noBuildLock --bind 0.0.0.0 -p 1380 & | 			sudo -u www-data hugo server -D --noBuildLock --bind 0.0.0.0 -p 1380 & | ||||||
| 		fi | 		fi | ||||||
|   | |||||||
| @@ -1,3 +1,7 @@ | |||||||
|  | # Construction Area | ||||||
|  |  | ||||||
|  | This configuration is still a work in progress. :) | ||||||
|  |  | ||||||
| # Provision Test Images | # Provision Test Images | ||||||
|  |  | ||||||
| Create containers of popular Linux distributions in order to test Ansible. | Create containers of popular Linux distributions in order to test Ansible. | ||||||
|   | |||||||
| @@ -20,5 +20,7 @@ EXTRA_UBUNTU="" | |||||||
|  |  | ||||||
| ## Script | ## Script | ||||||
| REPO=https://git.hyperling.com/me/env-ansible | REPO=https://git.hyperling.com/me/env-ansible | ||||||
| BRANCH=dev | #BRANCH=dev | ||||||
|  | BRANCH=stage | ||||||
|  | #BRANCH=prod | ||||||
| EXEC="./setup.sh -l" | EXEC="./setup.sh -l" | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								Config/WordpressExample/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								Config/WordpressExample/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # Construction Area | ||||||
|  |  | ||||||
|  | This configuration is still a work in progress. :) | ||||||
							
								
								
									
										40
									
								
								Config/WordpressExample/docker-compose.main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								Config/WordpressExample/docker-compose.main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | # 2025-10-17 Hyperling | ||||||
|  | # Copied and modified from the example here: | ||||||
|  | #   https://hub.docker.com/_/wordpress | ||||||
|  |  | ||||||
|  | ## TBDs ## | ||||||
|  | # - Move env variables to env.example | ||||||
|  | # - Look through other environment variables which may be useful. | ||||||
|  | # - Add CPU and MEM section | ||||||
|  | # - Change ports | ||||||
|  |  | ||||||
|  | services: | ||||||
|  |  | ||||||
|  |   wp-app: | ||||||
|  |     image: wordpress | ||||||
|  |     restart: always | ||||||
|  |     ports: | ||||||
|  |       - 8080:80 | ||||||
|  |     environment: | ||||||
|  |       WORDPRESS_DB_HOST: db | ||||||
|  |       WORDPRESS_DB_USER: exampleuser | ||||||
|  |       WORDPRESS_DB_PASSWORD: examplepass | ||||||
|  |       WORDPRESS_DB_NAME: exampledb | ||||||
|  |     volumes: | ||||||
|  |       - wordpress:/var/www/html | ||||||
|  |  | ||||||
|  |   wp-db: | ||||||
|  |     image: mysql:8.0 | ||||||
|  |     restart: always | ||||||
|  |     environment: | ||||||
|  |       MYSQL_DATABASE: exampledb | ||||||
|  |       MYSQL_USER: exampleuser | ||||||
|  |       MYSQL_PASSWORD: examplepass | ||||||
|  |       MYSQL_RANDOM_ROOT_PASSWORD: '1' | ||||||
|  |     volumes: | ||||||
|  |       - db:/var/lib/mysql | ||||||
|  |  | ||||||
|  | # TBD locate these at ../../Volumes | ||||||
|  | volumes: | ||||||
|  |   wordpress: | ||||||
|  |   db: | ||||||
| @@ -16,6 +16,39 @@ BASENAME="Backup" | |||||||
| file="$BACKUP_DIR/$BASENAME.$DATE.$HOSTNAME.$TAG.zip" | file="$BACKUP_DIR/$BASENAME.$DATE.$HOSTNAME.$TAG.zip" | ||||||
| time="`which time`" | 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 ## | ## Main ## | ||||||
|  |  | ||||||
| # Ensure backup directory exists with correct permissions. | # Ensure backup directory exists with correct permissions. | ||||||
| @@ -30,8 +63,12 @@ cd "$BACKUP_DIR" | |||||||
| mv -v "$BASENAME"*"$TAG"* TRASH/ | mv -v "$BASENAME"*"$TAG"* TRASH/ | ||||||
| rm -v TRASH/* | rm -v TRASH/* | ||||||
|  |  | ||||||
| echo -e "\n`date` - Take down services for a cold backup." | if [[ "$down" == "TRUE" ]]; then | ||||||
| manage.sh -d | 	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'." | echo -e "\n`date` - Create the backup for '$DOCKER_HOME'." | ||||||
| $time zip -r $file.tmp \ | $time zip -r $file.tmp \ | ||||||
| @@ -46,8 +83,12 @@ ls -sh $file | |||||||
| echo -e "\n`date` - Ensure other users can access the file." | echo -e "\n`date` - Ensure other users can access the file." | ||||||
| chmod -v 755 $file | chmod -v 755 $file | ||||||
|  |  | ||||||
| echo -e "\n`date` - Bring services back up." | if [[ "$up" == "TRUE" ]]; then | ||||||
| manage.sh -u | 	echo -e "\n`date` - Bring services back up." | ||||||
|  | 	manage.sh -u | ||||||
|  | else | ||||||
|  | 	echo -e "\n`date` - Skipping restoring services." | ||||||
|  | fi | ||||||
|  |  | ||||||
| ## Finish ## | ## Finish ## | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user