Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 38 additions & 3 deletions on-prem/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,16 @@
# Docker Compose Configuration
# =============================================================================
# These variables are used by docker-compose only (not passed to containers)
# DC_IMAGE_REPOSITORY=513558712013.dkr.ecr.us-east-1.amazonaws.com/currents/on-prem/
# DC_IMAGE_TAG=staging
# Currents application images
# DC_CURRENTS_IMAGE_REPOSITORY=513558712013.dkr.ecr.us-east-1.amazonaws.com/currents/on-prem/
# DC_CURRENTS_IMAGE_TAG=staging
#
# Infrastructure service images (full image reference)
# DC_MONGODB_IMAGE=mongo:8.2.3
# DC_REDIS_IMAGE=redis/redis-stack-server:7.4.0-v8
# DC_CLICKHOUSE_IMAGE=clickhouse/clickhouse-server:25.8
# DC_RUSTFS_IMAGE=rustfs/rustfs:1.0.0-alpha.79
# DC_AWS_CLI_IMAGE=amazon/aws-cli:latest

# =============================================================================
# Data Volume Configuration
Expand All @@ -22,6 +30,33 @@
# DC_RUSTFS_VOLUME=./data/rustfs
# DC_SCHEDULER_STARTUP_VOLUME=./data/startup

# =============================================================================
# Port Configuration
# =============================================================================
# Configure host ports for services. Format: [host_ip:]port
# Currents services default to all interfaces, databases default to localhost only
#
# DC_DIRECTOR_PORT=1234 # Director API (default: all interfaces)
# DC_API_PORT=4000 # Dashboard/API (default: all interfaces)
# DC_MONGODB_PORT=127.0.0.1:27017 # MongoDB (default: localhost only)
# DC_REDIS_PORT=127.0.0.1:6379 # Redis (default: localhost only)
# DC_CLICKHOUSE_HTTP_PORT=127.0.0.1:8123 # ClickHouse HTTP (default: localhost only)
# DC_CLICKHOUSE_TCP_PORT=127.0.0.1:9123 # ClickHouse TCP (default: localhost only)
# DC_RUSTFS_S3_PORT=9000 # RustFS S3 API (default: all interfaces)
# DC_RUSTFS_CONSOLE_PORT=9001 # RustFS Console (default: all interfaces)

# =============================================================================
# URL Configuration
# =============================================================================
# Base URLs for the application
APP_BASE_URL=http://localhost:4000
CURRENTS_RECORD_API_URL=http://localhost:1234

# Derived URLs (built from base URLs)
API_URL=${APP_BASE_URL}/v1
DASHBOARD_URL=${APP_BASE_URL}
AUTOMATED_REPORTS_CURRENTS_DASHBOARD_HOSTNAME=${APP_BASE_URL}

# =============================================================================
# Redis Configuration
# =============================================================================
Expand Down Expand Up @@ -77,7 +112,7 @@ JWT_SECRET_EXPIRY=10m
# =============================================================================
# GitLab Integration
# =============================================================================
GITLAB_REDIRECT_URL=http://localhost:4000/integrations/gitlab/callback
GITLAB_REDIRECT_URL=${APP_BASE_URL}/integrations/gitlab/callback
# Run `./scripts/generate-secrets key gitlab-key.pem`
# Then `base64 < "gitlab-key.pem" | tr -d '\n'` to get the base64 secret to set here
GITLAB_STATE_SECRET=
Expand Down
30 changes: 10 additions & 20 deletions on-prem/docker-compose.cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,25 @@ services:
# Currents services depend on redis
director:
hostname: director
image: ${DC_IMAGE_REPOSITORY:-currents-}director:${DC_IMAGE_TAG:-dev}
expose:
- 1234
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}director:${DC_CURRENTS_IMAGE_TAG:-dev}
ports:
- 1234:1234
- ${DC_DIRECTOR_PORT:-1234}:1234
restart: unless-stopped
env_file:
- .env
networks:
- default
environment:
- CURRENTS_ENV=onprem
- API_URL="http://localhost:4000/v1"
- APP_BASE_URL=http://localhost:4000
depends_on:
redis:
condition: service_started
required: false
api:
hostname: api
image: ${DC_IMAGE_REPOSITORY:-currents-}api:${DC_IMAGE_TAG:-dev}
expose:
- 4000
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}api:${DC_CURRENTS_IMAGE_TAG:-dev}
ports:
- 4000:4000
- ${DC_API_PORT:-4000}:4000
restart: unless-stopped
networks:
- default
Expand All @@ -45,14 +39,12 @@ services:
- CURRENTS_ENV=onprem
- INCLUDE_DASHBOARD=onprem
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_CURRENTS_PASSWORD}
- AUTOMATED_REPORTS_CURRENTS_DASHBOARD_HOSTNAME=http://host.docker.internal:4000
- CURRENTS_RECORD_API_URL=http://localhost:1234
depends_on:
redis:
condition: service_started
required: false
changestreams-worker:
image: ${DC_IMAGE_REPOSITORY:-currents-}change-streams:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}change-streams:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
Expand All @@ -66,22 +58,21 @@ services:
condition: service_started
required: false
write-worker:
image: ${DC_IMAGE_REPOSITORY:-currents-}writer:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}writer:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
env_file:
- .env
environment:
- CURRENTS_ENV=onprem
- AUTOMATED_REPORTS_CURRENTS_DASHBOARD_HOSTNAME=http://host.docker.internal:4000
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_CURRENTS_PASSWORD}
depends_on:
redis:
condition: service_started
required: false
scheduler:
image: ${DC_IMAGE_REPOSITORY:-currents-}scheduler:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}scheduler:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
Expand All @@ -98,24 +89,23 @@ services:
condition: service_started
required: false
webhooks:
image: ${DC_IMAGE_REPOSITORY:-currents-}webhooks:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}webhooks:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
env_file:
- .env
environment:
- CURRENTS_ENV=onprem
- DASHBOARD_URL=http://localhost:4000
depends_on:
redis:
condition: service_started
required: false
redis:
hostname: redis
image: redis/redis-stack-server:7.4.0-v8
image: ${DC_REDIS_IMAGE:-redis/redis-stack-server:7.4.0-v8}
ports:
- 6379:6379
- ${DC_REDIS_PORT:-127.0.0.1:6379}:6379
restart: unless-stopped
networks:
- default
Expand Down
42 changes: 15 additions & 27 deletions on-prem/docker-compose.database.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,16 @@ services:
# Currents services depend on redis
director:
hostname: director
image: ${DC_IMAGE_REPOSITORY:-currents-}director:${DC_IMAGE_TAG:-dev}
expose:
- 1234
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}director:${DC_CURRENTS_IMAGE_TAG:-dev}
ports:
- 1234:1234
- ${DC_DIRECTOR_PORT:-1234}:1234
restart: unless-stopped
env_file:
- .env
networks:
- default
environment:
- CURRENTS_ENV=onprem
- API_URL="http://localhost:4000/v1"
- APP_BASE_URL=http://localhost:4000
depends_on:
clickhouse:
condition: service_healthy
Expand All @@ -37,11 +33,9 @@ services:
required: false
api:
hostname: api
image: ${DC_IMAGE_REPOSITORY:-currents-}api:${DC_IMAGE_TAG:-dev}
expose:
- 4000
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}api:${DC_CURRENTS_IMAGE_TAG:-dev}
ports:
- 4000:4000
- ${DC_API_PORT:-4000}:4000
restart: unless-stopped
networks:
- default
Expand All @@ -51,8 +45,6 @@ services:
- CURRENTS_ENV=onprem
- INCLUDE_DASHBOARD=onprem
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_CURRENTS_PASSWORD}
- AUTOMATED_REPORTS_CURRENTS_DASHBOARD_HOSTNAME=http://host.docker.internal:4000
- CURRENTS_RECORD_API_URL=http://localhost:1234
depends_on:
clickhouse:
condition: service_healthy
Expand All @@ -64,7 +56,7 @@ services:
condition: service_started
required: false
changestreams-worker:
image: ${DC_IMAGE_REPOSITORY:-currents-}change-streams:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}change-streams:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
Expand All @@ -84,15 +76,14 @@ services:
condition: service_started
required: false
write-worker:
image: ${DC_IMAGE_REPOSITORY:-currents-}writer:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}writer:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
env_file:
- .env
environment:
- CURRENTS_ENV=onprem
- AUTOMATED_REPORTS_CURRENTS_DASHBOARD_HOSTNAME=http://host.docker.internal:4000
- CLICKHOUSE_PASSWORD=${CLICKHOUSE_CURRENTS_PASSWORD}
depends_on:
clickhouse:
Expand All @@ -105,7 +96,7 @@ services:
condition: service_started
required: false
scheduler:
image: ${DC_IMAGE_REPOSITORY:-currents-}scheduler:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}scheduler:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
Expand All @@ -128,15 +119,14 @@ services:
condition: service_started
required: false
webhooks:
image: ${DC_IMAGE_REPOSITORY:-currents-}webhooks:${DC_IMAGE_TAG:-dev}
image: ${DC_CURRENTS_IMAGE_REPOSITORY:-currents-}webhooks:${DC_CURRENTS_IMAGE_TAG:-dev}
restart: unless-stopped
networks:
- default
env_file:
- .env
environment:
- CURRENTS_ENV=onprem
- DASHBOARD_URL=http://localhost:4000
depends_on:
clickhouse:
condition: service_healthy
Expand All @@ -149,7 +139,7 @@ services:
required: false
clickhouse:
hostname: clickhouse
image: clickhouse/clickhouse-server:25.8
image: ${DC_CLICKHOUSE_IMAGE:-clickhouse/clickhouse-server:25.8}
restart: unless-stopped
environment:
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: '1'
Expand All @@ -163,8 +153,8 @@ services:
env_file:
- .env
ports:
- 8123:8123 # HTTP Interface
- 9123:9000 # TCP Interface
- ${DC_CLICKHOUSE_HTTP_PORT:-127.0.0.1:8123}:8123 # HTTP Interface
- ${DC_CLICKHOUSE_TCP_PORT:-127.0.0.1:9123}:9000 # TCP Interface
networks:
- default
configs:
Expand All @@ -174,11 +164,9 @@ services:
- ${DC_CLICKHOUSE_VOLUME:-./data/clickhouse}:/var/lib/clickhouse
mongodb:
hostname: mongodb
image: mongo:8.2.3
expose:
- 27017
image: ${DC_MONGODB_IMAGE:-mongo:8.2.3}
ports:
- 27017:27017
- ${DC_MONGODB_PORT:-127.0.0.1:27017}:27017
restart: unless-stopped
entrypoint:
- bash
Expand Down Expand Up @@ -232,9 +220,9 @@ services:
- ${DC_MONGODB_VOLUME:-./data/mongodb}:/data/db
redis:
hostname: redis
image: redis/redis-stack-server:7.4.0-v8
image: ${DC_REDIS_IMAGE:-redis/redis-stack-server:7.4.0-v8}
ports:
- 6379:6379
- ${DC_REDIS_PORT:-127.0.0.1:6379}:6379
restart: unless-stopped
networks:
- default
Expand Down
Loading