Add docker-compose configuration for MusicBrainz service

This commit is contained in:
2025-11-21 19:15:11 -05:00
parent ad259218ae
commit b4430bd468

View File

@@ -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"