# 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: 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:-}" 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 - npm_data_vol:/data working_dir: /app networks: default: aliases: - website1.internal - website2.internal - website3.internal restart: unless-stopped npm-stepca: image: jc21/testca container_name: "npm.stepca" volumes: - ./dev/resolv.conf:/etc/resolv.conf:ro networks: default: aliases: - ca.internal npm-pebble: image: letsencrypt/pebble 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 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 npm-pdns: image: pschiffe/pdns-mysql 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' PDNS_gmysql_host: npm-pdns-db PDNS_gmysql_port: 3306 PDNS_gmysql_user: pdns PDNS_gmysql_password: pdns PDNS_gmysql_dbname: pdns depends_on: - npm-pdns-db networks: default: aliases: - ns1.pdns - ns2.pdns npm-pdns-db: image: mariadb:10.7.1 container_name: "npm.pdns.db" environment: MYSQL_ROOT_PASSWORD: 'pdns' MYSQL_DATABASE: 'pdns' MYSQL_USER: 'pdns' MYSQL_PASSWORD: 'pdns' volumes: - npm_pdns_mysql_vol:/var/lib/mysql - /etc/localtime:/etc/localtime:ro - './dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro' npm-dnsrouter: image: jc21/dnsrouter container_name: "npm.dnsrouter" volumes: - ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro volumes: npm_data_vol: npm_pdns_mysql_vol: