Repository navigation
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
109 lines (105 loc) · 3.58 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
109 lines (105 loc) · 3.58 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
services:
compdf-infra:
image: ${COMPDF_INFRA_IMAGE:-compdfkit/compdf-infra:1.0.0}
platform: ${COMPDF_IMAGE_PLATFORM:-linux/amd64}
security_opt:
- seccomp:unconfined
environment:
RUSTFS_ACCESS_KEY: compdfkit-ak
RUSTFS_SECRET_KEY: compdfkit-sk-2026
ports:
- "13306:3306"
- "16379:6379"
mem_limit: 3g
restart: unless-stopped
networks:
- compdf-internal
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u compdfkit -pcompdfkit-pass-2026 --silent && redis-cli ping | grep -q PONG && curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:9000/ | grep -qE '^[2-4]'"]
interval: 15s
timeout: 10s
retries: 5
start_period: 120s
compdf-app:
image: ${COMPDF_APP_IMAGE:-compdfkit/compdf-app:1.0.0}
platform: ${COMPDF_IMAGE_PLATFORM:-linux/amd64}
depends_on:
compdf-infra:
condition: service_healthy
environment:
- REDIS_URL=redis://compdf-infra:6379/0
- MYSQL_HOST=compdf-infra
- S3_ENDPOINT=http://compdf-infra:9000
- COMPDF_LICENSE_KEY=${COMPDF_LICENSE_KEY:-}
- COMPDFKIT_LICENSE=${COMPDF_LICENSE_KEY:-}
ports:
- "7000:7000"
- "7001:7001"
- "9903:9903"
volumes:
- ./fonts/windows:/opt/compdf_sdk/fonts/windows:ro
- ./configs/app-license:/opt/compdf_sdk/license:ro
- compdf_output:/tmp/compdf_output
- compdf_pdf_data:/data
restart: unless-stopped
mem_limit: 16g
networks:
- compdf-internal
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:7000/health',timeout=3).status==200 else 1)"]
interval: 30s
timeout: 5s
retries: 3
start_period: 120s
compdf-server:
image: ${COMPDF_SERVER_DEV_IMAGE:-compdfkit/compdf-server-dev:1.1.0-local}
build:
context: .
dockerfile: Dockerfile
target: development
ports:
- "8080:8080"
depends_on:
compdf-infra:
condition: service_healthy
compdf-app:
condition: service_healthy
networks:
- compdf-internal
environment:
- COMPDF_VERSION=${COMPDF_VERSION:-1.1.0}
- COMPDF_DB_SCHEMA_VERSION=${COMPDF_DB_SCHEMA_VERSION:-1.1.0}
- COMPDF_UPDATE_BASE_URL=${COMPDF_UPDATE_BASE_URL:-https://raw.githubusercontent.com/ComPDFKit/compdf-self-hosted/updates/}
- COMPDF_UPDATE_CHANNEL=${COMPDF_UPDATE_CHANNEL:-stable}
- API_KEY=${API_KEY:-}
- CORS_ORIGINS=${CORS_ORIGINS:-*}
- PDF_SDK_BASE_URL=${PDF_SDK_BASE_URL:-http://compdf-app:7001}
- CONVERSION_BASE_URL=${CONVERSION_BASE_URL:-http://compdf-app:7000}
- MCP_ENABLED=${MCP_ENABLED:-true}
- MCP_PUBLIC_URL=${MCP_PUBLIC_URL:-http://localhost:8080/mcp}
- MCP_ALLOWED_HOSTS=${MCP_ALLOWED_HOSTS:-}
- MCP_ALLOWED_ORIGINS=${MCP_ALLOWED_ORIGINS:-}
- MCP_MAX_INLINE_FILE_BYTES=${MCP_MAX_INLINE_FILE_BYTES:-4194304}
volumes:
- ./server:/app
- ./configs:/app/configs
- ./migrations:/app/release/migrations:ro
- server-node-modules:/app/node_modules
- ./server-storage:/app/storage
command:
- sh
- -c
- >-
lock_hash=$$(sha256sum package-lock.json | cut -d ' ' -f1);
marker=node_modules/.compdf-package-lock;
if [ ! -f "$$marker" ] || [ "$$(cat "$$marker")" != "$$lock_hash" ]; then
npm ci && printf '%s' "$$lock_hash" > "$$marker";
fi;
npm run init:db:dev && npm run start:dev
volumes:
compdf_output:
compdf_pdf_data:
server-node-modules:
networks:
compdf-internal:
driver: bridge