From 54f5a44a60bde302464108a6116e4b3eaf61fef4 Mon Sep 17 00:00:00 2001 From: Joseph Ho Date: Mon, 24 Mar 2025 10:00:42 -0400 Subject: [PATCH] devContainer: Use Redis for ActiveJob and ActionCable. (#2017) * devContainer: Use Redis for ActiveJob and ActionCable * devContainer: Simplify environment variables for services. * devContainer: Remove version field as it's no longer required in Compose. --- .devcontainer/docker-compose.yml | 38 ++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 165d3e21..cf22c08a 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,4 +1,15 @@ -version: "3" +x-db-env: &db_env + POSTGRES_USER: postgres + POSTGRES_DB: postgres + POSTGRES_PASSWORD: postgres + +x-rails-env: &rails_env + DB_HOST: db + HOST: "0.0.0.0" + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + BUNDLE_PATH: /bundle + REDIS_URL: redis://redis:6379/1 services: app: @@ -16,32 +27,41 @@ services: command: sleep infinity environment: - DB_HOST: db - HOST: "0.0.0.0" - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - BUNDLE_PATH: /bundle + <<: *rails_env depends_on: - db - redis + worker: + build: + context: .. + dockerfile: .devcontainer/Dockerfile + command: bundle exec sidekiq + restart: unless-stopped + environment: + <<: *rails_env + depends_on: + - redis + redis: image: redis:latest ports: - "6379:6379" + restart: unless-stopped + volumes: + - redis-data:/data db: image: postgres:latest restart: unless-stopped volumes: - postgres-data:/var/lib/postgresql/data environment: - POSTGRES_USER: postgres - POSTGRES_DB: postgres - POSTGRES_PASSWORD: postgres + <<: *db_env ports: - "5432:5432" volumes: postgres-data: + redis-data: bundle_cache: