[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3aiwm7ufcqwfu":3},{"_id":4,"slug":5,"title":6,"subtitle":7,"kind":8,"cards":9,"tags":58,"categories":59,"source":60,"lang":63,"author":64,"audioState":67,"stats":68,"publishedAt":71,"renderer":72},"6abbaa75ca21c797c7e9d344","github---oblienopenship-self-hosted-deployment-platform-a4c5e98e","GitHub - oblien\u002Fopenship: Self-hosted deployment platform","Open-source, self-hostable deployment platform with built-in CI\u002FCD.","news",[10,13,18,23,28,33,38,43,48,53],{"headline":6,"body":11,"imageUrl":12,"sourceImageUrl":12},"Open-source, self-hostable deployment platform with built-in CI\u002FCD. Point it at a repo — it builds, ships, routes, and TLS-terminates your app. Drive it from a desktop app, web dashboard, or CLI.","https:\u002F\u002Fopengraph.githubassets.com\u002F00860d9dd92ba9f35038d425af9cfb0b90918e11e2e7e3848d28f75bfd51ce6d\u002Foblien\u002Fopenship",{"headline":14,"body":15,"imageUrl":16,"images":17},"There's one decision to make first: how you","There's one decision to make first: how you run Openship itself (the control plane). Everything else is the same afterwards.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F1.webp",{"local":16},{"headline":19,"body":20,"imageUrl":21,"images":22},"Solo? Use the desktop app. It runs Openship's","Solo? Use the desktop app. It runs Openship's control plane on your own machine only while the app is open — nothing is left running on an always-on server, nothing is exposed publicly. You only need an always-on server install once you want push-to-deploy (CI\u002FCD), team access, or to host apps on that box — the things that need a public, always-on endpoint.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F2.webp",{"local":21},{"headline":24,"body":25,"imageUrl":26,"images":27},"The control plane runs locally and drives your","The control plane runs locally and drives your servers over SSH. No login, no terminal, no public surface — download, open, done:","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F3.webp",{"local":26},{"headline":29,"body":30,"imageUrl":31,"images":32},"Linux: chmod +x Openship.AppImage && .\u002FOpenship.AppImage. Already have","Linux: chmod +x Openship.AppImage && .\u002FOpenship.AppImage. Already have the CLI? openship install fetches and launches it. Links always point at the newest release.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F4.webp",{"local":31},{"headline":34,"body":35,"imageUrl":36,"images":37},"From the desktop app you connect a server","From the desktop app you connect a server (SSH) or Openship Cloud and deploy to it — the app itself doesn't host public apps on your laptop. Team \u002F always-on — self-hosted server","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F5.webp",{"local":36},{"headline":39,"body":40,"imageUrl":41,"images":42},"Install the CLI (it bundles the API +","Install the CLI (it bundles the API + dashboard), then run openship — an interactive wizard creates the first admin, wires your domain, and installs Openship as a boot service. Run it again anytime to manage the instance.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F6.webp",{"local":41},{"headline":44,"body":45,"imageUrl":46,"images":47},"The install script brings its own Node when","The install script brings its own Node when your system one is older than 22; a package-manager install runs on the Node you already have. For CI \u002F headless boxes, skip the wizard and drive openship up directly: openship up picks how it runs for you:","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F7.webp",{"local":46},{"headline":49,"body":50,"imageUrl":51,"images":52},"On Linux with Docker → Compose mode (the","On Linux with Docker → Compose mode (the default). Brings up the full stack — Postgres, Redis, API, dashboard, and a containerized OpenResty edge on :80\u002F:443 — from published images. This is the flavor that hosts your deployed apps on the same box, with automatic domains + Let's Encrypt TLS. Force it with --compose.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F8.webp",{"local":51},{"headline":54,"body":55,"imageUrl":56,"images":57},"Everywhere else → bare mode (macOS, Windows, or","Everywhere else → bare mode (macOS, Windows, or Linux without Docker). A single lightweight process with an embedded database — an always-on control plane that deploys apps out to a server (SSH) or Cloud, like the desktop app but always on and login-required. Force it with --bare.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---oblienopenship-self-hosted-deployment-platform-a4c5e98e\u002F9.webp",{"local":56},[],[],{"name":61,"url":62},"GitHub","https:\u002F\u002Fgithub.com\u002Foblien\u002Fopenship","en",{"handle":65,"displayName":66},"spots","Spots","queued",{"views":69,"likes":70,"saves":70,"shares":70,"completions":70,"opens":70,"skips":70,"depthSum":70},3,0,"2026-09-29T12:09:25.336Z","local"]