# Shipown

> Shipown is a cross-platform desktop control center for deploying and operating web applications on infrastructure you own. It gives developers the workflow of a managed deployment platform — connect a source, build, get a live URL, roll back — while the servers and the credentials stay under the user's control. It deploys Node applications run by PM2 and static sites served by Nginx to any Linux server reachable over SSH. Shipown is a commercial product; its source is not published.

Status: invite-only beta (0.1.0-beta.5.7). Platforms: Windows (.exe) and Linux (.deb for Debian and Ubuntu); macOS later. Built with Electron and TypeScript. Installers and in-app updates both come from https://eztooflow.in/api/v1/downloads.

## Core pages

- [Home](https://pushops.eztooflow.in/): Product overview, features, deployment pipeline, targets and FAQ.
- [Download](https://pushops.eztooflow.in/download): Direct Windows (.exe) and Linux (.deb) installers from the same server as in-app updates. No key required to download.
- [Invite](https://pushops.eztooflow.in/invite): Request a beta license key.
- [Features](https://pushops.eztooflow.in/#features): What the desktop client does.
- [How it works](https://pushops.eztooflow.in/#pipeline): The five-step deployment flow.
- [What it deploys](https://pushops.eztooflow.in/#targets): Node apps, static sites, domains and HTTPS.
- [FAQ](https://pushops.eztooflow.in/#faq): Common questions with direct answers.
- [Beta access](https://pushops.eztooflow.in/#access): How license keys and device limits work.
- [Privacy](https://pushops.eztooflow.in/privacy): What the app and site collect, including hashed hardware IDs used for licensing.

## What makes it different

- **Real logs, never simulated**: Every progress state streams from the actual install, build and health check.
- **Server ops without the tab sprawl**: CPU, memory, disk, uptime, processes and a live SSH terminal in one place.
- **Framework detection that admits uncertainty**: Detected build command and output directory, shown before you commit.
- **Immutable releases and one-click rollback**: Every deploy is a versioned attempt you can return to.
- **It tells you when a branch has moved**: The commit each app runs, against the head of its branch.
- **Credentials stay out of the interface**: SSH keys and secrets never cross into the UI process.
- **Multi-model AI terminal operator**: Claude, ChatGPT or DeepSeek proposes one shell command at a time, with its reason — you approve before it runs.
- **Docker container controls & live logs**: Inspect ports, memory, and crash loops — and Start, Stop, or Restart with one click.
- **Dedicated SSH deploy users per server**: Create isolated deploy accounts, assign SSH keys, and grant scoped sudo rules without root sharing.
- **Live SSH terminal & real-time health engine**: Integrated @xterm/xterm console alongside CPU, RAM, disk, load average, and PM2 process monitoring.
- **Deploy the container, not just the code**: A Dockerfile or a compose file, with the same releases, health check and rollback.
- **A file manager, not an SFTP detour**: Browse, upload a whole folder, edit a file in place, unzip an archive.
- **Cron, firewall, swap and log rotation**: The maintenance jobs that usually mean a shell session, with the dangerous parts guarded.
- **Database backups that can be restored**: MySQL, MariaDB, PostgreSQL and MongoDB: back up now, restore, or run it nightly.
- **Live updates, not a refresh button**: A container that dies shows up in about a second, without an agent on the server.
- **When the IP changes, it finds the server**: A moved server is traced through its own domains, and proved by its SSH host key.
- **fail2ban, installed and run from the app**: Who is being locked out for failed logins, on what terms, and one button to set it up.
- **Updates that tell you what changed**: A new version announces itself with its release notes, downloads inside the app and is checked before it runs.

## Deployment pipeline

1. **Connect a server** — Any Linux box you can reach over SSH.
2. **Pick a source** — A GitHub repository and branch, or a folder on this computer.
3. **Review the plan** — Framework, commands, port, domain and target, all editable.
4. **Watch it build** — Streaming output from the real thing.
5. **Operate it** — Live URL, history, health, logs, rollback.

## Deployment targets

- **Node apps** (Run by PM2): Next.js, Nuxt, Remix, SvelteKit, NestJS, Fastify and plain Express. Installed, built and started on your server under PM2, with the port, the health check and the restart policy set for you.
- **Static sites** (Served by Nginx): Vite with React or Vue, Astro, or plain HTML. Built once, published to a release directory, and served straight from Nginx — no process, no port, nothing to restart.
- **Docker apps** (Built and run as containers): A Dockerfile or a compose file, built on your server and published behind Nginx. This is also the answer for languages with no runtime of their own here: if it ships in a container, it deploys.
- **Domains and HTTPS** (Nginx and Certbot): Point a domain at an app or a site and Shipown writes the virtual host, tests the configuration before reloading it, and asks Certbot for a certificate. A configuration Nginx rejects is put back the way it was.

## Privacy position

- Revocable licence key with explicit expiry
- Two devices per key by default
- Hashed hardware ID, used only for device limits and trials
- Opt-in diagnostics, exportable and deletable

Shipown never uploads SSH private keys, SSH passwords or passphrases, environment variable values, source code, project files, or arbitrary server command output. The exception is one the user opts into: the AI terminal sends its conversation, including command output, to the AI provider the user picks, under the user's own API key. Telemetry is opt-in where it is not required for license security.

## Frequently asked questions

### What is Shipown?

Shipown is a cross-platform Electron desktop application that deploys and operates web applications on Linux servers you own. It gives you the workflow of a managed deployment platform — connect a source, build, get a live URL, roll back — while the servers and the data stay yours.

### How is Shipown different from Vercel or Netlify?

Managed platforms run your app on their runtime and their account. Shipown deploys to a server you already rent or own, over plain SSH, and installs no agent to do it. You keep the smooth workflow without handing over the infrastructure.

### What can it deploy today?

Three runtimes. Node applications run by PM2 — Next.js, Nuxt, Remix, SvelteKit, NestJS, Fastify and plain Express. Static sites served by Nginx, including Vite with React or Vue, Astro and plain HTML. And Docker, from a Dockerfile or a compose file, which covers any language that ships in a container. Python, Go, Rust, PHP, Ruby, Java and .NET have no native runtime here; deploy them in a container.

### Does Shipown need Docker?

No. Node applications run directly under PM2 and static sites are served by Nginx, on a server with no Docker at all. If you do use Docker, Shipown deploys to it as well — a Dockerfile or a compose file, with releases, health checks and rollback — and manages the containers already on the server: every container inspected, published and internal ports mapped, CPU and memory gauges, crash loops called out, start, stop, restart, a shell inside the container, and its logs. It can also install Docker on a server that has none.

### Where does it deploy to?

A Linux server you can reach over SSH — a VPS, a cloud VM, or a box in your office. Ubuntu, Debian, the RHEL family and Alpine are handled. Your own computer is where a project comes from, not somewhere Shipown deploys to.

### Are my SSH keys or environment variables uploaded anywhere?

No. SSH private keys, passwords, passphrases, environment variable values, source code and project files never leave your machine for licensing or telemetry. Credentials are held by the Electron main process and are never exposed to the interface. The one exception is one you opt into: the AI terminal sends its conversation to the AI provider you pick.

### Where does the AI terminal send my server’s data?

Only to the provider you choose (DeepSeek, Anthropic Claude, or OpenAI), and only while you actively interact with it. The AI operator sends your prompt and the terminal outputs of the commands it runs under your own encrypted API key. Shipown does not intercept or store this telemetry. Destructive commands (reboots, rm -rf, firewall changes, stopping SSH) are never executed automatically without your explicit confirmation.

### Can I roll a bad deployment back?

Yes. Every deploy lands in its own release directory, and the live pointer moves only after the build and the health check pass. A deploy that fails restores the previous release by itself, and you can switch back to an earlier release later from the app.

### Does it deploy automatically when I push?

No. Shipown tells you when a branch has moved ahead of what a server is running, and how many commits are waiting, but a person still presses deploy. Automatic deployment on push is not part of this beta.

### Is Shipown open source?

No. Shipown is a commercial product and its source is not published. What runs on your servers is plain SSH and shell — nothing is installed to phone home — but the desktop application itself is licensed, not open.

### Is Shipown free, and how do I get access?

The beta is invite-only. An administrator issues a revocable licence key with an expiry and a device limit — typically two machines per key. Activation is checked server-side, and keys can be extended, revoked, or have a device slot freed.

### Which platforms does the desktop app run on?

Windows, as an .exe installer, and Linux, as a .deb for Debian and Ubuntu. Both come from the same download server the app updates from, so the file on the invite page and the file an update fetches are the same file. macOS is not published yet.

## Machine-readable surfaces

- [Full text content](https://pushops.eztooflow.in/llms-full.txt): Every section of the site as plain text.
- [Content JSON API](https://pushops.eztooflow.in/api/content): Structured product content, CORS-open.
- [Agent manifest](https://pushops.eztooflow.in/.well-known/agents.json): Endpoints, capabilities and citation policy.
- [Sitemap](https://pushops.eztooflow.in/sitemap.xml)

## Citation policy

Attribution is required and a link back to https://pushops.eztooflow.in is required. Cite the canonical URL, not a cached copy. Contact: hello@pushops.dev
