Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
74 lines (72 loc) · 3.02 KB
/
Copy pathdocker-compose.yml
File metadata and controls
74 lines (72 loc) · 3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
services:
## Backend API
backend:
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- "8080:8080"
- 9229:9229
command: node --inspect=0.0.0.0 --import ./out/src/telemetry.js ./out/src/index.js
environment:
HOSTING_DOMAIN: 'http://localhost:8080'
PORT: 8080
SERVER_PRIVATE_KEY: "${SERVER_PRIVATE_KEY:?Set SERVER_PRIVATE_KEY to a dedicated local-only key}"
MESSAGE_BOX_CORS_MODE: ${MESSAGE_BOX_CORS_MODE:-}
MESSAGE_BOX_CORS_ALLOWED_ORIGINS: ${MESSAGE_BOX_CORS_ALLOWED_ORIGINS:-}
MESSAGE_BOX_CORS_ALLOWED_HEADERS: ${MESSAGE_BOX_CORS_ALLOWED_HEADERS:-}
MESSAGE_BOX_CORS_EXPOSED_HEADERS: ${MESSAGE_BOX_CORS_EXPOSED_HEADERS:-}
MESSAGE_BOX_CONTENT_SECURITY_POLICY: ${MESSAGE_BOX_CONTENT_SECURITY_POLICY:-}
MESSAGE_BOX_CROSS_ORIGIN_RESOURCE_POLICY: ${MESSAGE_BOX_CROSS_ORIGIN_RESOURCE_POLICY:-}
MESSAGE_BOX_CROSS_ORIGIN_OPENER_POLICY: ${MESSAGE_BOX_CROSS_ORIGIN_OPENER_POLICY:-}
MESSAGE_BOX_FRAME_OPTIONS: ${MESSAGE_BOX_FRAME_OPTIONS:-}
MESSAGE_BOX_PERMISSIONS_POLICY: ${MESSAGE_BOX_PERMISSIONS_POLICY:-}
MESSAGE_BOX_STRICT_TRANSPORT_SECURITY: ${MESSAGE_BOX_STRICT_TRANSPORT_SECURITY:-}
KNEX_DB_CLIENT: mysql
KNEX_DB_CONNECTION: '{"port":3306,"host":"backend-mysql","user":"root","password":"test","database":"messagebox-backend"}'
NODE_ENV: development
WALLET_STORAGE_URL: 'https://storage.babbage.systems'
# OpenTelemetry — point at any OTLP/HTTP collector. Unset => console exporters.
OTEL_EXPORTER_OTLP_ENDPOINT: ${OTEL_EXPORTER_OTLP_ENDPOINT:-}
OTEL_CONSOLE_EXPORTERS: ${OTEL_CONSOLE_EXPORTERS:-false}
OTEL_EXPORTER_OTLP_HEADERS: ${OTEL_EXPORTER_OTLP_HEADERS:-}
OTEL_SERVICE_NAME: ${OTEL_SERVICE_NAME:-message-box-server}
OTEL_RESOURCE_ATTRIBUTES: ${OTEL_RESOURCE_ATTRIBUTES:-}
DEPLOY_ENV: ${DEPLOY_ENV:-development}
depends_on:
backend-mysql:
condition: service_healthy
## Backend database
backend-mysql:
image: "mysql:8.0.46@sha256:7dcddc01f13bab2f15cde676d44d01f61fc9f99fe7785e86196dfc07d358ae2b"
platform: linux/amd64
hostname: 'backend-mysql'
command: 'mysqld --default-authentication-plugin=mysql_native_password --sync_binlog=0 --innodb_doublewrite=OFF --innodb-flush-log-at-trx-commit=0 --innodb-flush-method=nosync'
restart: always
volumes:
- './data/backend-mysql-data:/var/lib/mysql'
environment:
MYSQL_HOST: "127.0.0.1"
MYSQL_TCP_PORT: 3306
MYSQL_ROOT_PASSWORD: "test"
MYSQL_DATABASE: "messagebox-backend"
ports:
- "3306:3306"
healthcheck:
test: ["CMD-SHELL", 'mysqladmin ping']
interval: 10s
timeout: 2s
retries: 10
# Optional: PHPMyAdmin for DB browsing
phpmyadmin:
image: phpmyadmin/phpmyadmin:5.2.3@sha256:42a200db07b4e70fbf32c594ad4521cf16399b8e54bbb5adceae98e7566dfbeb
links:
- backend-mysql
environment:
PMA_HOST: backend-mysql
PMA_PORT: 3306
PMA_ARBITRARY: 1
restart: always
ports:
- 3003:80