version: "3.7"

# 👉 BLOG
# https://docs.apimaker.dev/v1/docs/blog/MongoDB_6_Start_database_with_single_replica.html

services:
    mongodb_api_maker:
        image: mongo:6.0.2
        container_name: mongodb_api_maker
        restart: always
        environment: # Not working without username and pass. So keep it.
            - MONGO_INITDB_ROOT_USERNAME=mongo_user # 👈 MongoDB User __mongo_user__
            - MONGO_INITDB_ROOT_PASSWORD=SLUFZ5ufe_hAzyRd3aLA # ✅ # 👈 MongoDB Password __mongo_pass__
            - MONGO_REPLICA_SET_NAME=rs0
        volumes:
            - ~/docker-data/mongodb_api_maker/data:/data/db  # 👈 DATA directory path
            - ./keyfile:/opt/keyfile
        ports:
            - 38248:27017 # 👈 38248 = mongodb port __mongo_port__
        entrypoint:
            - bash
            - -c
            - |
                chmod 400 /opt/keyfile
                chown 999:999 /opt/keyfile
                exec docker-entrypoint.sh $$@
        command: "mongod --bind_ip_all --keyFile /opt/keyfile --replSet rs0 --quiet"
        logging:
            driver: "json-file"
            options:
                max-size: "5m"
                max-file: "3"

