2024-05-21 02:53:07 +00:00
|
|
|
# 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
|
2020-02-19 04:55:06 +00:00
|
|
|
services:
|
|
|
|
|
2024-05-21 02:53:07 +00:00
|
|
|
fullstack:
|
|
|
|
image: "${IMAGE}:${BRANCH_LOWER}-ci-${BUILD_NUMBER}"
|
2020-02-19 04:55:06 +00:00
|
|
|
environment:
|
2023-03-21 06:56:45 +00:00
|
|
|
DEBUG: 'true'
|
2020-11-07 12:24:01 +00:00
|
|
|
FORCE_COLOR: 1
|
2020-02-19 04:55:06 +00:00
|
|
|
volumes:
|
2024-05-21 02:53:07 +00:00
|
|
|
- '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'
|
2021-08-22 23:28:59 +00:00
|
|
|
healthcheck:
|
2024-01-09 23:32:12 +00:00
|
|
|
test: ["CMD", "/usr/bin/check-health"]
|
2021-08-22 23:28:59 +00:00
|
|
|
interval: 10s
|
|
|
|
timeout: 3s
|
2024-05-21 02:53:07 +00:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
aliases:
|
|
|
|
- website1.example.com
|
|
|
|
- website2.example.com
|
|
|
|
- website3.example.com
|
2020-02-19 04:55:06 +00:00
|
|
|
|
2024-05-21 02:53:07 +00:00
|
|
|
stepca:
|
|
|
|
image: jc21/testca
|
2020-08-05 22:58:20 +00:00
|
|
|
volumes:
|
2024-05-21 02:53:07 +00:00
|
|
|
- './dev/resolv.conf:/etc/resolv.conf:ro'
|
|
|
|
- '/etc/localtime:/etc/localtime:ro'
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
aliases:
|
|
|
|
- ca.internal
|
2020-08-05 22:58:20 +00:00
|
|
|
|
2024-05-21 02:53:07 +00:00
|
|
|
pdns:
|
|
|
|
image: pschiffe/pdns-mysql
|
2020-02-19 04:55:06 +00:00
|
|
|
volumes:
|
2024-05-21 02:53:07 +00:00
|
|
|
- '/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:
|
|
|
|
default:
|
|
|
|
aliases:
|
|
|
|
- ns1.pdns
|
|
|
|
- ns2.pdns
|
2020-02-19 04:55:06 +00:00
|
|
|
|
2024-05-21 02:53:07 +00:00
|
|
|
pdns-db:
|
|
|
|
image: mariadb
|
2020-02-19 04:55:06 +00:00
|
|
|
environment:
|
2024-05-21 02:53:07 +00:00
|
|
|
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'
|
|
|
|
|
|
|
|
dnsrouter:
|
|
|
|
image: jc21/dnsrouter
|
2020-08-06 01:26:37 +00:00
|
|
|
volumes:
|
2024-05-21 02:53:07 +00:00
|
|
|
- ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro
|
2020-08-06 01:26:37 +00:00
|
|
|
|
2024-05-21 02:53:07 +00:00
|
|
|
cypress:
|
2023-03-21 06:56:45 +00:00
|
|
|
image: "${IMAGE}-cypress:ci-${BUILD_NUMBER}"
|
2020-08-06 01:26:37 +00:00
|
|
|
build:
|
2024-05-21 02:53:07 +00:00
|
|
|
context: ../
|
|
|
|
dockerfile: test/cypress/Dockerfile
|
2020-08-06 01:26:37 +00:00
|
|
|
environment:
|
2024-05-21 02:53:07 +00:00
|
|
|
CYPRESS_baseUrl: 'http://fullstack:81'
|
2020-02-19 04:55:06 +00:00
|
|
|
volumes:
|
2024-05-21 02:53:07 +00:00
|
|
|
- 'cypress_logs:/results'
|
|
|
|
- './dev/resolv.conf:/etc/resolv.conf:ro'
|
|
|
|
command: cypress run --browser chrome --config-file=cypress/config/ci.js
|
2020-02-19 04:55:06 +00:00
|
|
|
|
|
|
|
volumes:
|
2024-05-21 02:53:07 +00:00
|
|
|
cypress_logs:
|
|
|
|
npm_data_ci:
|
|
|
|
npm_le_ci:
|
|
|
|
pdns_mysql_vol:
|