Commit graph

18 commits

Author SHA1 Message Date
amir-climy
e0e887f97a feat(install): add --license-server-pubkey and --license-server-url flags
These were documented but never implemented. Without TRITON_MANAGE_LICENSE_SERVER_PUBKEY
the server refuses to start. Also add both vars to env.template so users
know they exist and what they're for.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 23:10:06 +08:00
amir-climy
e2265c2d89 fix(get.sh): refresh installer files before uninstall
The uninstall shortcut was executing the stale on-disk uninstall.sh
without refreshing it first, unlike the upgrade path. This meant fixes
to uninstall.sh were never picked up by existing installations.
Refresh all installer files before exec-ing uninstall.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:58:02 +08:00
amir-climy
d67086ccd8 fix(uninstall): remove interactive confirmation for --purge-data
The read prompt reads EOF when invoked via curl pipe, causing an
immediate abort. The --purge-data flag is explicit enough to serve
as confirmation — no secondary prompt needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:54:40 +08:00
amir-climy
8ed781a6c1 fix(uninstall): remove cached container image on uninstall
Without image removal, reinstalling reuses the old cached image even if
a newer one is available. Read TRITON_MANAGE_IMAGE from .env (falling back
to :latest) and rmi it after stopping containers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:52:16 +08:00
amir-climy
373f393b03 fix(install): pull latest image before starting containers
Without an explicit pull, compose up reuses the locally cached image even
when a newer one is available on the registry. This caused the old image
(without --chmod=755) to be used on re-runs. Pull first to guarantee the
current released image is always used.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:50:53 +08:00
amir-climy
504242308c feat(upgrade): add --port flag to change web UI host port on upgrade
Allows changing the host port at upgrade time:

  curl ... | sudo bash -s -- --upgrade --port 9090

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:45:37 +08:00
amir-climy
3b3de281f6 feat(install): add --port flag to set web UI host port at install time
Passes --port PORT through to TRITON_MANAGE_HOST_PORT in .env so users
can change the default 8082 at install time via the one-liner:

  curl ... | sudo bash -s -- --port 9090

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:45:00 +08:00
amir-climy
f1cec6ac33 fix(scripts): handle BASH_SOURCE[0] unbound when piped via curl
BASH_SOURCE[0] is unset when a script runs via `curl | bash` (no source
file on disk). With `set -u` this triggers "unbound variable" and exits.
Fall back to $0 with ${BASH_SOURCE[0]:-$0} so piped execution works.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:38:47 +08:00
amir-climy
2a2744f897 docs(readme): rewrite with get.sh one-liners for install, upgrade, and uninstall
All commands are now single-line curl one-liners referencing get.sh directly.
Added dedicated Upgrade and Uninstall sections with full URLs. Requirements
updated to include macOS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:37:41 +08:00
amir-climy
bacccd9550 feat: add --upgrade one-liner and improve upgrade.sh
get.sh --upgrade:
- Re-downloads installer files (compose.yaml, upgrade.sh, etc.) so the
  on-disk scripts are always current before upgrading
- Then execs upgrade.sh with any passthrough flags (e.g. --image TAG)

upgrade.sh improvements:
- Platform-aware backup dir (Linux: /var/backups/triton,
  macOS: ~/Library/Application Support/triton/backups)
- Reads POSTGRES_USER/POSTGRES_DB from .env instead of hardcoding
- Uses detected runtime (podman/docker) for pg_dump exec
- Explicit messaging that DB migrations run automatically on startup
- Health check success confirms migrations applied
- Prints rollback command pointing at the backup file

Usage:
  curl -fsSL .../get.sh | sudo bash -s -- --upgrade
  curl -fsSL .../get.sh | sudo bash -s -- --upgrade --image ...:1.2.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:19:57 +08:00
amir-climy
ffa10f9171 feat(get.sh): add --uninstall flag for one-liner uninstall
curl -fsSL .../get.sh | sudo bash -s -- --uninstall
  curl -fsSL .../get.sh | sudo bash -s -- --uninstall --purge-data

Detects --uninstall early, resolves INSTALL_DIR from platform, and
execs the on-disk uninstall.sh (passing --purge-data through).
Fails fast with a clear message if Triton is not installed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:11:35 +08:00
amir-climy
6ff24df8d1 feat(installer): add one-liner bootstrap script for Manage Server
Adds get.sh — a curl-piped installer that:
- Detects Linux vs macOS
- Checks for Podman/Docker + compose runtime
- Installs Podman automatically (apt/dnf/yum/zypper/pacman on Linux, Homebrew on macOS)
- Falls back to pip3 for podman-compose when not in package manager
- Downloads installer files to /opt/triton-manage-server (Linux) or
  ~/.local/share/triton-manage-server (macOS)
- Delegates to install.sh with all forwarded flags

Usage:
  curl -fsSL https://raw.githubusercontent.com/primatekuntech/triton-install/main/get.sh | sudo bash

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 13:27:06 +08:00
github-actions[bot]
c2a7445b1e chore: sync installers from triton v1.0.0-rc.2 2026-05-17 08:33:44 +00:00
Amir Yahaya
286de6d3d0 docs: simplify install to single curl command — setup wizard handles licence config 2026-05-17 10:13:06 +02:00
github-actions[bot]
f64b71613f chore: sync installers from triton v1.0.0-rc.2 2026-05-17 07:43:44 +00:00
Amir Yahaya
1a50c46206 docs: scope README to manage server only 2026-05-17 09:22:25 +02:00
Amir Yahaya
bd67e55625 chore: remove license server installer — not for public distribution 2026-05-17 09:22:09 +02:00
Amir Yahaya
92b0eeec90 feat: initial installer scripts for manage server and license server 2026-05-17 08:57:58 +02:00