{
    "captainVersion": "2",
    "documentation": "Taken from https://github.com/strapi/strapi-docker/blob/master/docker-compose.yml",
    "displayName": "",
    "description": "The Open source Headless CMS Front-End Developers love. Manage your content. Distribute it anywhere",
    "dockerCompose": {
        "version": "3.3",
        "services": {
            "$$cap_appname-core": {
                "depends_on": [
                    "$$cap_appname-mongo"
                ],
                "containerHttpPort": "1337",
                "dockerfileLines": [
                    "FROM node:11.1.0-alpine",
                    "WORKDIR /usr/src/api",
                    "RUN echo \"unsafe-perm = true\" >> ~/.npmrc",
                    "RUN npm install -g strapi@$$cap_strapi_version",
                    "ADD https://raw.githubusercontent.com/strapi/strapi-docker/b0b3cab55b993c00690b249a89e09b3db7073fca/strapi.sh ./strapi.sh",
                    "RUN chmod +x ./strapi.sh",
                    "EXPOSE 1337",
                    "CMD [\"./strapi.sh\"]"
                ],
                "volumes": [
                    "$$cap_appname-data:/usr/src/api/$$cap_appname"
                ],
                "restart": "always",
                "environment": {
                    "APP_NAME": "$$cap_appname",
                    "DATABASE_CLIENT": "mongo",
                    "DATABASE_HOST": "srv-captain--$$cap_appname-mongo",
                    "DATABASE_PORT": "27017",
                    "DATABASE_NAME": "strapi",
                    "DATABASE_USERNAME": "root",
                    "DATABASE_PASSWORD": "$$cap_mongo_password",
                    "HOST": "localhost",
                    "DATABASE_AUTHENTICATION_DATABASE": "admin"
                }
            },
            "$$cap_appname-mongo": {
                "image": "mongo:$$cap_mongo_version",
                "notExposeAsWebApp": "true",
                "volumes": [
                    "$$cap_appname-mongo-data:/data/db",
                    "$$cap_appname-mongo-config:/data/configdb"
                ],
                "restart": "always",
                "environment": {
                    "MONGO_INITDB_DATABASE": "strapi",
                    "MONGO_INITDB_ROOT_USERNAME": "root",
                    "MONGO_INITDB_ROOT_PASSWORD": "$$cap_mongo_password"
                }
            }
        },
        "volumes": {
            "db_data": {}
        }
    },
    "instructions": {
        "start": "API creation made simple, secure and fast. The most advanced open-source Content Management Framework to build powerful API with no effort. Read more here: https://strapi.io \n\nNOTE: Hardware requirements: \n2GB minimum RAM required\n1Ghz minimum CPU clock speed",
        "end": "Strapi is deployed and available as $$cap_appname-core \n IMPORTANT!! It takes up to 2 minutes for Strapi to boot up. You will see a 502 Error until the startup is finished."
    },
    "variables": [{
            "id": "$$cap_strapi_version",
            "label": "Strapi Version",
            "defaultValue": "3.0.0-alpha.24.1",
            "description": "Check out their GitHub page for the valid versions https://github.com/strapi/strapi/releases",
            "validRegex": "/^([^\\s^\\/])+$/"
        },
        {
            "id": "$$cap_mongo_version",
            "label": "MongoDB Version",
            "defaultValue": "4",
            "description": "Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/",
            "validRegex": "/^([a-zA-Z0-9])+$/"
        },
        {
            "id": "$$cap_mongo_password",
            "label": "MongoDB password",
            "description": "Only use alphanumeric chars.",
            "validRegex": "/^([a-zA-Z0-9])+$/"
        }
    ]

}