| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- # WARNING: This is a DEVELOPMENT docker-compose file used for development of the entire app, it should not be used for production.
- 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:4.8
- 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:
|