Use short install URL in installer and docs

This commit is contained in:
2026-10-20 08:35:36 +01:00
parent e73eab3d41
commit 6c57fae444
4 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -113,7 +113,7 @@ Inspect live data with `bun llm-code-assistant/query-db.ts "<sql>"` - a read-onl
### Installer and release ### Installer and release
`install.sh` is the only supported install and update path: `curl -fsSL https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh | sudo bash`. It is idempotent, so the same script is the updater, and `--uninstall [--purge]` is the way back out. It installs Docker when missing (Linux), creates the `cobble` network, writes `$COBBLE_HOME/install.conf` and a generated `.env` (mode 600), and starts one `cobble` container. Existing secrets are never regenerated; the database is backed up to `$COBBLE_HOME/backups` before a container is replaced. The default home is `/opt/cobble`, configurable with `--home`, and everything that must survive an update lives in its `data/` directory (`db`, `media`, `computers`). `install.sh` is the only supported install and update path: `curl -fsSL https://url.moduletrace.com/cobble | sudo bash`. It is idempotent, so the same script is the updater, and `--uninstall [--purge]` is the way back out. It installs Docker when missing (Linux), creates the `cobble` network, writes `$COBBLE_HOME/install.conf` and a generated `.env` (mode 600), and starts one `cobble` container. Existing secrets are never regenerated; the database is backed up to `$COBBLE_HOME/backups` before a container is replaced. The default home is `/opt/cobble`, configurable with `--home`, and everything that must survive an update lives in its `data/` directory (`db`, `media`, `computers`).
The container runs with `--network cobble`, `-p BIND:PORT`, `.env` at `/app/.env` read only, the host data directory at `/data`, the docker socket at `/var/run/docker.sock`, `MAIN_SERVER=1` and `PORT`, `--init`, a `unless-stopped` restart policy and bounded json-file logs. `/data` must stay a bind mount: `resolveHostPath` turns paths under the app's own mounts into host paths for computer containers, and a named volume would break them. `DATA_DIR=/data` and `DB_DIR=/data/db` come from the Dockerfile; `entrypoint.sh` keeps bun-sqlite's schema record on the same volume. The container runs with `--network cobble`, `-p BIND:PORT`, `.env` at `/app/.env` read only, the host data directory at `/data`, the docker socket at `/var/run/docker.sock`, `MAIN_SERVER=1` and `PORT`, `--init`, a `unless-stopped` restart policy and bounded json-file logs. `/data` must stay a bind mount: `resolveHostPath` turns paths under the app's own mounts into host paths for computer containers, and a named volume would break them. `DATA_DIR=/data` and `DB_DIR=/data/db` come from the Dockerfile; `entrypoint.sh` keeps bun-sqlite's schema record on the same volume.
+4 -4
View File
@@ -23,7 +23,7 @@ On a Linux machine with Docker (the installer adds Docker when it is
missing): missing):
```bash ```bash
curl -fsSL https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh | sudo bash curl -fsSL https://url.moduletrace.com/cobble | sudo bash
``` ```
Open the address it prints, usually `http://<your-ip>:7227`, and create the Open the address it prints, usually `http://<your-ip>:7227`, and create the
@@ -58,15 +58,15 @@ home directories and generated secrets, backs up the database before
replacing the container, and does nothing when the image has not changed. replacing the container, and does nothing when the image has not changed.
```bash ```bash
curl -fsSL https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh | sudo bash curl -fsSL https://url.moduletrace.com/cobble | sudo bash
``` ```
```bash ```bash
# Stop the app and keep the data # Stop the app and keep the data
curl -fsSL https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh | sudo bash -s -- --uninstall curl -fsSL https://url.moduletrace.com/cobble | sudo bash -s -- --uninstall
# Stop the app and delete the data # Stop the app and delete the data
curl -fsSL https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh | sudo bash -s -- --uninstall --purge curl -fsSL https://url.moduletrace.com/cobble | sudo bash -s -- --uninstall --purge
``` ```
### Options ### Options
+1 -1
View File
@@ -48,7 +48,7 @@ The repository starts private and is made public at the launch gate below.
11. [ ] Update every install with the one-liner: 11. [ ] Update every install with the one-liner:
curl -fsSL https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh | sudo bash curl -fsSL https://url.moduletrace.com/cobble | sudo bash
## Launch gate ## Launch gate
+2 -2
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Cobble installer and updater. # Cobble installer and updater.
# #
# curl -fsSL https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh | sudo bash # curl -fsSL https://url.moduletrace.com/cobble | sudo bash
# #
# The script is idempotent: running it again updates Cobble in place and # The script is idempotent: running it again updates Cobble in place and
# keeps the data, the database and the generated secrets. It installs # keeps the data, the database and the generated secrets. It installs
@@ -16,7 +16,7 @@ DEFAULT_PORT="7227"
DEFAULT_BIND="0.0.0.0" DEFAULT_BIND="0.0.0.0"
DEFAULT_IMAGE="ghcr.io/moduletrace/cobble" DEFAULT_IMAGE="ghcr.io/moduletrace/cobble"
DEFAULT_VERSION="latest" DEFAULT_VERSION="latest"
INSTALL_URL="https://raw.githubusercontent.com/moduletrace/cobble/main/install.sh" INSTALL_URL="https://url.moduletrace.com/cobble"
HEALTH_TIMEOUT_SECONDS="${COBBLE_HEALTH_TIMEOUT:-900}" HEALTH_TIMEOUT_SECONDS="${COBBLE_HEALTH_TIMEOUT:-900}"
BACKUPS_KEPT=5 BACKUPS_KEPT=5