mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-29 23:03:34 +00:00 
			
		
		
		
	this is required for test suite to use dns certbot request without talking to live or staging letsencrypt servers or production level dns providers. This is a backwards port from the v3 branch and opens the door for a full certificate cypress test
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash -e
 | ||
| 
 | ||
| DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 | ||
| . "$DIR/.common.sh"
 | ||
| 
 | ||
| # Ensure docker-compose exists
 | ||
| if hash docker-compose 2>/dev/null; then
 | ||
| 	cd "${DIR}/.."
 | ||
| 	echo -e "${BLUE}❯ ${CYAN}Starting Dev Stack ...${RESET}"
 | ||
| 	echo -e "${BLUE}❯ $(docker-compose config)${RESET}"
 | ||
| 
 | ||
| 	# Bring up a stack, in steps so we can inject IPs everywhere
 | ||
| 	docker-compose up -d pdns pdns-db
 | ||
| 	PDNS_IP=$(get_container_ip "pdns")
 | ||
| 	echo -e "${BLUE}❯ ${YELLOW}PDNS IP is ${PDNS_IP}${RESET}"
 | ||
| 
 | ||
| 	# adjust the dnsrouter config
 | ||
| 	LOCAL_DNSROUTER_CONFIG="$DIR/../docker/dev/dnsrouter-config.json"
 | ||
| 	rm -rf "$LOCAL_DNSROUTER_CONFIG.tmp"
 | ||
| 	# IMPORTANT: changes to dnsrouter-config.json will affect this line:
 | ||
| 	jq --arg a "$PDNS_IP" '.servers[0].upstreams[1].upstream = $a' "$LOCAL_DNSROUTER_CONFIG" > "$LOCAL_DNSROUTER_CONFIG.tmp"
 | ||
| 
 | ||
| 	docker-compose up -d dnsrouter
 | ||
| 	DNSROUTER_IP=$(get_container_ip "dnsrouter")
 | ||
| 	echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}"
 | ||
| 
 | ||
| 	if [ "${DNSROUTER_IP:-}" = "" ]; then
 | ||
| 		echo -e "${RED}❯ ERROR: DNS Router IP is not set${RESET}"
 | ||
| 		exit 1
 | ||
| 	fi
 | ||
| 
 | ||
| 	# mount the resolver
 | ||
| 	LOCAL_RESOLVE="$DIR/../docker/dev/resolv.conf"
 | ||
| 	rm -rf "${LOCAL_RESOLVE}"
 | ||
| 	printf "nameserver %s\noptions ndots:0" "${DNSROUTER_IP}" > "${LOCAL_RESOLVE}"
 | ||
| 
 | ||
| 	# bring up all remaining containers, except cypress!
 | ||
| 	docker-compose up -d --remove-orphans stepca squid
 | ||
| 	docker-compose pull db
 | ||
| 	docker-compose up -d --remove-orphans --pull=never fullstack
 | ||
| 	docker-compose up -d --remove-orphans swagger
 | ||
| 
 | ||
| 	# docker-compose up -d --remove-orphans --force-recreate --build
 | ||
| 
 | ||
| 	# wait for main container to be healthy
 | ||
| 	bash "$DIR/wait-healthy" "$(docker-compose ps --all -q fullstack)" 120
 | ||
| 
 | ||
| 	echo ""
 | ||
| 	echo -e "${CYAN}Admin UI:     http://127.0.0.1:3081${RESET}"
 | ||
| 	echo -e "${CYAN}Nginx:        http://127.0.0.1:3080${RESET}"
 | ||
| 	echo -e "${CYAN}Swagger Doc:  http://127.0.0.1:3001${RESET}"
 | ||
| 	echo ""
 | ||
| 
 | ||
| 	if [ "$1" == "-f" ]; then
 | ||
| 		echo -e "${BLUE}❯ ${YELLOW}Following Backend Container:${RESET}"
 | ||
| 		docker logs -f npm_core
 | ||
| 	else
 | ||
| 		echo -e "${YELLOW}Hint:${RESET} You can follow the output of some of the containers with:"
 | ||
| 		echo "  docker logs -f npm_core"
 | ||
| 	fi
 | ||
| else
 | ||
| 	echo -e "${RED}❯ docker-compose command is not available${RESET}"
 | ||
| fi
 |