From e9628f529d62939d3a238e21f3028b811383fd51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivar=20Conradi=20=C3=98sthus?= Date: Tue, 22 Apr 2025 12:02:51 +0200 Subject: [PATCH] fix: add docker compose file for enterprise (#9809) Make it easy to start with unleash-enterprise: ```docker compose -f docker-compose-enterprise.yml up``` --- docker-compose-enterprise.yml | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 docker-compose-enterprise.yml diff --git a/docker-compose-enterprise.yml b/docker-compose-enterprise.yml new file mode 100644 index 0000000000..6085fd89ba --- /dev/null +++ b/docker-compose-enterprise.yml @@ -0,0 +1,68 @@ +# 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-enterprise: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 + 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