OfficeMomsandDads/scheduler

View on GitHub
docker-compose.yml

Summary

Maintainability
Test Coverage
version: "3.0"

services:
  rails:
    build:
      context: ./docker/ruby
      args:
        - RUBY_VERSION=3.0.5
        - NODE_VERSION=18
        - INSTALL_PG_CLIENT=true
        - UID=${UID:-1000}
        - GID=${GID:-1000}
    volumes:
      - .:/workspaces/scheduler
      - gems:/gems
      - node_modules:/workspaces/scheduler/node_modules
      - packs:/workspaces/scheduler/public/packs
      - rails_cache:/workspaces/scheduler/tmp/cache
    tmpfs:
      - /tmp
    user: ruby
    tty: true
    stdin_open: true
    depends_on:
      - postgres
      - redis
    command: bundle exec rails server -p 3000 -b '0.0.0.0'
    ports:
      - "3000:3000"
      - "1080:1080"
      - "43447:43447"
    entrypoint: /workspaces/scheduler/docker/rails-entrypoint
    environment:
      - WEB_CONCURRENCY=1
      - WEBPACKER_DEV_SERVER_HOST=webpacker
      - SEED_ADMIN_EMAIL=${SEED_ADMIN_EMAIL}
      - SEED_ADMIN_PASSWORD=${SEED_ADMIN_PASSWORD}
      - SELENIUM_REMOTE_HOST=selenium
      - BOOTSNAP_CACHE_DIR=/gems/bootsnap
  webpacker:
    build:
      context: ./docker/ruby
      args:
        - RUBY_VERSION=3.0.5
        - NODE_VERSION=18
        - INSTALL_PG_CLIENT=true
        - UID=${UID:-1000}
        - GID=${GID:-1000}
    volumes:
      - .:/workspaces/scheduler
      - gems:/gems
      - node_modules:/workspaces/scheduler/node_modules
      - packs:/workspaces/scheduler/public/packs
      - rails_cache:/workspaces/scheduler/tmp/cache
    tmpfs:
      - /tmp
    user: ruby
    tty: true
    stdin_open: true
    depends_on:
      - postgres
      - redis
    command: ./bin/webpack-dev-server
    ports:
      - "3035:3035"
    entrypoint: /workspaces/scheduler/docker/webpack-entrypoint
  sidekiq:
    build:
      context: ./docker/ruby
      args:
        - RUBY_VERSION=3.0.5
        - NODE_VERSION=18
        - INSTALL_PG_CLIENT=true
        - UID=${UID:-1000}
        - GID=${GID:-1000}
    volumes:
      - .:/workspaces/scheduler
      - gems:/gems
      - node_modules:/workspaces/scheduler/node_modules
      - packs:/workspaces/scheduler/public/packs
      - rails_cache:/workspaces/scheduler/tmp/cache
    tmpfs:
      - /tmp
    user: ruby
    tty: true
    stdin_open: true
    depends_on:
      - postgres
      - redis
    command: bundle exec sidekiq
    entrypoint: /workspaces/scheduler/docker/sidekiq-entrypoint
    environment:
      - BOOTSNAP_CACHE_DIR=/gems/bootsnap
  selenium:
    image: selenium/standalone-chrome
  postgres:
    image: postgres:15.2
    volumes:
      - postgres-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_HOST_AUTH_METHOD=trust
  redis:
    build:
      context: ./docker/redis
      args:
        - REDIS_VERSION=5.0
    volumes:
      - redis:/data

volumes:
  postgres-data:
  gems:
  redis:
  node_modules:
  packs:
  rails_cache: