How to Use Vultr's Gitlab MarketPlace Application

The Vultr GitLab Marketplace Application deploys a production-ready GitLab Community Edition (CE) server with Git repositories, issues, merge requests, and built-in CI/CD.
In this guide, you will deploy the application, assign a domain and configure SSL, complete initial access, set up email (SMTP), configure backups, manage services and logs, install GitLab Runner, and clone repositories via HTTPS and SSH.
Deploy Vultr GitLab Marketplace Application
- Log in to your Vultr Customer Portal.
- In the left sidebar, click Products, then choose Compute.
- Click the Deploy Server button.
- Choose your preferred Server Location, Server Type, and Server Plan. For small teams, at least 2 vCPU and 4 GB RAM is recommended.
- Click the Configure button to continue.
- Under the Marketplace Apps section, search for and select GitLab.
- Enable features such as IPv6, DDoS Protection, and Automatic Backups as needed.
- Click Deploy to launch the server.
Once provisioned, find your server IP under the Overview tab. Use this IP for initial access and DNS setup.
Assign Domain and Install SSL Certificate
gitlab.example.com as a placeholder for your actual domain name.
Point Your Domain to the Server
- Copy your server’s public IP from the Overview tab in the Vultr Customer Portal.
- Log in to your DNS provider and create an A record pointing
gitlab.example.comto the IP. - Wait for DNS propagation to complete.
Configure Let’s Encrypt in GitLab
Edit the GitLab configuration file.
console$ sudo nano /etc/gitlab/gitlab.rb
Set your external URL and enable Let’s Encrypt.
rubyexternal_url "https://gitlab.example.com" letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@example.com']
Apply the configuration.
console$ sudo gitlab-ctl reconfigure
Visit https://gitlab.example.com in your browser to confirm SSL is active. If you must access by IP before DNS is ready, see how to bypass HTTPS warnings.
Install a Commercial SSL Certificate
If you're using a commercial SSL provider, follow these steps:
Upload your commercial certificate and move it to the GitLab SSL directory.
console$ sudo mv yourdomain.crt /etc/gitlab/ssl/gitlab.example.com.crt
Move the private key to the GitLab SSL directory.
console$ sudo mv yourdomain.key /etc/gitlab/ssl/gitlab.example.com.key
Open the GitLab configuration file.
console$ sudo nano /etc/gitlab/gitlab.rb
Set the SSL certificate path.
rubynginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
Set the SSL certificate key path.
rubynginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
Reconfigure GitLab.
console$ sudo gitlab-ctl reconfigure
Visit your GitLab instance in a browser to confirm that your SSL certificate is active.
Access GitLab and Set the Root Password
You can access GitLab immediately after deployment. On first login, GitLab prompts you to set a password for the root user.
Open your instance URL.
https://gitlab.example.comProceed past any SSL warning if using a self-signed certificate temporarily.
When prompted, set a strong password for the
rootaccount.Sign in as
rootwith the new password.
Server Management and Utilities
Repository Storage Path
/var/opt/gitlab/git-data/repositoriesUse this path for backups or scripting.
Manage Services and View Logs
Check overall status
console$ sudo gitlab-ctl status
Reconfigure after changing
/etc/gitlab/gitlab.rbconsole$ sudo gitlab-ctl reconfigure
Restart services
console$ sudo gitlab-ctl restart
Tail logs
console$ sudo gitlab-ctl tail
Backups
You can create one-time backups on demand or configure GitLab to run scheduled backups.
Run a one-time backup.
console$ sudo gitlab-backup create
This command generates a snapshot of repositories, uploads, and the database in the default backup directory.
Configure automated backups.
Edit
/etc/gitlab/gitlab.rbto define the backup path and retention period.rubygitlab_rails['backup_path'] = '/var/opt/gitlab/backups' gitlab_rails['backup_keep_time'] = 604800 # 7 days
Apply the changes:
console$ sudo gitlab-ctl reconfigure
Then create a recurring job with cron or a systemd timer to run
gitlab-backup createat regular intervals. For disaster recovery, sync the backup directory to remote storage such as Amazon S3 or another offsite server.
Install GitLab Runner (CI/CD)
Install a runner to execute CI jobs for your projects.
Install the GitLab Runner package repository and the runner.
console$ curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash $ sudo apt install -y gitlab-runner
Register the runner (get the registration token from your project’s Settings > CI/CD > Runners).
console$ sudo gitlab-runner register
- GitLab URL:
https://gitlab.example.com/ - Registration token:
<PROJECT_TOKEN> - Description:
shell-runner - Tags:
shell - Executor:
shell(ordockerif Docker is installed)
- GitLab URL:
The runner appears under your project’s Runners list when registration is complete.
Clone Repositories (HTTPS and SSH)
After setup, create a project and clone it via HTTPS or SSH.
Clone a Repository via HTTPS
In GitLab, create a new project.
Copy the HTTPS clone URL.
Clone the repository.
console$ git clone https://gitlab.example.com/username/project.git
Configure SSH Access (Recommended)
On your local machine, generate an SSH key.
console$ ssh-keygen -t ed25519 -C "your_email@example.com"
Copy the public key.
console$ cat ~/.ssh/id_ed25519.pub
Log in to GitLab, go to Preferences > SSH Keys, and paste your public key.
Clone using SSH.
console$ git clone git@gitlab.example.com:username/project.git
Verify Git Access
After cloning your repository, confirm that Git operations work correctly by making a test commit and pushing it to the server.
Create a test file.
console$ echo "test" > test.txt
Stage the file for commit.
console$ git add test.txt
Commit the file.
console$ git commit -m "Initial test commit"
Push the commit to the
mainbranch.console$ git push origin main
If you're using HTTPS, Git may prompt you for your GitLab credentials.
If you're using SSH, the push should complete without credential prompts (as long as your SSH key is configured correctly).
If the push succeeds without errors, your connection to the remote repository is working as expected. You can now continue pushing and pulling code securely.
Use Cases
The Vultr GitLab Marketplace Application is ideal for teams building software with integrated version control and CI/CD. Common use cases include:
Private Git hosting for teams
Securely host repositories with granular access control and project visibility.
End-to-end DevOps with built-in CI/CD
Automate tests, builds, and deployments using GitLab pipelines and runners.
Self-managed GitHub/GitLab alternative
Maintain full control over data, compliance, and network boundaries.
Education and internal developer platforms
Provide a central platform for student projects or internal tooling.
Conclusion
In this guide, you deployed the Vultr GitLab Marketplace application, configured SSL and DNS, completed initial access, set up SMTP and backups, managed services and logs, installed a runner, and cloned repositories via HTTPS and SSH. Take a snapshot to preserve your configuration and reuse it for future deployments.