version: "2.4"

services:
    musictopus-www:
        container_name: musictopus-www
        image: "node:18"
        restart: always
        user: "node"
        working_dir: /home/node/app
        command: >
            bash -c "
            yarn install &&
            yarn watch"
        volumes:
            - ./:/home/node/app
            - /home/node/node_modules
        ports:
            - 3001:3001
        depends_on:
            - musictopus-db
        environment:
            NODE_ENV: ${NODE_ENV}
            PORT: ${PORT}
            MONGODB_URI: ${MONGODB_URI}
            SECRET: ${SECRET}
            DISCOGS_TOKEN: ${DISCOGS_TOKEN}
            FORMSPREE_ID: ${FORMSPREE_ID}
            MATOMO_URL: ${MATOMO_URL}
            MATOMO_ID: ${MATOMO_ID}
            SITE_NAME: ${SITE_NAME}
            AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
            AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
            S3_BASEFOLDER: ${S3_BASEFOLDER}
            S3_BUCKET: ${S3_BUCKET}
            S3_ENDPOINT: ${S3_ENDPOINT}
            S3_SIGNATURE: ${S3_SIGNATURE}
            JOBS_HEADER_KEY: ${JOBS_HEADER_KEY}
            JOBS_HEADER_VALUE: ${JOBS_HEADER_VALUE}
            REGISTRATION_OPEN: ${REGISTRATION_OPEN}
            MAIL_METHOD: ${MAIL_METHOD}
            MAIL_HOST: ${MAIL_HOST}
            MAIL_PORT: ${MAIL_PORT}
            MAIL_USER: ${MAIL_USER}
            MAIL_PASSWORD: ${MAIL_PASSWORD}
            MAIL_TO: ${MAIL_TO}
        networks:
            - musictopus
    musictopus-db:
        container_name: musictopus-db
        image: mongo:4.4
        restart: always
        ports:
            - 27617:27017
        networks:
            - musictopus
        volumes:
            - ./dump:/dump
            - ./data:/data/db

networks:
    musictopus:
        driver: bridge