version: "3.1"

services:
    redis:
        container_name: vencloud_redis
        image: redis:alpine
        restart: always
        volumes:
            - /docker/appdata/vencloud/redis:/data
        environment:
            REDIS_ARGS: --save 300 1 60 10
        healthcheck:
            test: ["CMD", "redis-cli", "ping"]
            interval: 5s
            timeout: 5s
            retries: 5

    backend:
        container_name: vencloud_backend
        image: ghcr.io/vencord/vencloud:main
        restart: always
        ports:
            - 8485:8080
        environment:
            - PORT=8080 # Port and host to bind the server to. If running in Docker, there's no point changing them.
            - HOST=0.0.0.0
            - REDIS_URI=redis:6379 # The URI used for connecting to redis
            - ROOT_REDIRECT=https://github.com/Vencord/Vencloud
            - PROMETHEUS=true # Whether to enable and expose analytics at /metrics
            - PROXY_HEADER=X-Forwarded-For # If not using a reverse proxy, leave this empty
            - SIZE_LIMIT=32000000 # The maximum settings backup size in bytes. Default is 32MB.
            - DISCORD_REDIRECT_URI=https://vencloud.shoebottom.ca/v1/oauth/callback # Under "Redirects", click "Add Redirect" and add your domain with `/v1/oauth/callback` appended to it
            - ALLOWED_USERS=263739756930793472 # List of Discord user IDs allowed to use the service, separated by commas.
        env_file:
            - ../stack.env
        depends_on:
            redis:
                condition: service_healthy