-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathcompose.hetzner.yml
More file actions
40 lines (36 loc) · 1.21 KB
/
Copy pathcompose.hetzner.yml
File metadata and controls
40 lines (36 loc) · 1.21 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
name: cloudpebble
# Production compose file for the Hetzner emulator box (qemu.repebble.com).
# Runs ONLY the stateless satellite services: qemu (emulator controller),
# ycmd (code completion proxy), and nginx (routing + ci.repebble.com).
# The full CloudPebble app (web, celery, postgres, redis, s3) lives elsewhere
# and talks to this box via /qemu/launch and /ycmd/spinup.
# Local development uses docker-compose.yml, not this file.
services:
nginx:
image: ${NGINX_IMAGE:-nginx:alpine}
restart: unless-stopped
ports:
# Production origin port — Cloudflare connects on 80.
- "${NGINX_PORT:-80}:80"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./nginx/nginx.hetzner.conf:/etc/nginx/nginx.conf:ro
depends_on:
- qemu
- ycmd
qemu:
build:
context: cloudpebble-qemu-controller/
args:
PEBBLE_SDK_VERSION: ${PEBBLE_SDK_VERSION}
restart: unless-stopped
environment:
- EMULATOR_FIXED_LIMIT=${EMULATOR_FIXED_LIMIT:-90}
ycmd:
build:
context: cloudpebble-ycmd-proxy/
args:
PEBBLE_SDK_VERSION: ${PEBBLE_SDK_VERSION}
NODE_VERSION: ${NODE_VERSION_YCMD:-16.20.2}
restart: unless-stopped