October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk11 min

How to Self-Host Convex With Coolify

Coolify has no native Convex template, but a Docker Compose resource provides a workable self-hosted deployment. This guide covers domains, ports, origins, admin-key generation, storage and troubleshooting.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Coolify does not provide a native Convex template. The practical method is to deploy Convex as a Docker Compose resource, publish its backend, HTTP-action service and dashboard through Coolify’s proxy, then point your application at the resulting HTTPS endpoints.

This guide covers the deployment layout, domain and environment configuration, administrator-key setup, storage choices, sizing, security and the failure modes most likely to prevent a working installation.

As an Amazon Associate I earn from qualifying purchases.

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.

What you are deploying

A self-hosted Convex installation has three logical parts:

  • Backend: the Convex API and persistent application state. The local Docker defaults bind the API to 127.0.0.1:3210.
  • HTTP-action service: the endpoint used by Convex HTTP actions. Its local default is 127.0.0.1:3211.
  • Dashboard: the administrative web interface, exposed by the supplied deployment examples on port 6791.

Your frontend application is a separate client. It can run as another Coolify resource, on another host, or elsewhere on the internet, provided it can reach the public Convex URL and you keep the administrator key private.

#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.

Coolify supplies the server orchestration, reverse proxy, HTTPS domains and deployment interface. Convex supplies the containers and their configuration. Because there is no official Coolify template, you must provide a Compose file yourself.

Choose the Compose source before creating the resource

Official Convex Compose file

The official Convex backend repository includes a self-hosted Docker Compose file under self-hosted/docker. It is the better starting point when you want configuration maintained by the Convex project. Review the file at the version you intend to run before deploying; container names, variables and service definitions can change.

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

Community Coolify Compose example

A community Coolify Compose example adds wiring intended for Coolify and includes a MinIO service for file storage. In that example, the instance name entered in Coolify is also used for the Convex instance and its PostgreSQL database. Treat this as an integration example rather than an official support statement: it has not been verified here, and its variable names may diverge from the current Convex release.

Do not mix files casually

Use one Compose file as the authoritative definition. Copying selected services or environment variables from a different example can leave the backend, dashboard and storage services referring to different hostnames. If you modify the file, record the changes so a future update can be reproduced.

Prerequisites and capacity

Server and DNS

  • A server with Coolify installed and permission to create a Docker Compose resource.
  • DNS names you control for the backend API, HTTP actions and dashboard. Use separate hostnames or clearly separated subdomains.
  • Ports 80 and 443 reachable by the Coolify proxy so it can serve HTTP-01 challenges and HTTPS traffic.
  • A method for persistent storage. Do not deploy a stateful Convex instance on an ephemeral disk.

Memory and CPU

A 2026 third-party sizing guide recommends at least 2 GB of RAM and 2 CPU cores, with 4 GB of RAM preferred when PostgreSQL runs on the same machine. These are planning figures, not a Convex or Coolify capacity guarantee. Actual requirements depend on concurrent clients, query load, file volume, database size and whether MinIO and PostgreSQL share the host.

Workload component Planning guidance Qualification
Small installation 2 CPU cores, 2 GB RAM Third-party baseline; monitor during real use
Convex plus PostgreSQL on one host 2 CPU cores, 4 GB RAM preferred Third-party preference, not a published guarantee
Growing production workload Measure and scale from observed usage No official universal sizing number is established

Backups and recovery

Decide where database and object-storage backups will go before accepting production data. The default backend storage is SQLite, while the official self-hosting README recommends a separate SQL database for production. A backup of only the container image or Compose file is not a backup of Convex data.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

Create the Compose resource in Coolify

  1. Open your Coolify project. Choose New Resource and select the Docker Compose resource type. There is no Convex template to select.
  2. Provide the Compose definition. Paste or import the official self-hosted Compose file, or use the community Coolify-oriented file if you specifically need its MinIO wiring. Keep the service names intact unless you also update every dependent command and reference.
  3. Set the instance name. The community example exposes an instance-name setting in the Coolify UI. In that example, the value names both the Convex instance and its PostgreSQL database. Choose a stable, DNS-safe value and do not change it casually after data exists.
  4. Review volumes. Confirm that the Compose definition maps persistent volumes for every stateful service it uses. Check that Coolify’s deployment directory and Docker volumes survive a container recreation.
  5. Save without deploying first. Use Coolify’s configuration view to check environment variables, service names and exposed ports. Correcting these before the first deployment is easier than repairing a partially initialized instance.

The official file uses localhost-oriented defaults. Those defaults are suitable for a local Docker network but not for a public deployment behind Coolify’s proxy.

Assign public domains and ports

In Coolify, add a public HTTPS domain to each service that must be reached from outside the Docker network. Route the domain to the service’s internal listening port, not to an arbitrary host port.

Convex function Container port What uses it
Backend API 3210 Convex client SDK traffic and administrative API calls
HTTP actions 3211 Public HTTP actions served by Convex
Dashboard 6791 Browser-based administration
  1. Create a DNS record for the backend hostname and wait until it resolves to the Coolify server.
  2. In the Compose resource, open the backend service’s domain configuration and assign that hostname to port 3210.
  3. Assign a second hostname to port 3211 for HTTP actions.
  4. Assign a dashboard hostname to port 6791.
  5. Enable HTTPS through the Coolify proxy and verify that each certificate covers the exact hostname used by your application.

Do not expose the database, MinIO administration interface or internal container ports as public domains. Only the three Convex-facing services need public routing in the usual arrangement.

Replace localhost URLs with public origins

The Compose defaults assume the services are local. A browser or a frontend deployed outside the Compose network cannot use localhost to reach your server; in a browser, localhost means the visitor’s own computer.

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

Set the public URL values required by the exact Compose file and Convex version you are deploying. The values must use the HTTPS hostnames you assigned in Coolify, for example:

  • the backend origin points to the hostname routed to port 3210;
  • the HTTP-action origin points to the hostname routed to port 3211;
  • the dashboard origin points to the hostname routed to port 6791, when the file requires one.

Third-party examples refer to variables named CONVEX_CLOUD_ORIGIN and CONVEX_SITE_ORIGIN. Their exact meaning and necessity are not established for every current release, so do not blindly copy those names: inspect the Compose file and the matching Convex self-hosting documentation for the version you selected. A misspelled or omitted origin commonly produces a deployment that starts successfully but fails when a remote browser or SDK connects.

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

After changing these values, redeploy the resource. Confirm in the service logs that the containers start with the intended origins and that no value still contains 127.0.0.1, localhost or an old domain.

Deploy and verify the services

  1. Click Deploy in Coolify and follow the build and container-start logs.
  2. Wait for all required services to report running. A dashboard container starting does not prove that the backend or storage service is healthy.
  3. Open the backend HTTPS hostname in a browser or with an HTTP client. A response indicating that the service is reachable is useful; a proxy-generated 502 means Coolify cannot connect to the container port.
  4. Open the dashboard hostname. It may request an administrator key until you complete the next step.
  5. Test the HTTP-action hostname only after the backend is reachable, because action routing depends on the Convex deployment being initialized.

Keep the first deployment small and observable. Save the deployment logs, Compose revision and environment configuration in your operations notes so you can identify what changed if a later update fails.

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

Generate the Convex administrator key

The administrator key grants full administrative access to the self-hosted Convex instance. Generate it inside the running backend container rather than inventing a value.

  1. Open a shell for the deployed Compose resource using Coolify’s terminal feature, or connect to the server and enter the directory where that Compose project is managed.
  2. Run the command from the Convex deployment instructions:
docker compose exec backend ./generate_admin_key.sh
  1. Copy the resulting key once and store it in a password manager or another encrypted secret store.
  2. Open the dashboard on port 6791 through its HTTPS domain and authenticate with the generated key.
  3. If the command reports that the backend service does not exist, inspect the Compose service name. Do not rename the service merely to make the command work; adjust the command to the actual service name or follow the file’s own instructions.

Do not put the administrator key in a public repository, frontend JavaScript bundle, issue tracker, screenshot or shared chat. Anyone who obtains it can administer the entire instance.

Connect an application to the self-hosted instance

Configure the Convex project that should use this server in its local environment file. The required client-side settings are:

CONVEX_SELF_HOSTED_URL=https://your-backend-host.example
CONVEX_SELF_HOSTED_ADMIN_KEY=your-generated-admin-key

Replace the host and key with your own values. Keep the file out of source control; add it to the project’s ignore rules and use your deployment platform’s secret manager for production builds.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.
  1. Set CONVEX_SELF_HOSTED_URL to the HTTPS domain routed to port 3210, without replacing it with the dashboard or HTTP-action hostname.
  2. Set CONVEX_SELF_HOSTED_ADMIN_KEY only where administrative operations genuinely need it. A public browser bundle must never receive this secret.
  3. Restart or redeploy the application so its process reads the new environment values.
  4. Run a harmless query or mutation and verify the request reaches the self-hosted backend.
  5. If the application uses HTTP actions, test an action separately through the hostname mapped to port 3211.

A frontend hosted by Coolify can use the same backend domain as any other remote client. The two resources do not need to share a Docker network when the backend is published through HTTPS.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Storage: SQLite, PostgreSQL and MinIO

SQLite default

The backend stores state in SQLite by default. This minimizes setup and is convenient for evaluation or a small, single-host installation, but it couples the data to the backend’s persistent disk and does not provide the operational separation normally expected for production.

PostgreSQL for production

The official self-hosting README recommends a separate SQL database for production. A separate PostgreSQL service gives the database its own lifecycle and backup strategy, but it also consumes memory and CPU. The third-party sizing guidance prefers 4 GB RAM when PostgreSQL runs on the same host.

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

Use the database settings defined by your selected Compose file. Ensure the database volume is persistent, credentials are stored as secrets, and backups are tested by restoring to a separate environment. Changing from SQLite to PostgreSQL is a migration task, not simply a toggle; plan it separately from your first deployment.

MinIO and file storage

The community Coolify Compose example adds MinIO for file storage. If you use that file, treat MinIO data and credentials as production state. Do not publish its administrative endpoint just because the Convex services are public. If you use the official Compose file instead, follow the storage components and variables provided by that file rather than importing MinIO settings from a different example.

Security checklist before inviting users

  • Use HTTPS for all three public Convex hostnames.
  • Keep the administrator key in a secret manager and rotate access if it is exposed.
  • Restrict dashboard access with Coolify, an identity-aware proxy or a network policy when your operating model permits it.
  • Do not publish PostgreSQL, SQLite files, Docker sockets or MinIO administration ports.
  • Use persistent volumes and verify that a container redeploy does not erase data.
  • Back up the database and object storage independently, then perform a restore drill.
  • Limit shell access on the Coolify host and keep the host and container images updated according to the release guidance for your chosen Convex version.
  • Check browser developer tools for accidental exposure of CONVEX_SELF_HOSTED_ADMIN_KEY. It belongs on a trusted server or administrative process, never in client-side code.

Troubleshooting by symptom

Coolify shows a 502 or connection refused

Confirm that the domain is mapped to the correct internal port: 3210 for the backend, 3211 for HTTP actions and 6791 for the dashboard. Then inspect the container logs and verify that the service is listening on the interface expected by the proxy. A domain aimed at a host port that the Compose file does not publish will fail even when the container is running.

The dashboard loads, but the application cannot connect

Check CONVEX_SELF_HOSTED_URL first. It must be the public backend hostname, not localhost, the dashboard URL or the HTTP-action URL. Confirm that the certificate is valid from the application environment and redeploy the application after changing its environment file.

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

HTTP actions fail while queries work

Verify the separate port-3211 domain and the public origin value used for HTTP actions. A backend domain mapped only to port 3210 does not automatically route action requests.

The admin-key command cannot find the service

List the Compose services and compare their names with the command’s backend argument. The command is service-name specific. Use the actual backend service name from the selected Compose file, then run the key-generation script supplied by that file.

Data disappears after redeployment

Inspect the volume mappings before starting another deployment. SQLite, PostgreSQL and MinIO each require persistent storage appropriate to the Compose definition. If the deployment uses an ephemeral directory, stop and restore from a known backup before accepting more data.

Origin or CORS errors appear in the browser

Look for stale localhost or old-domain values in the Compose environment. Make sure the browser is using the same HTTPS hostnames configured in Coolify and that the exact origin variables required by your Convex release are present. Because third-party examples use variable names that may not match every release, compare them with the current Compose file rather than guessing.

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

Official Compose versus community Coolify wiring

Consideration Official Convex Compose Community Coolify Compose
Primary advantage Maintained with the Convex self-hosting project Includes Coolify-oriented examples and MinIO wiring
Coolify-specific setup You may need to add domain and proxy configuration yourself Some Coolify settings are demonstrated directly
Support confidence Closer to the project’s documented deployment path Community material; not an official Coolify guide
Variable compatibility Use variables shipped with the selected Convex version Verify every variable before copying; names may be stale

Choose the official file when long-term maintenance and version alignment matter most. Choose the community file only when its extra storage or Coolify wiring solves a specific need and you are prepared to validate it against the current Convex release.

Version and maintenance cautions

Self-hosted Convex deployment instructions are version-sensitive. A Docker guide published roughly 225 days before the October 14, 2026 review may contain names that have since changed. Before upgrading, compare the new official Compose file with your running definition, read its migration notes, back up all state and test the update on a disposable instance.

There is no published statistic establishing Convex self-hosting or Coolify adoption, so capacity decisions should come from your own traffic, resource metrics and backup requirements rather than an adoption claim.

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.

Leave a Reply

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

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.

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
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

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.