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. | ||||
| disabled | ||||
| *.disabled | ||||
| disabled.* | ||||
|  | ||||
| # Ignore any .env files which are not explicitly committed to the project. | ||||
| *.env | ||||
| @@ -35,10 +37,16 @@ docker-compose.yml | ||||
| # 2024-01-24 Hide static files for Hyperling.com. | ||||
| Config/Hyperling.com/files/* | ||||
|  | ||||
| # Ignore things like "Config/Hyperling.com-Stage/"" | ||||
| # Ignore things like "Config/Hyperling.com-Stage/" | ||||
| *-Stage | ||||
| Stage-* | ||||
|  | ||||
| # Ignore copies of the Hugo configuration, such as "Config/Hugo-MyWebsite". | ||||
| Hugo-* | ||||
| *-Hugo | ||||
|  | ||||
| # Ignore Prod and Dev copies as well. | ||||
| *-Prod | ||||
| Prod-* | ||||
| *-Dev | ||||
| Dev-* | ||||
|   | ||||
| @@ -17,12 +17,17 @@ DEV="$4" | ||||
| typeset -u DEV | ||||
| echo "DEV='$DEV'" | ||||
|  | ||||
| SITE="/var/www/hugo/site" | ||||
|  | ||||
| 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="$?" | ||||
|  | ||||
| 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 "Aborting." | ||||
| 	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}"`" | ||||
| 		if [[ $http_code != 200 ]]; then | ||||
| 			echo "* Dev server not detected, starting..." | ||||
| 			cd /var/www/hugo/site | ||||
| 			cd $SITE | ||||
| 			killall hugo 2>/dev/null | ||||
| 			sudo -u www-data hugo server -D --noBuildLock --bind 0.0.0.0 -p 1380 & | ||||
| 		fi | ||||
|   | ||||
| @@ -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. | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
							
								
								
									
										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" | ||||
| 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/* | ||||
|  | ||||
| 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 | ||||
|  | ||||
| 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 ## | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user