console/integration-tests/docker-compose.yml

514 lines
13 KiB
YAML
Raw Normal View History

2022-05-18 07:26:57 +00:00
version: '3.8'
services:
db:
image: postgres:13.4-alpine
ports:
- 5432:5432
2022-05-18 07:26:57 +00:00
environment:
POSTGRES_DB: registry
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
PGDATA: /var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}']
2022-05-18 07:26:57 +00:00
interval: 5s
timeout: 5s
retries: 6
networks:
- 'stack'
clickhouse:
image: clickhouse/clickhouse-server:22.11-alpine
2022-05-18 07:26:57 +00:00
volumes:
- ./volumes/clickhouse/logs:/var/log/clickhouse-server
- ./volumes/clickhouse/db:/var/lib/clickhouse
2022-05-18 07:26:57 +00:00
- ../packages/services/storage/configs/clickhouse:/etc/clickhouse-server/conf.d
healthcheck:
test: ['CMD', 'wget', '--spider', '-q', 'localhost:8123/ping']
interval: 5s
timeout: 5s
retries: 6
start_period: 10s
environment:
CLICKHOUSE_USER: test
CLICKHOUSE_PASSWORD: test
ports:
- 8123:8123
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
zookeeper:
image: confluentinc/cp-zookeeper:7.3.0
2022-05-18 07:26:57 +00:00
hostname: zookeeper
networks:
- 'stack'
ports:
- 2181:2181
2022-05-18 07:26:57 +00:00
ulimits:
nofile:
soft: 20000
hard: 40000
healthcheck:
test: echo srvr | nc zookeeper 2181 || exit 1
retries: 20
interval: 10s
2022-05-18 07:26:57 +00:00
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
broker:
image: confluentinc/cp-kafka:7.3.0
2022-05-18 07:26:57 +00:00
hostname: borker
depends_on:
zookeeper:
condition: service_started
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
ports:
- 29092:29092
- 9092:9092
2022-05-18 07:26:57 +00:00
ulimits:
nofile:
soft: 20000
hard: 40000
healthcheck:
test:
[
'CMD',
'cub',
'kafka-ready',
'1',
'5',
'-b',
'127.0.0.1:9092',
'-c',
'/etc/kafka/kafka.properties',
]
2022-05-18 07:26:57 +00:00
interval: 15s
timeout: 10s
retries: 6
start_period: 15s
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
redis:
image: bitnami/redis:6.2
networks:
- 'stack'
healthcheck:
test: ['CMD', 'redis-cli', 'ping']
interval: 5s
timeout: 10s
retries: 6
start_period: 5s
ports:
- 6379:6379
2022-05-18 07:26:57 +00:00
environment:
- REDIS_PASSWORD=test
- REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL
supertokens:
2022-11-09 10:07:10 +00:00
image: registry.supertokens.io/supertokens/supertokens-postgresql:4.2
depends_on:
db:
condition: service_healthy
networks:
- 'stack'
ports:
- '3567:3567'
environment:
POSTGRESQL_USER: postgres
POSTGRESQL_PASSWORD: postgres
POSTGRESQL_DATABASE_NAME: registry
POSTGRESQL_TABLE_NAMES_PREFIX: 'supertokens'
POSTGRESQL_HOST: db
POSTGRESQL_PORT: 5432
API_KEYS: bubatzbieber6942096420
ACCESS_TOKEN_BLACKLISTING: 'true'
local_cdn:
image: node:16.13.2-alpine3.14
entrypoint:
- '/bin/sh'
- '/run-local-cdn.sh'
networks:
- 'stack'
healthcheck:
test: ['CMD', 'wget', '--spider', '-q', 'localhost:3004/_readiness']
interval: 5s
timeout: 5s
retries: 6
start_period: 5s
ports:
- 3004:3004
volumes:
- '../packages/services/cdn-worker/dist/dev.js:/cdn.js'
- './run-local-cdn.sh:/run-local-cdn.sh'
environment:
NODE_ENV: production
PORT: 3004
CDN_AUTH_PRIVATE_KEY: 1e1064ef9cda8bf38936b77317e90dc3
2022-11-07 13:27:19 +00:00
local_broker:
image: node:16.13.2-alpine3.14
entrypoint:
- '/bin/sh'
- '/run-local-broker.sh'
networks:
- 'stack'
healthcheck:
test: ['CMD', 'wget', '--spider', '-q', 'localhost:3013/_readiness']
interval: 5s
timeout: 5s
retries: 6
start_period: 5s
ports:
- 3013:3013
volumes:
- '../packages/services/broker-worker/dist/dev.js:/broker.js'
- './run-local-broker.sh:/run-local-broker.sh'
environment:
NODE_ENV: production
PORT: 3013
CF_BROKER_SIGNATURE: secretSignature
external_composition:
2022-05-18 07:26:57 +00:00
image: node:16.13.2-alpine3.14
entrypoint:
- '/bin/sh'
- '/run-external-composition.sh'
networks:
- 'stack'
healthcheck:
test: ['CMD', 'wget', '--spider', '-q', 'localhost:3012/_readiness']
interval: 5s
timeout: 5s
retries: 6
start_period: 5s
ports:
- 3012:3012
volumes:
- '../packages/libraries/external-composition/dist/example.js:/example.mjs'
- './run-external-composition.sh:/run-external-composition.sh'
environment:
NODE_ENV: production
PORT: 3012
SECRET: secretsecret
storage:
image: '${DOCKER_REGISTRY}storage${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
depends_on:
clickhouse:
condition: service_healthy
db:
condition: service_healthy
environment:
MIGRATOR: 'up'
CLICKHOUSE_MIGRATOR: 'up'
feat: clean app env (#422) * feat: document environment variables * more env documentation * wip * add noop for backend env * typo * feat: embed environment validation/parsing in built app * fix the sentry integration 😌 * feat: use env * feat: decode the usage service environment * feat: decode the webhooks service environment * feat: disallow process.env * feat: decode the tokens service environment * feat: decode the stripe-billing service environment * feat: decode server service environment * feat: decode schema service environment * feat: decode rate-limit service environment * feat: decode usage-estimator service environment * feat: decode emails service environment * adjust env * remove commented out code * adjust env variable name * use separate env variables * env fixes * more environmental stuff :) * ... * replace POSTGRES_CONNECTION_STRING with specific environment variables * handle optional clickhouse (for now :) * add missing POSTGRES_DB environment variable * make ENVIRONMENT optional * the other matters lol * feat: support delivering mails via SMTP (#412) * feat: optional CDN (#410) * feat: optional CDN * enable CDN in deployment * enable the CDN in integration tests * add sendmail provider * remove unused env variables from the deployment * only show login alert when legacy auth0 migration is enabled * feat: make TOKENS_ENDPOINT mandatory and RATE_LIMIT_ENDPOINT optional for usage service * feat: upgrade supertokens and enable server side email confirmation (#423) * feat: upgrade supertokens and enable server side email confirmation * feat: opt into required email verification * docs: self hosting (#428) * docs: self-hosting quick start * Update packages/web/docs/pages/self-hosting/get-started.mdx Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * feat: optional GitHub and Slack environment variables (#440) * feat: optional github integration environment variables * feat: optional slack integration (#441) * use latest stable supertokens Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-04 12:30:21 +00:00
POSTGRES_HOST: db
POSTGRES_PORT: 5432
POSTGRES_DB: registry
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
2022-05-18 07:26:57 +00:00
CLICKHOUSE_PROTOCOL: 'http'
CLICKHOUSE_HOST: 'clickhouse'
CLICKHOUSE_PORT: '8123'
CLICKHOUSE_USERNAME: 'test'
CLICKHOUSE_PASSWORD: 'test'
# Tell dockest, we want to wait for the exit code of the migrator to be 0
labels:
dockest.readiness: 'exit_code'
2022-05-18 07:26:57 +00:00
server:
image: '${DOCKER_REGISTRY}server${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
depends_on:
redis:
condition: service_healthy
clickhouse:
condition: service_healthy
storage:
2022-05-18 07:26:57 +00:00
condition: service_completed_successfully
tokens:
condition: service_healthy
webhooks:
condition: service_healthy
emails:
condition: service_healthy
2022-05-18 07:26:57 +00:00
schema:
condition: service_healthy
usage-estimator:
2022-05-18 07:26:57 +00:00
condition: service_healthy
rate-limit:
2022-05-18 07:26:57 +00:00
condition: service_healthy
stripe-billing:
2022-05-18 07:26:57 +00:00
condition: service_healthy
local_cdn:
condition: service_healthy
2022-11-07 13:27:19 +00:00
local_broker:
condition: service_healthy
2022-05-18 07:26:57 +00:00
ports:
- 3001:3001
2022-05-18 07:26:57 +00:00
environment:
NODE_ENV: production
2022-05-18 07:26:57 +00:00
POSTGRES_HOST: db
POSTGRES_PORT: 5432
POSTGRES_DB: registry
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
2022-08-11 08:58:36 +00:00
ROARR_LOG: 'true'
2022-05-18 07:26:57 +00:00
CLICKHOUSE_PROTOCOL: 'http'
CLICKHOUSE_HOST: clickhouse
CLICKHOUSE_PORT: 8123
CLICKHOUSE_USERNAME: test
CLICKHOUSE_PASSWORD: test
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: test
TOKENS_ENDPOINT: http://tokens:3003
WEBHOOKS_ENDPOINT: http://webhooks:3005
SCHEMA_ENDPOINT: http://schema:3002
USAGE_ESTIMATOR_ENDPOINT: http://usage-estimator:3008
RATE_LIMIT_ENDPOINT: http://rate-limit:3009
BILLING_ENDPOINT: http://stripe-billing:3010
EMAILS_ENDPOINT: http://emails:3011
2022-11-07 13:27:19 +00:00
REQUEST_BROKER: '1'
REQUEST_BROKER_SIGNATURE: 'secretSignature'
REQUEST_BROKER_ENDPOINT: 'http://local_broker:3013'
feat: clean app env (#422) * feat: document environment variables * more env documentation * wip * add noop for backend env * typo * feat: embed environment validation/parsing in built app * fix the sentry integration 😌 * feat: use env * feat: decode the usage service environment * feat: decode the webhooks service environment * feat: disallow process.env * feat: decode the tokens service environment * feat: decode the stripe-billing service environment * feat: decode server service environment * feat: decode schema service environment * feat: decode rate-limit service environment * feat: decode usage-estimator service environment * feat: decode emails service environment * adjust env * remove commented out code * adjust env variable name * use separate env variables * env fixes * more environmental stuff :) * ... * replace POSTGRES_CONNECTION_STRING with specific environment variables * handle optional clickhouse (for now :) * add missing POSTGRES_DB environment variable * make ENVIRONMENT optional * the other matters lol * feat: support delivering mails via SMTP (#412) * feat: optional CDN (#410) * feat: optional CDN * enable CDN in deployment * enable the CDN in integration tests * add sendmail provider * remove unused env variables from the deployment * only show login alert when legacy auth0 migration is enabled * feat: make TOKENS_ENDPOINT mandatory and RATE_LIMIT_ENDPOINT optional for usage service * feat: upgrade supertokens and enable server side email confirmation (#423) * feat: upgrade supertokens and enable server side email confirmation * feat: opt into required email verification * docs: self hosting (#428) * docs: self-hosting quick start * Update packages/web/docs/pages/self-hosting/get-started.mdx Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * feat: optional GitHub and Slack environment variables (#440) * feat: optional github integration environment variables * feat: optional slack integration (#441) * use latest stable supertokens Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-04 12:30:21 +00:00
CDN: '1'
CDN_CF_BASE_PATH: http://local_cdn:3004
CDN_CF_ACCOUNT_ID: 103df45224310d669213971ce28b5b70
CDN_CF_AUTH_TOKEN: 85e20c26c03759603c0f45884824a1c3
CDN_CF_NAMESPACE_ID: 33b1e3bbb4a4707d05ea0307cbb55c79
2022-05-18 07:26:57 +00:00
CDN_AUTH_PRIVATE_KEY: 1e1064ef9cda8bf38936b77317e90dc3
CDN_BASE_URL: http://localhost:3004
GITHUB_APP_ID: 123123
GITHUB_APP_PRIVATE_KEY: 5f938d51a065476c4dc1b04aeba13afb
ENCRYPTION_SECRET: 8ebe95cf24c1fbe306e9fa32c8c33148
FEEDBACK_SLACK_TOKEN: ''
FEEDBACK_SLACK_CHANNEL: '#hive'
WEB_APP_URL: https://app.graphql-hive.com
2022-05-18 07:26:57 +00:00
PORT: 3001
FF_CLICKHOUSE_V2_TABLES: ${FF_CLICKHOUSE_V2_TABLES}
feat: replace auth0 with supertokens (#303) * add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 07:38:31 +00:00
SUPERTOKENS_CONNECTION_URI: http://supertokens:3567
SUPERTOKENS_API_KEY: bubatzbieber6942096420
feat: OIDC organisation integration (#524) * feat: support login via okta * add deployment config * feat: automatically start okta login when visiting /auth with okta provider query parameter * remove trailing slash from base url * laurin pls * ... * adjust deployment url * we dont need this * docs: document how to enabled Google and GitHub social login (#511) * docs: document how to enabled Google and GitHub social login * Apply suggestions from code review * Apply suggestions from code review * docs: add Okta instructions * fix typo * add database migration * feat: env decoding * auto generate id * add generates types for the postgres table * implement crud graphql fields for the oidc integration entites * add unique constraint for the oidc domain column * use correct sql query for updating an oidc integration * return organization from deleteOIDCIntegration ok result * add crud forms to the settings page * update integration test fixture value * drop unique constraint for oidc_integrations.domain as this would allow a malicous user to block another account from using a domain * move notice to isolated component * apply url normalization in a central place * implement supertokens provider and overrides for dynamic oidc provider integrations * relocate code to correct files * prettify oidc crud forms * replace Query.isOIDCIntegrationFeatureEnabled with the Organization.viewerCanManageOIDCIntegration field * do not show oidc integrations for personal organizations + disable crud endpoints if the feature is disabled * load oidc integration for the supertokens flow via trpc from the server * prepare encryption secret within constructor * add user to organization upon oidc login * login via oidc does not create a personal organization * redirect oidc user to oidc organization * disallow oidc users to create an organization * disallow oidc accounts joining another organization * add test for updating an oidc integration * enhance ui * add documentation for OIDC SSO * add more tests * import Callout component * update snapshots * rename field User.isLinkedToOIDCIntegration to User.canSwitchOrganization to be more decriptive * add traling new line * gracefully handle unique constraint * upgrade supertokens-auth-react and adjust the code in order to remove the global preApiHook * sync image versions with tests * remove obsolete comment * rename database column * bruv * add test for oidc user deletion
2022-11-03 15:45:17 +00:00
AUTH_ORGANIZATION_OIDC: '1'
2022-05-18 07:26:57 +00:00
schema:
image: '${DOCKER_REGISTRY}schema${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
depends_on:
redis:
condition: service_healthy
ports:
- 3002:3002
2022-05-18 07:26:57 +00:00
environment:
NODE_ENV: production
2022-05-18 07:26:57 +00:00
PORT: 3002
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: test
2022-09-16 11:30:50 +00:00
ENCRYPTION_SECRET: 8ebe95cf24c1fbe306e9fa32c8c33148
2022-05-18 07:26:57 +00:00
tokens:
image: '${DOCKER_REGISTRY}tokens${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
depends_on:
storage:
2022-05-18 07:26:57 +00:00
condition: service_completed_successfully
ports:
- 3003:3003
2022-05-18 07:26:57 +00:00
environment:
NODE_ENV: production
2022-05-18 07:26:57 +00:00
POSTGRES_HOST: db
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_PORT: 5432
POSTGRES_DB: registry
2022-08-11 08:58:36 +00:00
ROARR_LOG: 'true'
2022-05-18 07:26:57 +00:00
PORT: 3003
webhooks:
image: '${DOCKER_REGISTRY}webhooks${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
depends_on:
redis:
condition: service_healthy
2022-11-07 13:27:19 +00:00
local_broker:
condition: service_healthy
2022-05-18 07:26:57 +00:00
ports:
- 3005:3005
2022-05-18 07:26:57 +00:00
environment:
NODE_ENV: production
2022-05-18 07:26:57 +00:00
BULLMQ_COMMANDS_FROM_ROOT: 'true'
PORT: 3005
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: test
2022-11-07 13:27:19 +00:00
REQUEST_BROKER: '1'
REQUEST_BROKER_SIGNATURE: 'secretSignature'
REQUEST_BROKER_ENDPOINT: 'http://local_broker:3013'
2022-05-18 07:26:57 +00:00
emails:
image: '${DOCKER_REGISTRY}emails${DOCKER_TAG}'
networks:
- 'stack'
depends_on:
redis:
condition: service_healthy
ports:
- 3011:3011
environment:
NODE_ENV: production
BULLMQ_COMMANDS_FROM_ROOT: 'true'
PORT: 3011
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: test
EMAIL_PROVIDER: mock
EMAIL_FROM: mock@graphql-hive.com
2022-05-18 07:26:57 +00:00
usage:
image: '${DOCKER_REGISTRY}usage${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
ports:
- '3006:3006'
depends_on:
broker:
condition: service_healthy
rate-limit:
2022-05-18 07:26:57 +00:00
condition: service_healthy
tokens:
condition: service_healthy
environment:
NODE_ENV: production
2022-05-18 07:26:57 +00:00
TOKENS_ENDPOINT: http://tokens:3003
RATE_LIMIT_ENDPOINT: http://rate-limit:3009
2022-05-18 07:26:57 +00:00
KAFKA_CONNECTION_MODE: 'docker'
KAFKA_TOPIC: 'usage_reports_v2'
2022-05-18 07:26:57 +00:00
KAFKA_BROKER: broker:29092
KAFKA_BUFFER_SIZE: 350
KAFKA_BUFFER_INTERVAL: 1000
feat: clean app env (#422) * feat: document environment variables * more env documentation * wip * add noop for backend env * typo * feat: embed environment validation/parsing in built app * fix the sentry integration 😌 * feat: use env * feat: decode the usage service environment * feat: decode the webhooks service environment * feat: disallow process.env * feat: decode the tokens service environment * feat: decode the stripe-billing service environment * feat: decode server service environment * feat: decode schema service environment * feat: decode rate-limit service environment * feat: decode usage-estimator service environment * feat: decode emails service environment * adjust env * remove commented out code * adjust env variable name * use separate env variables * env fixes * more environmental stuff :) * ... * replace POSTGRES_CONNECTION_STRING with specific environment variables * handle optional clickhouse (for now :) * add missing POSTGRES_DB environment variable * make ENVIRONMENT optional * the other matters lol * feat: support delivering mails via SMTP (#412) * feat: optional CDN (#410) * feat: optional CDN * enable CDN in deployment * enable the CDN in integration tests * add sendmail provider * remove unused env variables from the deployment * only show login alert when legacy auth0 migration is enabled * feat: make TOKENS_ENDPOINT mandatory and RATE_LIMIT_ENDPOINT optional for usage service * feat: upgrade supertokens and enable server side email confirmation (#423) * feat: upgrade supertokens and enable server side email confirmation * feat: opt into required email verification * docs: self hosting (#428) * docs: self-hosting quick start * Update packages/web/docs/pages/self-hosting/get-started.mdx Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * feat: optional GitHub and Slack environment variables (#440) * feat: optional github integration environment variables * feat: optional slack integration (#441) * use latest stable supertokens Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-04 12:30:21 +00:00
KAFKA_BUFFER_DYNAMIC: '1'
2022-05-18 07:26:57 +00:00
PORT: 3006
usage-ingestor:
image: '${DOCKER_REGISTRY}usage-ingestor${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
depends_on:
broker:
condition: service_healthy
clickhouse:
condition: service_healthy
ports:
- 3007:3007
2022-05-18 07:26:57 +00:00
environment:
NODE_ENV: production
2022-05-18 07:26:57 +00:00
KAFKA_CONNECTION_MODE: 'docker'
KAFKA_BROKER: broker:29092
feat: clean app env (#422) * feat: document environment variables * more env documentation * wip * add noop for backend env * typo * feat: embed environment validation/parsing in built app * fix the sentry integration 😌 * feat: use env * feat: decode the usage service environment * feat: decode the webhooks service environment * feat: disallow process.env * feat: decode the tokens service environment * feat: decode the stripe-billing service environment * feat: decode server service environment * feat: decode schema service environment * feat: decode rate-limit service environment * feat: decode usage-estimator service environment * feat: decode emails service environment * adjust env * remove commented out code * adjust env variable name * use separate env variables * env fixes * more environmental stuff :) * ... * replace POSTGRES_CONNECTION_STRING with specific environment variables * handle optional clickhouse (for now :) * add missing POSTGRES_DB environment variable * make ENVIRONMENT optional * the other matters lol * feat: support delivering mails via SMTP (#412) * feat: optional CDN (#410) * feat: optional CDN * enable CDN in deployment * enable the CDN in integration tests * add sendmail provider * remove unused env variables from the deployment * only show login alert when legacy auth0 migration is enabled * feat: make TOKENS_ENDPOINT mandatory and RATE_LIMIT_ENDPOINT optional for usage service * feat: upgrade supertokens and enable server side email confirmation (#423) * feat: upgrade supertokens and enable server side email confirmation * feat: opt into required email verification * docs: self hosting (#428) * docs: self-hosting quick start * Update packages/web/docs/pages/self-hosting/get-started.mdx Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * feat: optional GitHub and Slack environment variables (#440) * feat: optional github integration environment variables * feat: optional slack integration (#441) * use latest stable supertokens Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-04 12:30:21 +00:00
KAFKA_CONCURRENCY: '1'
KAFKA_CONSUMER_GROUP: 'usage-ingestor-v2'
KAFKA_TOPIC: 'usage_reports_v2'
2022-05-18 07:26:57 +00:00
CLICKHOUSE_PROTOCOL: 'http'
CLICKHOUSE_HOST: clickhouse
CLICKHOUSE_PORT: 8123
CLICKHOUSE_USERNAME: test
CLICKHOUSE_PASSWORD: test
CLICKHOUSE_ASYNC_INSERT_BUSY_TIMEOUT_MS: 500
CLICKHOUSE_ASYNC_INSERT_MAX_DATA_SIZE: 1000
2022-05-18 07:26:57 +00:00
PORT: 3007
usage-estimator:
image: '${DOCKER_REGISTRY}usage-estimator${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
ports:
- 3008:3008
2022-05-18 07:26:57 +00:00
depends_on:
clickhouse:
condition: service_healthy
storage:
2022-05-18 07:26:57 +00:00
condition: service_completed_successfully
environment:
NODE_ENV: production
2022-08-11 08:58:36 +00:00
ROARR_LOG: 'true'
2022-05-18 07:26:57 +00:00
CLICKHOUSE_PROTOCOL: 'http'
CLICKHOUSE_HOST: 'clickhouse'
CLICKHOUSE_PORT: '8123'
CLICKHOUSE_USERNAME: 'test'
CLICKHOUSE_PASSWORD: 'test'
PORT: 3008
FF_CLICKHOUSE_V2_TABLES: ${FF_CLICKHOUSE_V2_TABLES}
2022-05-18 07:26:57 +00:00
rate-limit:
image: '${DOCKER_REGISTRY}rate-limit${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
ports:
- 3009:3009
2022-05-18 07:26:57 +00:00
depends_on:
clickhouse:
condition: service_healthy
storage:
2022-05-18 07:26:57 +00:00
condition: service_completed_successfully
usage-estimator:
2022-05-18 07:26:57 +00:00
condition: service_healthy
emails:
condition: service_healthy
2022-05-18 07:26:57 +00:00
environment:
NODE_ENV: production
LIMIT_CACHE_UPDATE_INTERVAL_MS: 2000
feat: clean app env (#422) * feat: document environment variables * more env documentation * wip * add noop for backend env * typo * feat: embed environment validation/parsing in built app * fix the sentry integration 😌 * feat: use env * feat: decode the usage service environment * feat: decode the webhooks service environment * feat: disallow process.env * feat: decode the tokens service environment * feat: decode the stripe-billing service environment * feat: decode server service environment * feat: decode schema service environment * feat: decode rate-limit service environment * feat: decode usage-estimator service environment * feat: decode emails service environment * adjust env * remove commented out code * adjust env variable name * use separate env variables * env fixes * more environmental stuff :) * ... * replace POSTGRES_CONNECTION_STRING with specific environment variables * handle optional clickhouse (for now :) * add missing POSTGRES_DB environment variable * make ENVIRONMENT optional * the other matters lol * feat: support delivering mails via SMTP (#412) * feat: optional CDN (#410) * feat: optional CDN * enable CDN in deployment * enable the CDN in integration tests * add sendmail provider * remove unused env variables from the deployment * only show login alert when legacy auth0 migration is enabled * feat: make TOKENS_ENDPOINT mandatory and RATE_LIMIT_ENDPOINT optional for usage service * feat: upgrade supertokens and enable server side email confirmation (#423) * feat: upgrade supertokens and enable server side email confirmation * feat: opt into required email verification * docs: self hosting (#428) * docs: self-hosting quick start * Update packages/web/docs/pages/self-hosting/get-started.mdx Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * feat: optional GitHub and Slack environment variables (#440) * feat: optional github integration environment variables * feat: optional slack integration (#441) * use latest stable supertokens Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-04 12:30:21 +00:00
POSTGRES_HOST: db
POSTGRES_PORT: 5432
POSTGRES_DB: registry
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
USAGE_ESTIMATOR_ENDPOINT: http://usage-estimator:3008
EMAILS_ENDPOINT: http://emails:3011
2022-08-11 08:58:36 +00:00
ROARR_LOG: 'true'
2022-05-18 07:26:57 +00:00
PORT: 3009
stripe-billing:
image: '${DOCKER_REGISTRY}stripe-billing${DOCKER_TAG}'
2022-05-18 07:26:57 +00:00
networks:
- 'stack'
ports:
- 3010:3010
2022-05-18 07:26:57 +00:00
depends_on:
clickhouse:
condition: service_healthy
storage:
2022-05-18 07:26:57 +00:00
condition: service_completed_successfully
usage-estimator:
2022-05-18 07:26:57 +00:00
condition: service_healthy
environment:
NODE_ENV: production
2022-05-18 07:26:57 +00:00
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}
feat: clean app env (#422) * feat: document environment variables * more env documentation * wip * add noop for backend env * typo * feat: embed environment validation/parsing in built app * fix the sentry integration 😌 * feat: use env * feat: decode the usage service environment * feat: decode the webhooks service environment * feat: disallow process.env * feat: decode the tokens service environment * feat: decode the stripe-billing service environment * feat: decode server service environment * feat: decode schema service environment * feat: decode rate-limit service environment * feat: decode usage-estimator service environment * feat: decode emails service environment * adjust env * remove commented out code * adjust env variable name * use separate env variables * env fixes * more environmental stuff :) * ... * replace POSTGRES_CONNECTION_STRING with specific environment variables * handle optional clickhouse (for now :) * add missing POSTGRES_DB environment variable * make ENVIRONMENT optional * the other matters lol * feat: support delivering mails via SMTP (#412) * feat: optional CDN (#410) * feat: optional CDN * enable CDN in deployment * enable the CDN in integration tests * add sendmail provider * remove unused env variables from the deployment * only show login alert when legacy auth0 migration is enabled * feat: make TOKENS_ENDPOINT mandatory and RATE_LIMIT_ENDPOINT optional for usage service * feat: upgrade supertokens and enable server side email confirmation (#423) * feat: upgrade supertokens and enable server side email confirmation * feat: opt into required email verification * docs: self hosting (#428) * docs: self-hosting quick start * Update packages/web/docs/pages/self-hosting/get-started.mdx Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * feat: optional GitHub and Slack environment variables (#440) * feat: optional github integration environment variables * feat: optional slack integration (#441) * use latest stable supertokens Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-04 12:30:21 +00:00
POSTGRES_HOST: db
POSTGRES_PORT: 5432
POSTGRES_DB: registry
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
2022-08-11 08:58:36 +00:00
ROARR_LOG: 'true'
USAGE_ESTIMATOR_ENDPOINT: http://usage-estimator:3008
2022-05-18 07:26:57 +00:00
PORT: 3010
networks:
stack: {}