-
-
Notifications
You must be signed in to change notification settings - Fork 721
/
docker-compose.yml
69 lines (67 loc) · 2.25 KB
/
docker-compose.yml
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
# This docker compose setup configures:
# - the Unleash server instance + the necessary backing Postgres database
# - the Unleash proxy
#
# To learn more about all the parts of Unleash, visit
# https://docs.getunleash.io
#
# NOTE: please do not use this configuration for production setups.
# Unleash does not take responsibility for any data leaks or other
# problems that may arise as a result.
#
# This is intended to be used for demo, development, and learning
# purposes only.
version: "3.9"
services:
# The Unleash server contains the Unleash configuration and
# communicates with server-side SDKs and the Unleash Proxy
web:
image: unleashorg/unleash-server:latest
ports:
- "4242:4242"
environment:
# This points Unleash to its backing database (defined in the `db` section below)
DATABASE_URL: "postgres://postgres:unleash@db/db"
# Disable SSL for database connections. @chriswk: why do we do this?
DATABASE_SSL: "false"
# Changing log levels:
LOG_LEVEL: "warn"
# Proxy clients must use one of these keys to connect to the
# Proxy. To add more keys, separate them with a comma (`key1,key2`).
INIT_FRONTEND_API_TOKENS: "default:development.unleash-insecure-frontend-api-token"
# Initialize Unleash with a default set of client API tokens. To
# initialize Unleash with multiple tokens, separate them with a
# comma (`token1,token2`).
INIT_CLIENT_API_TOKENS: "default:development.unleash-insecure-api-token"
depends_on:
db:
condition: service_healthy
command: [ "node", "index.js" ]
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:4242/health || exit 1
interval: 1s
timeout: 1m
retries: 5
start_period: 15s
db:
expose:
- "5432"
image: postgres:15
environment:
# create a database called `db`
POSTGRES_DB: "db"
# trust incoming connections blindly (DON'T DO THIS IN PRODUCTION!)
POSTGRES_HOST_AUTH_METHOD: "trust"
healthcheck:
test:
[
"CMD",
"pg_isready",
"--username=postgres",
"--host=127.0.0.1",
"--port=5432"
]
interval: 2s
timeout: 1m
retries: 5
start_period: 10s