diff --git a/musicbrainz/docker-compose.yml b/musicbrainz/docker-compose.yml new file mode 100644 index 0000000..18ad4ec --- /dev/null +++ b/musicbrainz/docker-compose.yml @@ -0,0 +1,132 @@ +version: '3.1' + +# Description: Default compose file, with host port for musicbrainz + +volumes: + mqdata: + driver: local + pgdata: + driver: local + solrdata: + driver: local + dbdump: + driver: local + searchdump: + driver: local + +services: + db: + build: + context: build/postgres + args: + - POSTGRES_VERSION=${POSTGRES_VERSION:-12} + image: musicbrainz-docker_db:${POSTGRES_VERSION:-12} + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "10" + restart: unless-stopped + command: postgres -c "shared_buffers=2048MB" -c "shared_preload_libraries=pg_amqp.so" + env_file: + - ./default/postgres.env + shm_size: "2GB" + volumes: + - pgdata:/var/lib/postgresql/data + expose: + - "5432" + + musicbrainz: + build: + context: build/musicbrainz + args: + - POSTGRES_VERSION=${POSTGRES_VERSION:-12} + logging: + driver: "json-file" + options: + max-size: "50m" + max-file: "50" + ports: + - "${MUSICBRAINZ_DOCKER_HOST_IPADDRCOL:-}${MUSICBRAINZ_WEB_SERVER_PORT:-5000}:5000" + volumes: + - dbdump:/media/dbdump + - searchdump:/media/searchdump + restart: unless-stopped + env_file: + - ./default/postgres.env + environment: + - MUSICBRAINZ_BASE_FTP_URL=${MUSICBRAINZ_BASE_FTP_URL:-} + - MUSICBRAINZ_BASE_DOWNLOAD_URL=${MUSICBRAINZ_BASE_DOWNLOAD_URL:-https://data.metabrainz.org/pub/musicbrainz} + - MUSICBRAINZ_SERVER_PROCESSES=${MUSICBRAINZ_SERVER_PROCESSES:-10} + - MUSICBRAINZ_USE_PROXY=1 + - MUSICBRAINZ_WEB_SERVER_HOST=${MUSICBRAINZ_WEB_SERVER_HOST:-localhost} + - MUSICBRAINZ_WEB_SERVER_PORT=${MUSICBRAINZ_WEB_SERVER_PORT:-5000} + depends_on: + - db + - mq + - search + - redis + + indexer: + build: build/sir + env_file: + - ./default/postgres.env + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "10" + volumes: + - ${SIR_CONFIG_PATH:-./default/indexer.ini}:/code/config.ini + depends_on: + - db + - mq + - search + + search: + build: + context: build/solr + args: + - MB_SOLR_VERSION=${MB_SOLR_VERSION:-3.4.2} + image: musicbrainz-docker_search:${MB_SOLR_VERSION:-3.4.2} + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "10" + restart: unless-stopped + environment: + - SOLR_HEAP=2g + - LOG4J_FORMAT_MSG_NO_LOOKUPS=true + expose: + - "8983" + volumes: + - solrdata:/opt/solr/server/solr/data + - searchdump:/media/searchdump + + mq: + build: build/rabbitmq + hostname: "mq" + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "10" + restart: unless-stopped + ulimits: + nofile: 65536 + volumes: + - mqdata:/var/lib/rabbitmq + expose: + - "5672" + + redis: + image: redis:3-alpine + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "10" + restart: unless-stopped + expose: + - "6379"