2023-07-11 21:31:38 +00:00
|
|
|
version: '3.7'
|
|
|
|
|
2023-07-12 08:29:36 +00:00
|
|
|
x-common-variables: &common-variables
|
2023-09-20 08:51:32 +00:00
|
|
|
HOST: ${HOST}
|
2023-09-29 11:24:45 +00:00
|
|
|
|
|
|
|
HTTP_PROTOCOL: ${HTTP_PROTOCOL}
|
|
|
|
|
2023-12-30 12:17:51 +00:00
|
|
|
OTEL_COLLECTOR_HOST: ${OTEL_COLLECTOR_HOST}
|
|
|
|
|
2023-07-15 10:28:50 +00:00
|
|
|
NODE_ENV: ${ENVIRONMENT}
|
|
|
|
BILLING_ENABLED: ${BILLING_ENABLED}
|
|
|
|
BILLING_PUBLIC_KEY: ${BILLING_PUBLIC_KEY}
|
|
|
|
SUBSCRIPTION_PLAN_BASIC: ${SUBSCRIPTION_PLAN_BASIC}
|
|
|
|
SUBSCRIPTION_PLAN_GROWTH: ${SUBSCRIPTION_PLAN_GROWTH}
|
|
|
|
SUBSCRIPTION_PLAN_SCALE: ${SUBSCRIPTION_PLAN_SCALE}
|
|
|
|
SUBSCRIPTION_PLAN_ENTERPRISE: ${SUBSCRIPTION_PLAN_ENTERPRISE}
|
2023-07-15 10:32:30 +00:00
|
|
|
ANALYTICS_KEY: ${ANALYTICS_KEY}
|
|
|
|
ANALYTICS_HOST: ${ANALYTICS_HOST}
|
2023-07-12 08:29:36 +00:00
|
|
|
|
2023-09-27 15:46:38 +00:00
|
|
|
SERVER_ACCOUNTS_HOSTNAME: accounts
|
|
|
|
SERVER_REALTIME_HOSTNAME: realtime
|
2023-12-28 16:56:05 +00:00
|
|
|
SERVER_APP_HOSTNAME: app
|
2023-09-27 15:46:38 +00:00
|
|
|
SERVER_ALERT_HOSTNAME: alert
|
2023-10-09 17:54:23 +00:00
|
|
|
SERVER_INGESTOR_HOSTNAME: ingestor
|
2023-09-27 15:46:38 +00:00
|
|
|
SERVER_TEST_SERVER_HOSTNAME: test-server
|
|
|
|
SERVER_STATUS_PAGE_HOSTNAME: status-page
|
|
|
|
SERVER_DASHBOARD_HOSTNAME: dashboard
|
|
|
|
SERVER_ADMIN_DASHBOARD_HOSTNAME: admin-dashboard
|
2023-12-30 12:12:24 +00:00
|
|
|
SERVER_OTEL_COLLECTOR_HOSTNAME: otel-collector
|
2023-09-27 15:46:38 +00:00
|
|
|
|
|
|
|
#Ports. Usually they don't need to change.
|
2023-12-28 16:56:05 +00:00
|
|
|
APP_PORT: ${APP_PORT}
|
2023-10-09 17:54:23 +00:00
|
|
|
INGESTOR_PORT: ${INGESTOR_PORT}
|
2023-09-27 15:46:38 +00:00
|
|
|
PROBE_PORT: ${PROBE_PORT}
|
|
|
|
TEST_SERVER_PORT: ${TEST_SERVER_PORT}
|
|
|
|
ACCOUNTS_PORT: ${ACCOUNTS_PORT}
|
|
|
|
STATUS_PAGE_PORT: ${STATUS_PAGE_PORT}
|
|
|
|
DASHBOARD_PORT: ${DASHBOARD_PORT}
|
|
|
|
ADMIN_DASHBOARD_PORT: ${ADMIN_DASHBOARD_PORT}
|
|
|
|
|
2023-07-12 08:29:36 +00:00
|
|
|
x-common-ui-variables: &common-ui-variables
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-variables
|
2023-12-08 15:06:16 +00:00
|
|
|
IS_SERVER: "false"
|
2023-07-15 10:28:50 +00:00
|
|
|
STATUS_PAGE_CNAME_RECORD: ${STATUS_PAGE_CNAME_RECORD}
|
2023-07-17 12:08:02 +00:00
|
|
|
|
2023-07-12 08:29:36 +00:00
|
|
|
x-common-server-variables: &common-server-variables
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-variables
|
2023-07-15 10:28:50 +00:00
|
|
|
ONEUPTIME_SECRET: ${ONEUPTIME_SECRET}
|
|
|
|
|
|
|
|
DATABASE_PORT: ${DATABASE_PORT}
|
|
|
|
DATABASE_USERNAME: ${DATABASE_USERNAME}
|
|
|
|
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
|
|
|
|
DATABASE_NAME: ${DATABASE_NAME}
|
|
|
|
DATABASE_HOST: ${DATABASE_HOST}
|
2023-07-30 13:28:27 +00:00
|
|
|
DATABASE_SSL_CA: ${DATABASE_SSL_CA}
|
|
|
|
DATABASE_SSL_KEY: ${DATABASE_SSL_KEY}
|
|
|
|
DATABASE_SSL_CERT: ${DATABASE_SSL_CERT}
|
|
|
|
DATABASE_SSL_REJECT_UNAUTHORIZED: ${DATABASE_SSL_REJECT_UNAUTHORIZED}
|
2023-07-15 10:28:50 +00:00
|
|
|
|
2023-08-02 13:29:31 +00:00
|
|
|
REDIS_USERNAME: ${REDIS_USERNAME}
|
2023-07-15 10:28:50 +00:00
|
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
|
|
|
REDIS_HOST: ${REDIS_HOST}
|
|
|
|
REDIS_PORT: ${REDIS_PORT}
|
2023-08-02 13:29:31 +00:00
|
|
|
REDIS_DB: ${REDIS_DB}
|
|
|
|
REDIS_TLS_CA: ${REDIS_TLS_CA}
|
|
|
|
REDIS_TLS_SENTINEL_MODE: ${REDIS_TLS_SENTINEL_MODE}
|
2023-07-15 10:28:50 +00:00
|
|
|
|
|
|
|
ENCRYPTION_SECRET: ${ENCRYPTION_SECRET}
|
|
|
|
|
|
|
|
BILLING_PRIVATE_KEY: ${BILLING_PRIVATE_KEY}
|
|
|
|
BILLING_PUBLIC_KEY: ${BILLING_PUBLIC_KEY}
|
|
|
|
BILLING_ENABLED: ${BILLING_ENABLED}
|
|
|
|
|
2023-08-22 08:37:39 +00:00
|
|
|
CLICKHOUSE_USER: ${CLICKHOUSE_USER}
|
|
|
|
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
|
|
|
|
CLICKHOUSE_DATABASE: ${CLICKHOUSE_DATABASE}
|
|
|
|
CLICKHOUSE_HOST: ${CLICKHOUSE_HOST}
|
|
|
|
CLICKHOUSE_PORT: ${CLICKHOUSE_PORT}
|
|
|
|
|
2023-12-08 15:06:16 +00:00
|
|
|
IS_SERVER: "true"
|
2023-07-15 10:28:50 +00:00
|
|
|
|
2023-08-06 19:00:46 +00:00
|
|
|
DISABLE_AUTOMATIC_INCIDENT_CREATION: ${DISABLE_AUTOMATIC_INCIDENT_CREATION}
|
|
|
|
|
2023-07-12 08:29:36 +00:00
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
services:
|
2023-08-01 15:41:21 +00:00
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
haraka:
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
image: oneuptime/haraka:${APP_TAG}
|
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-09-25 11:12:22 +00:00
|
|
|
SMTP_USERNAME: oneuptime
|
2023-07-17 12:28:29 +00:00
|
|
|
SMTP_PASSWORD: ${INTERNAL_SMTP_PASSWORD}
|
2023-09-25 11:12:22 +00:00
|
|
|
DKIM_SELECTOR: oneuptime
|
2023-08-15 20:59:44 +00:00
|
|
|
DOMAIN: ${INTERNAL_SMTP_SENDING_DOMAIN}
|
2023-08-15 14:11:36 +00:00
|
|
|
DKIM_PRIVATE_KEY: ${INTERNAL_SMTP_DKIM_PRIVATE_KEY_AS_BASE64}
|
|
|
|
DKIM_PUBLIC_KEY: ${INTERNAL_SMTP_DKIM_PUBLIC_KEY_AS_BASE64}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-08-15 14:11:36 +00:00
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
redis:
|
2023-08-04 19:51:53 +00:00
|
|
|
image: redis:7.0.12
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-11-03 17:35:13 +00:00
|
|
|
command: redis-server --requirepass "${REDIS_PASSWORD}" --save "" --appendonly no
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
clickhouse:
|
2023-08-04 19:52:00 +00:00
|
|
|
image: clickhouse/clickhouse-server:23.7
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
CLICKHOUSE_USER: ${CLICKHOUSE_USER}
|
|
|
|
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
|
|
|
|
CLICKHOUSE_DB: ${CLICKHOUSE_DATABASE}
|
|
|
|
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
volumes:
|
|
|
|
- clickhouse:/var/lib/clickhouse/
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
postgres:
|
2023-09-20 08:51:32 +00:00
|
|
|
image: postgres:15
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
POSTGRES_USER: ${DATABASE_USERNAME}
|
|
|
|
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
|
|
|
|
POSTGRES_DB: ${DATABASE_NAME}
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
volumes:
|
|
|
|
- postgres:/var/lib/postgresql/data
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
accounts:
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-ui-variables
|
|
|
|
PORT: ${ACCOUNTS_PORT}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
|
2023-08-25 14:51:26 +00:00
|
|
|
admin-dashboard:
|
|
|
|
networks:
|
|
|
|
- oneuptime
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
<<: *common-ui-variables
|
|
|
|
PORT: ${ADMIN_DASHBOARD_PORT}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-08-25 14:51:26 +00:00
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
dashboard:
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-ui-variables
|
|
|
|
PORT: ${DASHBOARD_PORT}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
status-page:
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-ui-variables
|
|
|
|
PORT: ${STATUS_PAGE_PORT}
|
2023-07-11 21:31:38 +00:00
|
|
|
depends_on:
|
|
|
|
- accounts
|
2023-12-28 15:54:27 +00:00
|
|
|
- app
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2023-08-02 17:26:56 +00:00
|
|
|
test-server:
|
|
|
|
networks:
|
|
|
|
- oneuptime
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
<<: *common-server-variables
|
|
|
|
PORT: ${TEST_SERVER_PORT}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-08-02 17:26:56 +00:00
|
|
|
|
|
|
|
|
2023-12-28 15:54:27 +00:00
|
|
|
app:
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-server-variables
|
2023-12-28 16:56:05 +00:00
|
|
|
PORT: ${APP_PORT}
|
2023-12-25 13:27:28 +00:00
|
|
|
SMS_DEFAULT_COST_IN_CENTS: ${SMS_DEFAULT_COST_IN_CENTS}
|
|
|
|
CALL_DEFAULT_COST_IN_CENTS_PER_MINUTE: ${CALL_DEFAULT_COST_IN_CENTS_PER_MINUTE}
|
|
|
|
SMS_HIGH_RISK_COST_IN_CENTS: ${SMS_HIGH_RISK_COST_IN_CENTS}
|
|
|
|
CALL_HIGH_RISK_COST_IN_CENTS_PER_MINUTE: ${CALL_HIGH_RISK_COST_IN_CENTS_PER_MINUTE}
|
|
|
|
INTERNAL_SMTP_EMAIL: ${INTERNAL_SMTP_EMAIL}
|
2023-12-27 10:52:07 +00:00
|
|
|
INTERNAL_SMTP_FROM_NAME: ${INTERNAL_SMTP_FROM_NAME}
|
2023-12-25 13:27:28 +00:00
|
|
|
INTERNAL_SMTP_PASSWORD: ${INTERNAL_SMTP_PASSWORD}
|
2023-07-11 21:31:38 +00:00
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- postgres
|
|
|
|
links:
|
|
|
|
- redis
|
|
|
|
- postgres
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-12-25 13:09:41 +00:00
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
|
2023-07-19 11:59:10 +00:00
|
|
|
probe-1:
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-server-variables
|
|
|
|
PORT: ${PROBE_PORT}
|
2023-07-19 11:59:10 +00:00
|
|
|
PROBE_NAME: ${GLOBAL_PROBE_1_NAME}
|
|
|
|
PROBE_DESCRIPTION: ${GLOBAL_PROBE_1_DESCRIPTION}
|
2023-08-06 20:54:12 +00:00
|
|
|
PROBE_MONITORING_WORKERS: ${GLOBAL_PROBE_1_MONITORING_WORKERS}
|
2023-07-19 11:59:10 +00:00
|
|
|
PROBE_KEY: ${GLOBAL_PROBE_1_KEY}
|
2023-10-09 17:54:23 +00:00
|
|
|
INGESTOR_URL: http://${INGESTOR_HOSTNAME}
|
2023-08-07 14:22:45 +00:00
|
|
|
PROBE_MONITOR_FETCH_LIMIT: ${GLOBAL_PROBE_1_MONITOR_FETCH_LIMIT}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-19 11:59:10 +00:00
|
|
|
|
|
|
|
probe-2:
|
|
|
|
networks:
|
|
|
|
- oneuptime
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
<<: *common-server-variables
|
|
|
|
PORT: ${PROBE_PORT}
|
|
|
|
PROBE_NAME: ${GLOBAL_PROBE_2_NAME}
|
|
|
|
PROBE_DESCRIPTION: ${GLOBAL_PROBE_2_DESCRIPTION}
|
2023-08-06 20:54:12 +00:00
|
|
|
PROBE_MONITORING_WORKERS: ${GLOBAL_PROBE_2_MONITORING_WORKERS}
|
2023-07-19 11:59:10 +00:00
|
|
|
PROBE_KEY: ${GLOBAL_PROBE_2_KEY}
|
2023-10-09 17:54:23 +00:00
|
|
|
INGESTOR_URL: http://${INGESTOR_HOSTNAME}
|
2023-08-07 14:22:45 +00:00
|
|
|
PROBE_MONITOR_FETCH_LIMIT: ${GLOBAL_PROBE_2_MONITOR_FETCH_LIMIT}
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
2023-10-09 18:18:46 +00:00
|
|
|
|
|
|
|
otel-collector:
|
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-12-30 21:51:44 +00:00
|
|
|
environment:
|
|
|
|
<<: *common-variables
|
2023-10-09 18:18:46 +00:00
|
|
|
restart: always
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-07-11 21:31:38 +00:00
|
|
|
|
2023-10-09 17:54:23 +00:00
|
|
|
ingestor:
|
2023-07-17 19:39:38 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-15 10:28:50 +00:00
|
|
|
environment:
|
2023-07-17 12:28:29 +00:00
|
|
|
<<: *common-server-variables
|
2023-10-09 17:54:23 +00:00
|
|
|
PORT: ${INGESTOR_PORT}
|
2023-07-11 21:31:38 +00:00
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- postgres
|
2023-12-25 13:09:41 +00:00
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
links:
|
|
|
|
- redis
|
|
|
|
- postgres
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
2023-12-25 13:09:41 +00:00
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2023-09-13 07:00:24 +00:00
|
|
|
ingress:
|
2023-07-11 21:31:38 +00:00
|
|
|
depends_on:
|
|
|
|
- accounts
|
2023-12-28 15:54:27 +00:00
|
|
|
- app
|
2023-07-11 21:31:38 +00:00
|
|
|
- dashboard
|
2023-10-16 10:04:47 +00:00
|
|
|
- otel-collector
|
2023-07-11 21:31:38 +00:00
|
|
|
restart: always
|
2023-07-19 13:25:00 +00:00
|
|
|
networks:
|
|
|
|
- oneuptime
|
2023-07-17 18:56:14 +00:00
|
|
|
environment:
|
2024-01-29 07:23:24 +00:00
|
|
|
<<: *common-server-variables
|
2023-07-11 21:31:38 +00:00
|
|
|
ports:
|
2023-08-22 17:44:35 +00:00
|
|
|
- '${ONEUPTIME_HTTP_PORT}:80'
|
|
|
|
- '${ONEUPTIME_HTTPS_PORT}:443'
|
2024-01-25 06:50:45 +00:00
|
|
|
logging:
|
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "1000m"
|
|
|
|
|
|
|
|
|
2023-07-11 21:31:38 +00:00
|
|
|
volumes:
|
|
|
|
postgres:
|
2023-07-17 19:39:38 +00:00
|
|
|
clickhouse:
|
|
|
|
|
|
|
|
networks:
|
|
|
|
oneuptime:
|
|
|
|
driver: bridge
|