{
    "captainVersion": "2",
    "documentation": "Taken from https://hub.docker.com/_/redis",
    "displayName": "",
    "description": "Redis is an in-memory data structure store, used as a database, cache and message broker",
    "dockerCompose": {
        "version": "3.3",
        "services": {
            "$$cap_appname": {
                "dockerfileLines": [
                    "FROM redis:$$cap_redis_version",
                    "CMD exec redis-server --requirepass \"$$cap_redis_password\""
                ],
                "notExposeAsWebApp": "true",
                "volumes": ["$$cap_appname-redis-data:/data"],
                "restart": "always",
                "environment": {
                    "REDIS_PASSWORD": "$$cap_redis_password"
                }
            }
        }
    },
    "instructions": {
        "start": "Redis is an open source key-value store that functions as a data structure server.\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 6379 to other CapRover apps.\n\n Enter your Redis container name and click on next. It will take about a minute for the process to finish.",
        "end": "Redis is deployed and available as srv-captain--$$cap_appname:6379 to other apps. For example with NodeJS: const client = redis.createClient(6379, 'srv-captain--$$cap_appname' , {password: '$$cap_redis_password'})"
    },
    "variables": [
        {
            "id": "$$cap_redis_version",
            "label": "Redis Version Tag",
            "description": "Check out their Docker page for the valid tags: https://hub.docker.com/_/redis?tab=tags",
            "defaultValue": "5",
            "validRegex": "/^([^\\s^\\/])+$/"
        },
        {
            "id": "$$cap_redis_password",
            "label": "Redis Password",
            "validRegex": "/^([a-zA-Z0-9-_])+$/"
        }
    ]
}
