Files
nginx-proxy-manager/docker/docker-compose.dev.yml
T

180 lines
4.3 KiB
YAML
Raw Normal View History

2020-02-19 15:55:06 +11:00
# WARNING: This is a DEVELOPMENT docker-compose file, it should not be used for production.
services:
2023-03-22 09:41:59 +10:00
2024-10-15 23:54:39 +10:00
fullstack:
2020-02-19 15:55:06 +11:00
image: nginxproxymanager:dev
2021-05-30 20:04:23 +02:00
container_name: npm_core
2020-02-19 15:55:06 +11:00
build:
context: ./
dockerfile: ./dev/Dockerfile
ports:
- 3080:80
- 3081:81
- 3443:443
2020-10-06 15:16:45 +02:00
networks:
2024-10-13 21:54:58 +10:00
nginx_proxy_manager:
aliases:
- website1.example.com
- website2.example.com
- website3.example.com
2020-02-19 15:55:06 +11:00
environment:
PUID: 1000
PGID: 1000
FORCE_COLOR: 1
2023-03-21 16:53:39 +10:00
# specifically for dev:
DEBUG: 'true'
DEVELOPMENT: 'true'
LE_STAGING: 'true'
# db:
DB_MYSQL_HOST: 'db'
DB_MYSQL_PORT: '3306'
DB_MYSQL_USER: 'npm'
DB_MYSQL_PASSWORD: 'npm'
DB_MYSQL_NAME: 'npm'
# DB_SQLITE_FILE: "/data/database.sqlite"
# DISABLE_IPV6: "true"
2024-10-16 11:06:29 +10:00
# Required for DNS Certificate provisioning testing:
LE_SERVER: 'https://ca.internal/acme/acme/directory'
REQUESTS_CA_BUNDLE: '/etc/ssl/certs/NginxProxyManager.crt'
2020-02-19 15:55:06 +11:00
volumes:
- npm_data:/data
- le_data:/etc/letsencrypt
2024-10-16 11:06:29 +10:00
- './dev/resolv.conf:/etc/resolv.conf:ro'
- ../backend:/app
- ../frontend:/app/frontend
- ../global:/app/global
2024-10-16 11:06:29 +10:00
healthcheck:
test: ["CMD", "/usr/bin/check-health"]
interval: 10s
timeout: 3s
2020-02-19 15:55:06 +11:00
depends_on:
- db
working_dir: /app
db:
image: jc21/mariadb-aria
2021-05-30 20:04:23 +02:00
container_name: npm_db
ports:
- 33306:3306
2020-10-06 15:16:45 +02:00
networks:
- nginx_proxy_manager
2020-02-19 15:55:06 +11:00
environment:
2023-03-21 16:53:39 +10:00
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
2020-02-19 15:55:06 +11:00
volumes:
- db_data:/var/lib/mysql
2024-10-16 11:06:29 +10:00
stepca:
image: jc21/testca
volumes:
- './dev/resolv.conf:/etc/resolv.conf:ro'
- '/etc/localtime:/etc/localtime:ro'
networks:
nginx_proxy_manager:
aliases:
- ca.internal
dnsrouter:
image: jc21/dnsrouter
volumes:
- ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro
networks:
- nginx_proxy_manager
2024-10-09 18:05:15 +10:00
swagger:
image: swaggerapi/swagger-ui:latest
container_name: npm_swagger
ports:
- 3082:80
environment:
URL: "http://npm:81/api/schema"
PORT: '80'
depends_on:
2024-10-15 23:54:39 +10:00
- fullstack
2024-10-09 18:05:15 +10:00
2024-10-13 21:54:58 +10:00
squid:
image: ubuntu/squid
container_name: npm_squid
volumes:
- './dev/squid.conf:/etc/squid/squid.conf:ro'
2024-10-16 11:06:29 +10:00
- './dev/resolv.conf:/etc/resolv.conf:ro'
2024-10-13 21:54:58 +10:00
- '/etc/localtime:/etc/localtime:ro'
networks:
- nginx_proxy_manager
ports:
- 8128:3128
2024-10-16 11:06:29 +10:00
pdns:
image: pschiffe/pdns-mysql
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:
nginx_proxy_manager:
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:/var/lib/mysql'
- '/etc/localtime:/etc/localtime:ro'
- './dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro'
networks:
- nginx_proxy_manager
cypress:
image: "npm_dev_cypress"
build:
context: ../
dockerfile: test/cypress/Dockerfile
environment:
HTTP_PROXY: 'squid:3128'
HTTPS_PROXY: 'squid:3128'
volumes:
- '../test/results:/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:
- nginx_proxy_manager
2020-02-19 15:55:06 +11:00
volumes:
npm_data:
2021-05-30 20:04:23 +02:00
name: npm_core_data
2020-02-19 15:55:06 +11:00
le_data:
2021-05-30 20:04:23 +02:00
name: npm_le_data
2020-02-19 15:55:06 +11:00
db_data:
2021-05-30 20:04:23 +02:00
name: npm_db_data
2024-10-16 11:06:29 +10:00
pdns_mysql:
name: npm_pdns_mysql
2020-10-06 15:16:45 +02:00
networks:
nginx_proxy_manager:
2021-05-30 20:04:23 +02:00
name: npm_network