services:
    mongo:
        container_name: yourspotify_mongo
        environment:
            - PUID=1000
            - PGID=1000
        image: mongo:4.4.8
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.50
        restart: always
        volumes:
            - data:/data/db
            - configdata:/data/configdb

    server:
        container_name: yourspotify_server
        depends_on: 
            - mongo
        env_file:
            - .env
        image: yooooomi/your_spotify_server
        labels:
            traefik.docker.network: traefik
            traefik.enable: true
            traefik.http.routers.yourspotifyserver.entrypoints: websecure
            traefik.http.routers.yourspotifyserver.rule: Host(`yourspotifyapi.alexlebens.net`)
            traefik.http.routers.yourspotifyserver.service: yourspotifyserver
            traefik.http.services.yourspotifyserver.loadbalancer.server.port: 8080
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.51
        restart: always

    web:
        container_name: yourspotify_web
        environment:
            API_ENDPOINT: https://yourspotifyapi.alexlebens.net
        image: yooooomi/your_spotify_client
        labels:
            traefik.docker.network: traefik
            traefik.enable: true
            traefik.http.routers.yourspotify.entrypoints: websecure
            traefik.http.routers.yourspotify.rule: Host(`yourspotify.alexlebens.net`)
            traefik.http.routers.yourspotify.service: yourspotify
            traefik.http.services.yourspotify.loadbalancer.server.port: 3000
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.52
        restart: unless-stopped

networks:
    traefik:
        name: traefik
        external: true

volumes:
    data:
        driver: local
        driver_opts:
            type: none
            o: bind
            device: /var/lib/docker/volumes/partition/yourspotify_data

    configdata:
        driver: local
        driver_opts:
            type: none
            o: bind
            device: /var/lib/docker/volumes/partition/yourspotify_configdata
