{"id":50932057,"url":"https://github.com/kisaesdevlab/vibe-installer","last_synced_at":"2026-06-17T05:04:45.215Z","repository":{"id":354509160,"uuid":"1223148716","full_name":"KisaesDevLab/vibe-installer","owner":"KisaesDevLab","description":"Single-host Docker appliance installer for the Vibe product family","archived":false,"fork":false,"pushed_at":"2026-04-28T22:18:19.000Z","size":202,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-28T22:25:52.646Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KisaesDevLab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-28T03:46:59.000Z","updated_at":"2026-04-28T21:53:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/KisaesDevLab/vibe-installer","commit_stats":null,"previous_names":["kisaesdevlab/vibe-installer"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/KisaesDevLab/vibe-installer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KisaesDevLab%2Fvibe-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KisaesDevLab%2Fvibe-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KisaesDevLab%2Fvibe-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KisaesDevLab%2Fvibe-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KisaesDevLab","download_url":"https://codeload.github.com/KisaesDevLab/vibe-installer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KisaesDevLab%2Fvibe-installer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34434498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-17T05:04:29.984Z","updated_at":"2026-06-17T05:04:45.195Z","avatar_url":"https://github.com/KisaesDevLab.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vibe-installer\n\nOne-command installer for the Vibe product family — Vibe MyBooks, Vibe Connect,\nVibe TB, and Vibe Payroll Time — on a single Ubuntu 24.04 host.\n\nDesigned for non-technical CPA-firm IT operators. Works on:\n\n- A **self-hosted appliance** — NucBox M6 (or similar) running Ubuntu Server 24.04 LTS.\n- A **DigitalOcean droplet** — Ubuntu 24.04, 4 vCPU / 8 GB GP Premium Intel as the floor.\n\n## Quick start\n\nOn a fresh Ubuntu 24.04 host:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/KisaesDevLab/vibe-installer/main/install.sh | sudo bash\n```\n\nThe bootstrapper installs Docker (if missing), clones this repo to\n`/opt/vibe-installer`, creates a system `vibe` user, and asks you two\nquestions:\n\n1. **Hostname** the appliance answers to (e.g. `vibe.local` or `vibe.firm.com`).\n2. **TLS strategy:**\n   - `internal` — `caddy trust` + `vibe.local` for in-office LAN use.\n   - `acme` — Let's Encrypt over HTTP-01 for a public FQDN.\n   - `cf-tunnel` — Cloudflare Tunnel terminates TLS upstream.\n\nOnce it finishes, you have a `vibe` command:\n\n```bash\nsudo vibe doctor                  # green = host is ready\nsudo vibe install mybooks         # add Vibe MyBooks\nsudo vibe install connect         # auto-promotes to multi-app mode at /mybooks /connect\nsudo vibe install tb\nsudo vibe install payroll\nsudo vibe install tax             # Vibe Tax Research Chat (CPA AI assistant)\n```\n\n## What gets installed where\n\n| Path                    | Contents                                          |\n|-------------------------|---------------------------------------------------|\n| `/opt/vibe-installer/`  | This repo (the CLI lives at `bin/vibe`).          |\n| `/usr/local/bin/vibe`   | Symlink to `bin/vibe` — the operator's entry point.|\n| `/etc/vibe/vibe.conf`   | Mode + host + tls + installed-apps registry.      |\n| `/etc/vibe/\u003capp\u003e/.env`  | Per-app secrets, mode 0600 (owned by `vibe`).     |\n| `/var/lib/vibe/\u003capp\u003e/`  | Per-app data (Postgres, uploads, redis AOF).      |\n| `/var/lib/vibe/.archive/` | Where uninstalled app data goes.                |\n| `/var/log/vibe/`        | Installer + lifecycle logs.                       |\n\n## Modes\n\n- **Single-app mode** — One Vibe product per host. The app publishes its own\n  ports directly. Simplest for a firm running just one product.\n- **Multi-app mode** — Two or more products on the same host behind a shared\n  Caddy ingress at `https://\u003chost\u003e/\u003capp\u003e/`. Automatically activated when you\n  install a second app.\n\nYou don't pick the mode up front — `vibe install` promotes/demotes the host\nas you add or remove apps. To force a switch (e.g. for testing):\n\n```bash\nsudo vibe mode multi   # or: single\n```\n\n## Unattended install\n\nFor provisioning runs (Ansible, cloud-init, etc.):\n\n```bash\nexport VIBE_HOST=vibe.example.com\nexport VIBE_TLS_MODE=acme\nexport VIBE_ASSUME_YES=1\ncurl -fsSL https://raw.githubusercontent.com/KisaesDevLab/vibe-installer/main/install.sh | sudo -E bash\n\nexport VIBE_LICENSE_TOKEN_MYBOOKS=\"…\"   # PR2+\nsudo -E vibe install mybooks\n```\n\n## Updating\n\nThe installer is **manual-update only by design**. There is no background\ntimer pulling new images.\n\n```bash\nsudo vibe upgrade-check                  # list available newer minor versions\nsudo vibe upgrade mybooks                # apply the latest minor of the major you're on\nsudo vibe upgrade mybooks --to 1.4.3     # pin a specific version\n\n# Update the installer itself:\nsudo curl -fsSL https://raw.githubusercontent.com/KisaesDevLab/vibe-installer/main/install.sh | sudo bash\n```\n\n## Status\n\nThis repo is in active development. Track per-PR scope:\n\n| PR | Status | Scope |\n|----|--------|-------|\n| 1  | landed | bootstrap + CLI skeleton (`status`, `doctor`, `mode`) |\n| 2  | next   | `install mybooks` (single-app) |\n| 3  | next   | ingress + Connect + multi-app promotion |\n| 4  | next   | TB + Payroll |\n| 5  | next   | upgrade / uninstall / archive |\n| 6  | next   | Cloudflare Tunnel toggle |\n| 7  | next   | GLM-OCR + Tailscale + admin tools |\n| 8  | next   | Cosign-signed `install.sh`, v1.0.0 |\n\n## Security model\n\n- Per-app data isolation: each Vibe product has its own Postgres, Redis, and\n  volumes. The shared ingress never touches DBs.\n- License keys verified locally with RSA pubkeys fetched from\n  `licensing.kisaes.com`. Secrets generated at install time, written to\n  `/etc/vibe/\u003capp\u003e/.env` (mode 0600, owned by the `vibe` user). They are\n  never committed to this repo.\n- Cloudflare credentials, when used, are **the customer's** — the installer\n  prompts for the firm's tunnel token; it never embeds any third-party\n  credential.\n\n## Source-of-truth references\n\n- [`vibe-distribution-plan.md`](https://github.com/KisaesDevLab/vibe-installer/blob/main/docs/vibe-distribution-plan.md) — the architectural spec this installer implements.\n- App repos (where the GHCR images come from):\n  - `KisaesDevLab/vibe-mybooks`\n  - `KisaesDevLab/vibe-connect`\n  - `KisaesDevLab/trial-balance-app`\n  - `KisaesDevLab/vibe-payroll-time`\n  - `KisaesDevLab/Vibe-Tax-Research-Chat`\n\n## License\n\nMIT (this installer is glue — the Vibe products carry their own BSL 1.1 /\nPolyForm licenses).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkisaesdevlab%2Fvibe-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkisaesdevlab%2Fvibe-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkisaesdevlab%2Fvibe-installer/lists"}