Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk12 min

How to Connect GitLab to Coolify for Git-Based Deployments

Learn how to connect GitLab to Coolify for automatic deployments using a public repository, private SSH deploy key, or GitLab App, with exact webhook, branch, and troubleshooting steps.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Coolify can deploy a GitLab project in three ways: clone a public repository over HTTPS, clone a private repository with an SSH deploy key, or connect through a GitLab App. Use the App when you want private HTTPS cloning, repository selection inside Coolify, and integrated push or merge-request events. Use a deploy key when access should be limited to one private project. For a public repository or a deploy-key application, a manually configured GitLab webhook triggers deployments. In every case, the Coolify application must point to the intended branch, automatic deployment must be enabled, and the Coolify server must be able to reach GitLab and run Docker workloads.

Choose the right GitLab connection method

The repository’s visibility and the way you want events delivered determine the setup. Coolify’s three source paths are not interchangeable: they differ in authentication scope, webhook work, and preview-deployment support.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Connection path Repository access Event handling Best fit
Public HTTPS repository Anyone can clone the repository URL; no private-key exchange is required. Configure a GitLab webhook manually. Public code or documentation sites where a read-only public clone is acceptable.
Private repository with deploy key One project receives the matching public key; Coolify stores and uses the private key to clone over SSH. Configure a GitLab webhook manually. A single private repository, especially where an App or OAuth-style integration is unavailable.
GitLab App source Coolify uses the integration for private HTTPS cloning and repository browsing. Events are delivered through the integration after the project webhook and event types are enabled. Teams managing several projects, private HTTPS access, branch selection, and merge-request previews.

A GitLab App does not need the separate manual Git webhook URL used by public-URL and deploy-key applications. It still needs Deploy on push (webhooks) enabled in the Coolify application and a push to that application’s configured branch.

What you need before connecting GitLab

  • A running Coolify instance connected to a server that can reach GitLab over the network.
  • Permission to create or edit the relevant GitLab project’s repository settings and webhooks.
  • The exact repository URL and the branch that should deploy to the Coolify application.
  • A build path suitable for the project: Nixpacks, Railpack, Static, Dockerfile, or Docker Compose.
  • For private SSH cloning, a deploy key pair and the project’s SSH clone URL.
  • For a GitLab App integration, the GitLab URL and API URL when using self-managed GitLab.
  • For automated deployments, a secret of at least 16 characters when creating a manual webhook.

Keep source credentials and image-registry credentials separate. A credential that lets Coolify clone a GitLab repository does not, by itself, authorize a private image pull from the GitLab Container Registry.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Connect a public GitLab repository over HTTPS

This is the shortest path when the repository is genuinely public. Coolify can clone the HTTPS URL without a deploy key or App authorization. You must still provide an event trigger if you want a push to deploy automatically.

Create the application in Coolify

  1. Open the target project and environment in Coolify and choose to create a new application.
  2. Select the public-repository source option and enter the repository’s HTTPS clone URL.
  3. Choose the build method required by the project: Nixpacks, Railpack, Static, Dockerfile, or Docker Compose.
  4. Select the deployment branch. This branch is the production application’s source; pushes to other branches do not update it unless you configure separate applications.
  5. Save the application and copy the Git webhook URL shown by Coolify.

Add the GitLab webhook

  1. In GitLab, open the project and go to Settings > Webhooks.
  2. Paste the webhook URL copied from Coolify.
  3. Create a secret with at least 16 characters and enter the same secret in Coolify’s webhook configuration.
  4. Enable Push events. Enable Merge request events only when you are setting up preview deployments for merge requests.
  5. Save the webhook, then use GitLab’s test delivery function to confirm that GitLab can reach the Coolify server.
  6. In Coolify, open Advanced > Deployment and set Auto deploy to Deploy on push (webhooks).

Verify the first deployment

Push a commit to the branch selected in the application. Open Coolify’s Deployment Logs and confirm that it receives the webhook, resolves the repository and commit, runs the selected build path, and updates the running container. A successful GitLab delivery alone is not proof that Coolify deployed; the Coolify log must show the clone, checkout, build, and runtime update.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Deploy a private GitLab repository with an SSH deploy key

A deploy key grants repository access without giving Coolify a broad personal account credential. It is attached to a specific GitLab project, so this path is useful when one application needs read access to one private repository.

Prepare the key in Coolify

  1. Create an SSH key pair dedicated to this deployment, or select the private key that your organization has approved for the application.
  2. In Coolify, create or edit the source credential and store the private key. Keep the private half in Coolify; it should not be committed to the repository.
  3. Copy the matching public key. The public and private halves must be a pair; substituting a key from another application will cause cloning to fail.

Attach the public key to the GitLab project

  1. Open the GitLab project that Coolify must clone.
  2. Go to Settings > Repository > Deploy keys.
  3. Add the public key and enable it for the project. Grant only the access required to clone the repository; a deployment normally needs read access.
  4. Copy the project’s SSH clone URL, for example [email protected]:group/project.git.

Create the Coolify application

  1. Start a new Coolify application and choose Private Repository (with deploy key).
  2. Select the stored private key and paste the GitLab SSH URL exactly as GitLab provides it.
  3. Choose the build method and the deployment branch.
  4. Save the application and copy the Git webhook URL that Coolify provides.
  5. Under Advanced > Deployment, set Auto deploy to Deploy on push (webhooks).

Configure and test the webhook

In GitLab, open Settings > Webhooks, enter Coolify’s URL, and use the same secret saved in Coolify. Enable push events for branch deployments. Add merge-request events when this application is intended to create previews. Test the delivery, push a commit to the configured branch, and inspect Deployment Logs. If the log reports an authentication or repository error, first confirm that the public key is attached to the correct project and that the SSH URL names the intended group and project.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Connect through the GitLab App

The GitLab App is the integrated route for private HTTPS cloning and repository browsing. It is also the route to use when you want merge-request events and preview deployments tied to the GitLab integration.

Create the source in Coolify

  1. In Coolify, add a new GitLab App source.
  2. For GitLab.com, use the service’s standard GitLab endpoint. For a self-managed GitLab installation, enter the installation’s GitLab URL and its API URL exactly as required by that instance.
  3. Complete the authorization flow and save the source in Coolify.

Use an account or integration scope that can read the projects you intend to deploy. If a project is not visible while creating an application, check the App’s project access in GitLab before changing the application configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Register the project webhook and event types

  1. For each GitLab project you want to deploy, open Settings > Webhooks.
  2. Add the webhook URL and matching secret token supplied by Coolify’s GitLab App source.
  3. Enable Push events when pushes to a branch should deploy that application.
  4. Enable Merge request events when the project should create or update preview deployments for merge requests.
  5. Save the webhook and verify a test delivery in GitLab.

Select the repository and branch in Coolify

  1. Create a new application using the GitLab App source.
  2. Select the repository from the projects exposed by the App rather than pasting a deploy-key URL.
  3. Select the branch that represents this application’s production deployment.
  4. Choose the project’s build path and save the application.
  5. Confirm in the first deployment log that Coolify cloned the selected repository and checked out the requested commit.

A separate manual Git webhook URL is not required for this App path. The integration supplies provider events, but Coolify still needs Deploy on push (webhooks) enabled. A push to a different branch will not update this production application; create another application or configure another branch when that is an intentional deployment target.

How automatic deployment is triggered

Coolify treats a deployment as configuration plus a trigger. As the Coolify documentation states: “A deployment combines configuration saved in Coolify with a trigger such as Deploy, Redeploy, a Git webhook, or an API request.”

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

For a Git-based application, the trigger identifies the requested source and version. Coolify then builds or pulls what the application needs, applies the saved runtime configuration, and updates the running containers on the connected server. Depending on the application, that build can use Nixpacks, Railpack, Static, Dockerfile, or Docker Compose.

The sequence matters when diagnosing failures:

  1. Event delivery: GitLab sends a push or merge-request event to the configured integration or manual webhook.
  2. Application match: Coolify checks that the event concerns the repository and branch configured for the application.
  3. Source access: Coolify authenticates and clones the repository through HTTPS or SSH.
  4. Version resolution: Coolify checks out the commit associated with the event.
  5. Build or image retrieval: Coolify runs the selected build path or pulls the required image.
  6. Runtime update: Coolify applies environment and runtime configuration and replaces or updates the running Docker containers.

Each stage can fail independently. A successful webhook delivery proves only that GitLab reached the endpoint; it does not prove that credentials, the branch, the build, or the container update succeeded.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Branch strategy and preview deployments

Production branch deployments

Every Coolify application has a configured branch. Automatic deployment occurs when a push event names that branch and the application is set to Deploy on push (webhooks). Pushing to another branch does not silently change production. To deploy multiple long-lived branches, create separate applications or explicitly configure additional deployment targets.

Merge-request previews

Preview deployments depend on merge-request events rather than ordinary push events alone. With the GitLab App, enable merge-request events in the project webhook and configure the application’s preview behavior. With a public-URL or deploy-key application, enable merge-request events on the manually configured Coolify webhook. Keep push events enabled when the same project also needs production branch deployments.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Preview and production are different event flows: a merge-request event can represent a temporary review environment, while a push to the production branch updates the configured production application. Define branch and preview rules deliberately so a review branch cannot replace production unintentionally.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the connection before relying on it

  • Repository check: The repository URL, group, project name, and selected branch are correct.
  • Credential check: Public HTTPS needs no private credential; deploy-key cloning uses the matching private key in Coolify and public key in the correct GitLab project; App cloning uses the authorized GitLab App source.
  • Event check: Push events are enabled for normal deployments. Merge-request events are enabled only when previews are required.
  • Secret check: Manual-webhook secrets match exactly and meet the 16-character minimum.
  • Auto-deploy check: Advanced > Deployment > Auto deploy is set to Deploy on push (webhooks).
  • Branch check: The test commit is pushed to the application’s configured branch.
  • Reachability check: GitLab’s delivery test succeeds and the Coolify server can reach GitLab.
  • Log check: Coolify’s Deployment Logs show the expected repository, commit, build path, and container update.
  • Registry check: If the build pulls a private GitLab Container Registry image, registry credentials are configured separately.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot common failures

Symptom Likely cause What to check
GitLab reports that the webhook cannot connect The Coolify URL is not reachable from GitLab. Confirm the URL copied from Coolify, network routing, firewall rules, and that the Coolify service is available from the GitLab host.
Webhook delivery succeeds but no deployment starts The event type, branch, or Auto deploy setting does not match the application. Enable Push events, verify the pushed branch, and set Advanced > Deployment > Auto deploy to Deploy on push (webhooks).
Coolify rejects the webhook as unauthorized The secret in GitLab differs from the secret saved in Coolify. Compare the values character by character and replace both with the same secret of at least 16 characters.
SSH clone fails for a private project The wrong key, wrong project, or wrong SSH URL is being used. Verify that the matching public key is under the intended project’s Settings > Repository > Deploy keys, that the private key is stored in Coolify, and that the URL follows GitLab’s SSH format.
The repository is missing from the GitLab App picker The App is not authorized for that project or the wrong GitLab endpoint was entered. Check project access in GitLab and, for self-managed GitLab, verify both the GitLab URL and API URL in the Coolify source.
A push deploys the wrong revision The application is tracking a different branch or repository than expected. Review the application’s repository and branch, then confirm the checked-out commit in Deployment Logs.
Cloning succeeds but the image pull fails Repository credentials do not authorize the private container image. Configure GitLab Container Registry credentials separately from the Git clone credential.
The build starts but the application does not become healthy The source trigger worked, but the build or runtime configuration failed. Read Deployment Logs after the clone stage and review the selected Nixpacks, Railpack, Static, Dockerfile, or Docker Compose configuration.

Always inspect both sides of the connection: GitLab’s webhook delivery result identifies transport and event problems, while Coolify’s Deployment Logs identify source, build, and runtime problems. Looking at only one log can make a working trigger appear broken or hide a failed build behind a successful delivery.

Security and operational practices

Limit credential scope

A deploy key is naturally narrow because it is attached to one GitLab project. Use a separate key for materially different applications or trust boundaries, and remove an old key from the project when the application is retired. For a GitLab App, grant access only to the projects that need deployment and review that access when team ownership changes.

Protect webhook secrets

Treat a manual webhook secret as a credential. Store it in Coolify and GitLab, do not commit it to the repository, and rotate it if it is exposed. A longer random secret is preferable to a memorable phrase, provided the exact same value is entered on both sides.

Separate source and runtime access

Source cloning and image retrieval are separate operations. A GitLab account or deploy key that can read source does not automatically grant access to private registry images. Configure registry authentication independently and avoid assuming that a successful clone validates all credentials needed by the build.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep branch intent explicit

Document which branch each Coolify application deploys and which event types it consumes. This prevents a developer from expecting a feature-branch push to update production and makes it clear whether a merge request should create a preview, update an existing preview, or do neither.

Observe the first few deployments

After connecting a project, make a small, reversible commit and follow it through GitLab delivery and Coolify Deployment Logs. Confirm the commit hash, build path, environment configuration, and running container before treating the pipeline as unattended.

Two complete setup patterns

Single private production application

  1. Create a dedicated SSH key pair.
  2. Store the private key in Coolify.
  3. Add the public key under the GitLab project’s Settings > Repository > Deploy keys.
  4. Create a Coolify application with Private Repository (with deploy key), the project’s SSH URL, and the production branch.
  5. Copy Coolify’s webhook URL, create a matching 16-character-or-longer secret, and add it in GitLab under Settings > Webhooks.
  6. Enable Push events and set Coolify to Deploy on push (webhooks).
  7. Test the webhook, push a harmless commit to the production branch, and verify the commit in Deployment Logs.

Several private projects with merge-request previews

  1. Create a GitLab App source in Coolify. Enter the GitLab URL and API URL when the GitLab installation is self-managed.
  2. Authorize the projects that Coolify should browse and clone.
  3. For each project, add the webhook URL and matching secret supplied by Coolify.
  4. Enable Push events for production branch deployments and Merge request events for previews.
  5. Create applications by selecting repositories from the App source, then choose each production branch.
  6. Enable Deploy on push (webhooks) and verify both a branch push and a merge-request event.
  7. Use GitLab delivery results and Coolify Deployment Logs to confirm that each event maps to the intended repository, branch, commit, and environment.

When to choose each path

  • Choose public HTTPS when the repository is public and you want the fewest credentials, accepting manual webhook configuration.
  • Choose a deploy key when one private project needs narrowly scoped SSH read access or an App integration is not available.
  • Choose the GitLab App when private HTTPS cloning, repository browsing, multiple projects, or merge-request event integration matters more than the additional setup.

Whichever path you choose, the reliable operating model is the same: connect the correct repository, select the intended branch, configure the appropriate event source, enable automatic deployment, and verify the resulting commit in Coolify’s Deployment Logs.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.