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

129 lines
3.3 KiB
YAML
Raw Normal View History

# WARNING: This is a DEVELOPMENT docker-compose file used for development of the entire app, it should not be used for production.
version: '3.8'
services:
npm:
image: nginxproxymanager:dev
container_name: 'npm.dev'
build:
2023-02-25 12:52:42 +00:00
context: ../
dockerfile: ./docker/dev/Dockerfile
args:
GOPROXY: "${GOPROXY:-}"
GOPRIVATE: "${GOPRIVATE:-}"
ports:
- 3080:80
- 3081:81
- 3443:443
environment:
#DEBUG: 'true'
DEVELOPMENT: 'true'
GOPROXY: "${GOPROXY:-}"
GOPRIVATE: "${GOPRIVATE:-}"
2023-02-25 12:52:42 +00:00
YARN_REGISTRY: "${YARN_REGISTRY:-}"
NPM_LOG_LEVEL: 'debug'
PUID: 1000
PGID: 1000
volumes:
- /etc/localtime:/etc/localtime:ro
- ../:/app
- ./rootfs/var/www/html:/var/www/html
- ./dev/resolv.conf:/etc/resolv.conf:ro
2023-02-25 12:52:42 +00:00
- npm_data_vol:/data
working_dir: /app
networks:
default:
aliases:
- website1.internal
- website2.internal
- website3.internal
2023-02-25 12:52:42 +00:00
restart: unless-stopped
2023-02-25 12:52:42 +00:00
npm-stepca:
image: jc21/testca
2023-02-25 12:52:42 +00:00
container_name: "npm.stepca"
volumes:
- ./dev/resolv.conf:/etc/resolv.conf:ro
networks:
default:
aliases:
- ca.internal
npm-pebble:
image: letsencrypt/pebble
2023-02-25 12:52:42 +00:00
container_name: "npm.pebble"
command: pebble -config /test/config/pebble-config.json
environment:
PEBBLE_VA_SLEEPTIME: 2
volumes:
- ./dev/pebble-config.json:/test/config/pebble-config.json
- ./dev/resolv.conf:/etc/resolv.conf:ro
networks:
default:
aliases:
# required for https cert dns san
- pebble
2023-02-25 12:52:42 +00:00
npm-swagger:
image: swaggerapi/swagger-ui:latest
container_name: "npm.swagger"
ports:
- 3001:80
environment:
URL: "http://${SWAGGER_PUBLIC_DOMAIN:-127.0.0.1:3081}/api/schema"
PORT: '80'
depends_on:
- npm
2023-02-25 12:52:42 +00:00
npm-pdns:
image: pschiffe/pdns-mysql
2023-02-25 12:52:42 +00:00
container_name: "npm.pdns"
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'
2023-02-25 12:52:42 +00:00
PDNS_gmysql_host: npm-pdns-db
PDNS_gmysql_port: 3306
PDNS_gmysql_user: pdns
PDNS_gmysql_password: pdns
PDNS_gmysql_dbname: pdns
depends_on:
2023-02-25 12:52:42 +00:00
- npm-pdns-db
2020-10-06 13:16:45 +00:00
networks:
default:
aliases:
- ns1.pdns
- ns2.pdns
2023-02-25 12:52:42 +00:00
npm-pdns-db:
image: mariadb:10.7.1
2023-02-25 12:52:42 +00:00
container_name: "npm.pdns.db"
environment:
MYSQL_ROOT_PASSWORD: 'pdns'
MYSQL_DATABASE: 'pdns'
MYSQL_USER: 'pdns'
MYSQL_PASSWORD: 'pdns'
volumes:
2023-02-25 12:52:42 +00:00
- npm_pdns_mysql_vol:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
2023-02-25 15:17:34 +00:00
- './dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro'
2023-02-25 12:52:42 +00:00
npm-dnsrouter:
image: jc21/dnsrouter
2023-02-25 12:52:42 +00:00
container_name: "npm.dnsrouter"
volumes:
- ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro
volumes:
2023-02-25 12:52:42 +00:00
npm_data_vol:
npm_pdns_mysql_vol: