captainVersion: 4 services: $$cap_appname: image: gitlab/gitlab-ce:$$cap_gitlab_version hostname: $$cap_appname.$$cap_root_domain volumes: - '$$cap_appname-config: /etc/gitlab' - '$$cap_appname-logs: /var/log/gitlab' - '$$cap_appname-data: /var/opt/gitlab' restart: always environment: GITLAB_OMNIBUS_CONFIG: $$cap_gitlab_omnibus_config caproverExtra: containerHttpPort: '80' caproverOneClickApp: 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' 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. More about this container: https://hub.docker.com/r/gitlab/gitlab-ce/ Hardware and Software requeriments can be found here: https://docs.gitlab.com/ce/install/requirements.html For security reasons, no port mapping is created, those can be created after deploying the app. More information about Caprover's Firewall & Port Forwarding and configuration can be found here: https://caprover.com/docs/firewall.html More information about gitlab's docker configuration can be found here: https://docs.gitlab.com/omnibus/docker/#configure-gitlab 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. displayName: Gitlab (CE) isOfficial: true description: CE version of GitLab for CI/CD pipeline documentation: Taken from https://docs.gitlab.com/omnibus/docker/