{
    "captainVersion": "2",
    "documentation": "Taken from https://docs.gitlab.com/omnibus/docker/",
    "displayName": "Gitlab (CE)",
    "description": "CE version of GitLab for CI/CD pipeline",
    "dockerCompose": {
        "version": "3.3",
        "services": {
            "$$cap_appname": {
                "image": "gitlab/gitlab-ce:$$cap_gitlab_version",
                "volumes": [
                    "$$cap_appname-config: /etc/gitlab",
                    "$$cap_appname-logs: /var/log/gitlab",
                    "$$cap_appname-data: /var/opt/gitlab"
                ],
                "restart": "always",
                "containerHttpPort": "80",
                "environment": {
                    "GITLAB_OMNIBUS_CONFIG": "$$cap_gitlab_omnibus_config"
                }
            }
        }
    },
    "instructions": {
        "start": "GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. \n\n More about this container:\n https://hub.docker.com/r/gitlab/gitlab-ce/ \n\n Hardware and Software requeriments can be found here:\n https://docs.gitlab.com/ce/install/requirements.html\n\n For security reasons, no port mapping is created, those can be created after deploying the app.\n More information about Caprover's Firewall & Port Forwarding and configuration can be found here:\nhttps://caprover.com/docs/firewall.html \n\nMore information about gitlab's docker configuration can be found here:\n https://docs.gitlab.com/omnibus/docker/#configure-gitlab\n\n It can take some time (2-3 minutes) for the service to launch in a new container. Check the \"Deployment\" tab logs to determine once GitLab is ready.",
        "end": "Gitlab-CE is deployed and available as srv-captain--$$cap_appname:80 to other apps."
    },
    "variables": [
        {
            "id": "$$cap_gitlab_version",
            "label": "Gitlab-CE Version Tag",
            "description": "Check out their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-ce/tags",
            "defaultValue": "11.9.8-ce.0",
            "validRegex": "/^([^\\s^\\/])+$/"
        },
        {
            "id": "$$cap_gitlab_omnibus_config",
            "label": "Omnibus Config (Optional)",
            "description": "More information here: https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container"
        }
    ]
}
