[{"data":1,"prerenderedAt":185},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fself-hosting\u002Fcoolify":3,"github-stars":182},{"id":4,"title":5,"body":6,"description":173,"extension":174,"meta":175,"navigation":176,"order":106,"path":177,"section":178,"seo":179,"stem":180,"__hash__":181},"docs\u002Fdocs\u002Fself-hosting\u002Fcoolify.md","Coolify",{"type":7,"value":8,"toc":167},"minimark",[9,14,24,29,37,41,48,71,75,78,126,140,144,147,163],[10,11,13],"h1",{"id":12},"deploy-on-coolify","Deploy on Coolify",[15,16,17,23],"p",{},[18,19,5],"a",{"href":20,"rel":21},"https:\u002F\u002Fcoolify.io",[22],"nofollow"," is a self-hostable PaaS. Clerq runs on it as a\nPostgreSQL database plus the published app image, with Coolify's proxy handling\ndomains and TLS. The app migrates the database itself on first boot.",[25,26,28],"h2",{"id":27},"_1-add-a-postgresql-database","1. Add a PostgreSQL database",[15,30,31,32,36],{},"In your project and environment, add a ",[33,34,35],"strong",{},"PostgreSQL"," resource. Once it is\nrunning, copy its connection string from the resource's view - Coolify exposes\nan internal URL the app can reach.",[25,38,40],{"id":39},"_2-add-the-app-resource","2. Add the app resource",[15,42,43,44,47],{},"Add a new resource of type ",[33,45,46],{},"Docker Image",":",[49,50,51,62],"ul",{},[52,53,54,57,58],"li",{},[33,55,56],{},"Image",": ",[59,60,61],"code",{},"ghcr.io\u002Fpunterdigital\u002Fclerq:latest",[52,63,64,67,68],{},[33,65,66],{},"Port",": set the exposed\u002Fproxy port to ",[59,69,70],{},"3000",[25,72,74],{"id":73},"_3-set-environment-variables","3. Set environment variables",[15,76,77],{},"On the app resource, add:",[79,80,85],"pre",{"className":81,"code":82,"language":83,"meta":84,"style":84},"language-bash shiki shiki-themes github-dark","DATABASE_URL=postgresql:\u002F\u002Fpostgres:PASSWORD@clerq-db:5432\u002Fpostgres\nBETTER_AUTH_SECRET=a-32-char-random-secret\nBETTER_AUTH_URL=https:\u002F\u002Fclerq.your-domain.com\n","bash","",[59,86,87,104,115],{"__ignoreMap":84},[88,89,92,96,100],"span",{"class":90,"line":91},"line",1,[88,93,95],{"class":94},"s95oV","DATABASE_URL",[88,97,99],{"class":98},"snl16","=",[88,101,103],{"class":102},"sU2Wk","postgresql:\u002F\u002Fpostgres:PASSWORD@clerq-db:5432\u002Fpostgres\n",[88,105,107,110,112],{"class":90,"line":106},2,[88,108,109],{"class":94},"BETTER_AUTH_SECRET",[88,111,99],{"class":98},[88,113,114],{"class":102},"a-32-char-random-secret\n",[88,116,118,121,123],{"class":90,"line":117},3,[88,119,120],{"class":94},"BETTER_AUTH_URL",[88,122,99],{"class":98},[88,124,125],{"class":102},"https:\u002F\u002Fclerq.your-domain.com\n",[15,127,128,129,131,132,134,135,139],{},"Use the internal connection string from step 1 for ",[59,130,95],{},", and set\n",[59,133,120],{}," to the domain you assign in the next step. See\n",[18,136,138],{"href":137},"\u002Fdocs\u002Fself-hosting\u002Fenvironment-variables","Environment variables"," for the full\nreference.",[25,141,143],{"id":142},"_4-set-the-domain-and-deploy","4. Set the domain and deploy",[15,145,146],{},"Set a domain (FQDN) on the app resource - Coolify issues a Let's Encrypt\ncertificate automatically - then deploy. The container runs migrations on first\nboot and starts serving. Open the domain and create your account.",[148,149,150],"blockquote",{},[15,151,152,153,157,158,162],{},"Make sure the app and the database are in the same project\u002Fnetwork so the\ninternal hostname resolves. For upgrades and backups, see\n",[18,154,156],{"href":155},"\u002Fdocs\u002Fself-hosting\u002Fbackups-and-upgrades","Backups & upgrades",", and run\nthrough the ",[18,159,161],{"href":160},"\u002Fdocs\u002Fself-hosting\u002Fproduction","production checklist",".",[164,165,166],"style",{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":84,"searchDepth":117,"depth":117,"links":168},[169,170,171,172],{"id":27,"depth":106,"text":28},{"id":39,"depth":106,"text":40},{"id":73,"depth":106,"text":74},{"id":142,"depth":106,"text":143},"Deploy Clerq on Coolify - a managed Postgres plus the published image, with automatic HTTPS.","md",{},true,"\u002Fdocs\u002Fself-hosting\u002Fcoolify","One-click deploy",{"title":5,"description":173},"docs\u002Fself-hosting\u002Fcoolify","SZCK1jNNturskZeA0oWk9rMQQBa4mhn9OY466AritVg",{"stars":183,"repo":184},0,"PunterDigital\u002Fclerq",1781535397977]