Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
89 lines (83 loc) · 2.79 KB
/
Copy pathdocker-compose.yml
File metadata and controls
89 lines (83 loc) · 2.79 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
# NodePit Runner — Docker Compose file
#
# Four services: api, web, executor and mongodb. Works out of the box with
# `docker compose up -d` — no editing required.
#
# All secrets and settings below have working defaults baked in via
# `${VAR:-default}`. To change one (e.g. the shared API key), place a `.env`
# file next to this one and set the variable there — see `.env.example`.
#
# Want HTTPS, automatic updates, backups, or a Docker management UI? See the
# `extensions/` directory and the README.
#
# Docs:
# Installation https://docs.nodepit.com/runner/installation
# Configuration https://docs.nodepit.com/runner/configuration
# - public URL, HTTPS/reverse proxy setup
# - rotating the MongoDB password
# - executor resource limits, name and tags
# Full reference https://docs.nodepit.com/runner
x-logging:
&default-logging
driver: json-file
options:
max-size: '100m'
max-file: '5'
services:
api:
image: ghcr.io/nodepit/runner-api:1
restart: unless-stopped
volumes:
- api-data:/nodepit
environment:
# ⚠️ Public default — override in .env before production.
DB_URL: mongodb://${MONGO_ROOT_USERNAME:-root}:${MONGO_ROOT_PASSWORD:-drnFEtX_PWKizUzKr3KT}@mongodb/nodepit-runner?authSource=admin
# Shared secret with API_KEY on the executor service below.
# ⚠️ Public default — override in .env before production.
API_KEY: ${API_KEY:-nYCA3oaqhYJ__GEteWye}
# The URL Runner is reachable at. Change for anything beyond local use.
WEB_BASE_URL: ${WEB_BASE_URL:-http://localhost:8080}
depends_on:
- mongodb
logging: *default-logging
web:
image: ghcr.io/nodepit/runner-web:1
restart: unless-stopped
ports:
- 8080:80
environment:
API_BASE_URL: http://api:3000
depends_on:
- api
logging: *default-logging
executor:
image: ghcr.io/nodepit/runner-executor:1
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- executor-data:/opt/data
environment:
API_BASE_URL: http://api:3000
# Shared secret with API_KEY on the api service above.
API_KEY: ${API_KEY:-nYCA3oaqhYJ__GEteWye}
depends_on:
- api
deploy:
# Number of executors to start.
replicas: 1
logging: *default-logging
mongodb:
image: mongo:7.0.37
restart: unless-stopped
volumes:
- mongodb-data:/data/db
environment:
# Only used when initializing a new database — see docs to change it later.
# ⚠️ Public default — override in .env before production.
MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USERNAME:-root}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD:-drnFEtX_PWKizUzKr3KT}
logging: *default-logging
volumes:
api-data:
executor-data:
mongodb-data: