mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-31 07:43:33 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			131 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # WARNING: This is a CI docker-compose file used for building
 | |
| # and testing of the entire app, it should not be used for production.
 | |
| # This is a base compose file, it should be extended with a
 | |
| # docker-compose.ci.*.yml file
 | |
| services:
 | |
| 
 | |
|   fullstack:
 | |
|     image: "${IMAGE}:${BRANCH_LOWER}-ci-${BUILD_NUMBER}"
 | |
|     environment:
 | |
|       TZ: "${TZ:-Australia/Brisbane}"
 | |
|       DEBUG: 'true'
 | |
|       CI: 'true'
 | |
|       FORCE_COLOR: 1
 | |
|       # Required for DNS Certificate provisioning in CI
 | |
|       LE_SERVER: 'https://ca.internal/acme/acme/directory'
 | |
|       REQUESTS_CA_BUNDLE: '/etc/ssl/certs/NginxProxyManager.crt'
 | |
|     volumes:
 | |
|       - 'npm_data_ci:/data'
 | |
|       - 'npm_le_ci:/etc/letsencrypt'
 | |
|       - './dev/letsencrypt.ini:/etc/letsencrypt.ini:ro'
 | |
|       - './dev/resolv.conf:/etc/resolv.conf:ro'
 | |
|       - '/etc/localtime:/etc/localtime:ro'
 | |
|     healthcheck:
 | |
|       test: ["CMD", "/usr/bin/check-health"]
 | |
|       interval: 10s
 | |
|       timeout: 3s
 | |
|     expose:
 | |
|       - '80-81/tcp'
 | |
|       - '443/tcp'
 | |
|       - '1500-1503/tcp'
 | |
|     networks:
 | |
|       fulltest:
 | |
|         aliases:
 | |
|           - website1.example.com
 | |
|           - website2.example.com
 | |
|           - website3.example.com
 | |
| 
 | |
|   stepca:
 | |
|     image: jc21/testca
 | |
|     volumes:
 | |
|       - './dev/resolv.conf:/etc/resolv.conf:ro'
 | |
|       - '/etc/localtime:/etc/localtime:ro'
 | |
|     networks:
 | |
|       fulltest:
 | |
|         aliases:
 | |
|           - ca.internal
 | |
| 
 | |
|   pdns:
 | |
|     image: pschiffe/pdns-mysql:4.8
 | |
|     volumes:
 | |
|       - '/etc/localtime:/etc/localtime:ro'
 | |
|     environment:
 | |
|       PDNS_master: 'yes'
 | |
|       PDNS_api: 'yes'
 | |
|       PDNS_api_key: 'npm'
 | |
|       PDNS_webserver: 'yes'
 | |
|       PDNS_webserver_address: '0.0.0.0'
 | |
|       PDNS_webserver_password: 'npm'
 | |
|       PDNS_webserver-allow-from: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8'
 | |
|       PDNS_version_string: 'anonymous'
 | |
|       PDNS_default_ttl: 1500
 | |
|       PDNS_allow_axfr_ips: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8'
 | |
|       PDNS_gmysql_host: pdns-db
 | |
|       PDNS_gmysql_port: 3306
 | |
|       PDNS_gmysql_user: pdns
 | |
|       PDNS_gmysql_password: pdns
 | |
|       PDNS_gmysql_dbname: pdns
 | |
|     depends_on:
 | |
|       - pdns-db
 | |
|     networks:
 | |
|       fulltest:
 | |
|         aliases:
 | |
|           - ns1.pdns
 | |
|           - ns2.pdns
 | |
| 
 | |
|   pdns-db:
 | |
|     image: mariadb
 | |
|     environment:
 | |
|       MYSQL_ROOT_PASSWORD: 'pdns'
 | |
|       MYSQL_DATABASE: 'pdns'
 | |
|       MYSQL_USER: 'pdns'
 | |
|       MYSQL_PASSWORD: 'pdns'
 | |
|     volumes:
 | |
|       - 'pdns_mysql_vol:/var/lib/mysql'
 | |
|       - '/etc/localtime:/etc/localtime:ro'
 | |
|       - './dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro'
 | |
|     networks:
 | |
|       - fulltest
 | |
| 
 | |
|   dnsrouter:
 | |
|     image: jc21/dnsrouter
 | |
|     volumes:
 | |
|       - ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro
 | |
|     networks:
 | |
|       - fulltest
 | |
| 
 | |
|   cypress:
 | |
|     image: "${IMAGE}-cypress:ci-${BUILD_NUMBER}"
 | |
|     build:
 | |
|       context: ../
 | |
|       dockerfile: test/cypress/Dockerfile
 | |
|     environment:
 | |
|       HTTP_PROXY: 'squid:3128'
 | |
|       HTTPS_PROXY: 'squid:3128'
 | |
|     volumes:
 | |
|       - 'cypress_logs:/test/results'
 | |
|       - './dev/resolv.conf:/etc/resolv.conf:ro'
 | |
|       - '/etc/localtime:/etc/localtime:ro'
 | |
|     command: cypress run --browser chrome --config-file=cypress/config/ci.js
 | |
|     networks:
 | |
|       - fulltest
 | |
| 
 | |
|   squid:
 | |
|     image: ubuntu/squid
 | |
|     volumes:
 | |
|       - './dev/squid.conf:/etc/squid/squid.conf:ro'
 | |
|       - './dev/resolv.conf:/etc/resolv.conf:ro'
 | |
|       - '/etc/localtime:/etc/localtime:ro'
 | |
|     networks:
 | |
|       - fulltest
 | |
| 
 | |
| volumes:
 | |
|   cypress_logs:
 | |
|   npm_data_ci:
 | |
|   npm_le_ci:
 | |
|   pdns_mysql_vol:
 | |
| 
 | |
| networks:
 | |
|   fulltest:
 | |
|     name: "npm-${BRANCH_LOWER}-ci-${BUILD_NUMBER}"
 |