docker-compose.yml
#
# 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: