---
title: "Discussion on \"Self-Hosting Dub: Everything you need to self-host Dub with Docker\" | Hashnode"
description: "Discussion on \"Self-Hosting Dub: Everything you need to self-host Dub with Docker\". Running an open-source URL shortener off Vercel — the Docker stack, the CI pipeline, and the source patches it takes to boot."
url: "https://hashnode.com/posts/self-hosting-dub-with-docker/6a6c82a55299aaff9c86c82e"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Self-Hosting Dub: Everything you need to self-host Dub with Docker](https://mugane.hashnode.dev/self-hosting-dub-with-docker?utm_source=hashnode&utm_medium=feed)

Running an open-source URL shortener off Vercel — the Docker stack, the CI pipeline, and the source patches it takes to boot.

Jul 31 · 14 min read · mugane.hashnode.dev  
Read the article

-   [#url-shortener](https://hashnode.com/tag/url-shortener)
-   [#docker](https://hashnode.com/tag/docker)
-   [#prisma](https://hashnode.com/tag/prisma)
-   [#planetscale](https://hashnode.com/tag/planetscale)
-   [#redis](https://hashnode.com/tag/redis)

## Written by

[Samuel Mugane](https://hashnode.com/@smugane)

@smugane · Nairobi, Kenya

  
[View profile](https://hashnode.com/@smugane)

Software Engineer

Hello! I am Samuel Mugane, a Software Engineer based in Nairobi, Kenya. Currently working on lending protocols with Go backends and Rust smart contracts.

## Responses 2

Markdown supported · ⌘↵ to post

[Andrew](https://hashnode.com/@rizzdev)

[Jul 31](https://hashnode.com/posts/self-hosting-dub-with-docker/6a6c82a55299aaff9c86c82e/comment/6a6cda941842ddf9570962bc)

The dev server died on start. The real problem sat in a missing local database string. The runtime would not boot without it. Same shape appeared after the hosted services were replaced with local containers. Build time still reached for the database connection. The string needed to be set or the build failed outright. The patches for cookie handling worked. Domain routing needed its own fix. The database layer exposed the same gap once analytics and billing were stubbed. The client initialization still demanded the connection before anything else ran

[Samuel Mugane](https://hashnode.com/@smugane)

[Jul 31](https://hashnode.com/posts/self-hosting-dub-with-docker/6a6c82a55299aaff9c86c82e/comment/6a6cda941842ddf9570962bc#reply-6a6cdbb13c7c965632af27d3)

Hello [Andrew](https://hashnode.com/@rizzdev "Andrew") thanks for the feedback. I guess we all experience different pains when it comes to matters like this. But I hope it worked on your end. Just wanted to share my approach to what I needed. If there's anything you would like to expound on the touch points you brought up. I am all ears. Cheers!
