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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Coolify preview deployments build a temporary, separate application for a pull request (or merge request), give it a review URL, and remove it when the request is closed or merged. To set one up reliably, first make sure the normal branch deploys, then enable previews, connect pull-request events through a GitHub App or manual webhook, configure wildcard DNS, and provide preview-only credentials.

The most important safety rule is that pull-request code runs on your deployment server. Treat it as untrusted: do not pass production secrets to previews, and allow public contributors only when you accept the execution risk.

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

What Coolify preview deployments do

A preview deployment runs the code from a pull request or merge request separately from the production application. Each request can receive its own container and URL, so reviewers can exercise the proposed change without replacing the live branch.

Coolify can create a preview when a request is opened or updated, add deployment status and the preview domain to the request, and remove the automatically created preview after the request is closed or merged. The comment and status features depend on using the GitHub App with the required permissions; a manual webhook can trigger deployments but cannot provide those automated comments.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

Prerequisites

  • The application must already deploy successfully from its configured branch. Fix the ordinary deployment before troubleshooting previews.
  • Your deployment server needs enough CPU, memory, storage, and network capacity to run production and one or more preview containers at the same time.
  • Pull-request code executes on the deployment server. Plan previews as untrusted workloads and keep production credentials out of them.
  • You need control of DNS for a domain or subdomain that can point generated preview hostnames at the deployment server.
  • For event-driven previews, the repository must be connected through a GitHub App or a reachable repository webhook.

Enable Preview Deployments in the application

Preview settings are configured per Coolify application. Enabling the feature does not retroactively deploy every request that is already open; existing requests require a separate load-and-deploy action described later.

  1. Open the application in Coolify.
  2. In the sidebar, select Preview Deployments.
  3. Select Enable preview deployments.
  4. Set PR deployment access deliberately before testing.

Choose who may trigger a preview

Setting Who can trigger previews Operational implication
Repository members only Repository owners, members, and collaborators Fork pull requests from untrusted public contributors are not allowed to execute automatically.
Public Public contributors, including users submitting eligible fork requests Provides broader review coverage but increases the risk of running hostile or resource-intensive code on the deployment server.

Use the narrowest setting that fits your workflow. If external contributors need a live preview, isolate the server and all services used by previews rather than reusing production infrastructure or credentials.

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.

Connect pull-request events

Coolify supports two event paths. The GitHub App is the preferred integration when the repository is hosted on GitHub because it offers granular permissions and can write status and domain information back to a pull request. A manual repository webhook is useful when the application is connected through a public repository URL or deploy key, but it has fewer integration features.

Recommended: GitHub App integration

  1. Use the GitHub App integration for the repository when creating or editing the application source.
  2. During setup, set Preview deployment access to Read and update pull requests before registering the app.
  3. For an app that is already registered, open Sources in Coolify and select the app.
  4. Choose Permissions > Update.
  5. Set the Pull requests permission to Read and write.
  6. Subscribe the app to the Pull request event.
  7. Accept the permission update and confirm that the app installation includes the repository containing the application.
  8. Open or update a pull request and check that it appears in Coolify.

With these permissions, Coolify can publish deployment status and the preview domain on the pull request and update its comment as the deployment changes state. If the request does not appear, verify the installation and permissions before changing application settings.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Alternative: manual repository webhook

Use this path for an application connected through a public repository URL or deploy key.

  1. In Coolify, open Webhooks > Manual Git Webhooks.
  2. Create and save a webhook secret with at least 16 characters.
  3. Copy the provider URL shown by Coolify.
  4. In the repository provider, add a webhook using that URL as the payload URL.
  5. Set the content type to application/json (or the form encoding documented by your provider), enter the exact same secret, and leave SSL verification enabled.
  6. Select both Pushes and Pull requests when preview events are required.
  7. Keep the webhook active and save it.
  8. Open or update a pull request after Preview Deployments is enabled.

A pull-request event creates a preview only when the application’s Preview Deployments feature is enabled. Manual webhooks trigger the deployment but do not add the GitHub App’s automated status and comment updates.

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

GitHub App versus manual webhook

Comparison point GitHub App Manual webhook
Setup complexity Requires app registration, installation, and permission approval. Requires a Coolify secret, provider URL, and webhook configuration.
Pull-request comments and status Supported when Pull requests is set to Read and write and the Pull request event is subscribed. Not provided automatically.
Permission granularity Fine-grained app permissions, including pull-request access. Authentication is based on the shared webhook secret and endpoint reachability.
Event reliability checks Confirm the app installation, permission, and event subscription. Inspect delivery history, event type, response code, secret, and endpoint reachability.
Best fit An official GitHub integration where reviewers want status and domain feedback in the request. An application already connected through a public repository URL or deploy key.

Configure preview URLs and wildcard DNS

Coolify builds each preview’s hostname from the Preview URL template. Open the application’s Preview Deployments settings and enter a template that resolves under a domain you control.

Available template variables

Variable Value inserted Example use
{{pr_id}} The pull-request number 123
{{random}} A random value generated for the preview Useful when a deterministic request number could collide with another naming scheme.
{{domain}} The production domain configured for the application Places the preview below the application’s existing domain hierarchy.

The default template is {{pr_id}}.{{domain}}. If the production domain is preview.example.com, pull request 123 can become 123.preview.example.com. Choose a template that remains valid as a DNS hostname and makes the request easy to identify.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Create the wildcard DNS record

  1. Decide the parent zone for previews, such as preview.example.com.
  2. At your DNS provider, create *.preview.example.com as an A record pointing to the deployment server’s IPv4 address, or an AAAA record pointing to its IPv6 address.
  3. Wait for the record to be available through your DNS provider and resolver path.
  4. Only then open a pull request and test the generated hostname.

A wildcard record covers newly generated subdomains, so you do not need to create a separate DNS record for every request. If the application uses an individual preview domain instead, configure that domain on the preview. Docker Compose previews can assign a separate domain per service when each service must be reachable independently.

Keep preview variables and services isolated

Coolify separates the variables used by the main deployment from those used by pull-request and merge-request deployments. Production environment variables apply to the main application. Variables entered under Preview Deployment Environment Variables apply to previews.

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

Use a separate dependency set

  • Give previews non-production database credentials and point them at a disposable or isolated database.
  • Use separate object-storage buckets, API keys, queues, email providers, and third-party accounts.
  • Use a preview-specific authentication configuration so test users and callback URLs cannot affect real accounts.
  • Use low-privilege credentials that can perform only the operations required by the preview.
  • Review build scripts, migration commands, startup hooks, and package install scripts because pull-request code can execute them.

Deleting a preview container does not erase data it wrote to an external service. Expire test records, rotate temporary credentials, and apply retention policies to preview databases and storage independently of Coolify’s container cleanup.

Decide whether public requests are acceptable

If PR deployment access is set to Public, any eligible public contributor may cause code to run on your server. That can expose network services, consume capacity, or attempt to access files and credentials available to the container or host. Use repository-members-only access when external previews are not a deliberate requirement, and isolate the deployment host when they are.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Deploy pull requests that were already open

Coolify does not automatically deploy pull requests that existed before Preview Deployments was enabled. Load them explicitly:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Open the application’s Preview Deployments page.
  2. Select Load Pull Requests.
  3. For each request that needs a live environment, choose Deploy preview.
  4. Choose Configure instead when you want to prepare its preview settings without deploying immediately.

After this one-time action, subsequent commits to the request can follow the normal preview event flow.

Verify the complete preview lifecycle

Test creation and updates

  1. Open a new pull request against the branch configured for the application.
  2. Confirm that the request appears in Coolify and that a preview deployment starts.
  3. Wait for the deployment to finish, then open the generated preview domain.
  4. Exercise the changed path, including authentication, database access, background jobs, and any service-to-service calls that the change affects.
  5. Push another commit to the same request and confirm that Coolify updates or redeploys the existing preview rather than creating an unintended duplicate.

Test cleanup

  1. Close or merge the pull request.
  2. Confirm that Coolify removes the automatically created preview.
  3. Check the server and any external preview services for leftover containers, data, credentials, or DNS entries that require separate retention cleanup.

Dashboard actions

Action Use it when
Preview links You need the active URL for a request.
Logs You need build, startup, or runtime output to diagnose a deployment.
Deploy You are starting a configured preview.
Redeploy You want to run the preview deployment again using the normal deployment behavior.
Force deploy (without cache) A stale build cache may be masking a code or dependency change.
Stop You need to halt a running preview without deleting its configuration.
Delete You need to remove a preview that should no longer exist.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Docker Image applications and API automation

Deploy a Docker Image preview manually

For an application that deploys a Docker Image rather than building directly from source, choose Manual preview. Enter a preview ID and image tag, then deploy it.

  1. Open the Docker Image application’s preview controls.
  2. Select Manual preview.
  3. Enter a preview ID, such as the pull-request number.
  4. Enter the image tag, for example pr_1234.
  5. Select Deploy Preview.

The image must be available to the application’s configured registry and the tag must identify the build you intend reviewers to test.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Use the Coolify API

Automation can list, inspect, create, or redeploy previews through these application-scoped endpoints. Replace {uuid} with the application UUID and {pull_request_id} with a positive request number.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Method and endpoint Purpose Important condition
GET /applications/{uuid}/previews List previews for an application. Use the result to discover active preview IDs and domains.
GET /applications/{uuid}/previews/{pull_request_id} Inspect one request’s preview. The request ID identifies the preview to retrieve.
POST /applications/{uuid}/previews Create or redeploy a preview. Send a positive pull_request_id; creation or redeployment requires deploy permission.

Grant automation only the deploy permission it needs, protect API credentials like other deployment secrets, and record which system created each preview so failed cleanup can be traced.

Troubleshoot previews that do not appear or open

No pull request appears in Coolify

  • For the GitHub App, confirm that the app is installed on the repository.
  • Confirm Pull requests is set to Read and write.
  • Confirm the Pull request event is subscribed.
  • Confirm Preview Deployments is enabled on the specific application, not only on another application using the same repository.

The manual webhook is delivered but no preview starts

  • Inspect the provider’s recent delivery records and verify that a pull-request event was sent.
  • Check the HTTP response from Coolify and the exact secret character-for-character.
  • Verify that the Coolify URL is reachable from the provider and that SSL verification succeeds.
  • Ensure the webhook is active and that Preview Deployments is enabled.

The generated URL does not resolve

  • Check that the wildcard A or AAAA record uses the deployment server’s current address.
  • Check the hostname produced by the template for spelling, zone, and valid label characters.
  • Test DNS resolution from the same network where reviewers will open the preview.
  • Inspect Coolify’s preview logs after DNS resolves; a working record does not guarantee that the container is healthy.

A preview contains sensitive or production data

  • Remove production credentials from the preview variable set immediately.
  • Replace them with non-production credentials and services.
  • Rotate any production secret that the preview could have accessed.
  • Review external databases, storage, queues, and third-party accounts for data written before the correction.

An old pull request is missing

Use Load Pull Requests on the application’s Preview Deployments page, then select Deploy preview for that request. Enabling the feature alone does not backfill previously open requests.

The preview is slow or fails only when production is busy

Measure concurrent container usage and increase server capacity or limit simultaneous previews. A preview shares the deployment server’s available resources unless you isolate it on another server, so builds, databases, and production traffic can contend for CPU, memory, disk, or network bandwidth.

A repeatable operating checklist

  • Normal branch deployment succeeds before previews are enabled.
  • Preview deployment access matches the trust level of contributors.
  • GitHub App permissions and event subscriptions are verified, or the manual webhook secret and delivery path are tested.
  • The preview URL template produces unique, valid hostnames.
  • A wildcard DNS A or AAAA record points to the deployment server.
  • Preview variables use non-production credentials and isolated services.
  • New requests create a preview, updates redeploy it, and close or merge removes the automatic preview.
  • Previously open requests are loaded and deployed intentionally.
  • Docker Image tags and API automation use positive request IDs and appropriate deploy permissions.
  • External preview data and credentials have an independent cleanup and rotation process.

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.

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