weathermen/soundstorm

View on GitHub
docker-compose.yml

Summary

Maintainability
Test Coverage
#
# Base services configuration for Soundstorm. This describes the bare
# minimum containers that are used to construct any Soundstorm
# environment.
#

version: '3'
services:
  # PostgreSQL is the primary persistent data store for the application.
  db:
    image: postgres:11
    volumes:
      - postgresql:/var/lib/postgresql/data

  # Elasticsearch is used as a global search index
  search:
    image: elasticsearch:7.5.1
    volumes:
      - elasticsearch:/usr/share/elasticsearch/data
    environment:
      - discovery.type=single-node

  # The "majestic monolith" that powers Soundstorm, a Rails application
  # serving HTML (for the most part) and containing all of the logic
  # needed to run a Soundstorm instance.
  web:
    command: bin/rails server -p 3000 -b '0.0.0.0'
    depends_on:
      - db
      - search
    volumes:
      - bundle:/usr/local/bundle/
      - yarn:/usr/src/app/node_modules
      - yarn_cache:/root/.yarn
    environment:
      - SOUNDSTORM_HOST
      - EDITOR=vi

volumes:
  postgresql:
  elasticsearch:
  bundle:
  yarn:
  yarn_cache: