# 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/postgres" # 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 volumes: - ./scripts:/scripts command: ["/scripts/wait-for", "db:5432", "--", "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