summaryrefslogtreecommitdiff
path: root/install.sh
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-02-23 00:30:44 +0000
committerGitHub <noreply@github.com>2026-02-23 00:30:44 +0000
commit212953938d84b6fca07112dcac759eea060a8393 (patch)
treec211e2bc2ffcd0362aa1721eb23167c912d77bc3 /install.sh
parenta8dd432fd58a3036cf952eec691981dff43a7c7e (diff)
downloadsoryu-0.2.0.tar.gz
soryu-0.2.0.zip
feat: publish makima to public repo with sync, GHCR, and install updates (#79)v0.2.0
* feat: soryu-co/soryu - makima: Update install.sh to point at public makima repo * feat: soryu-co/soryu - makima: Update daemons page download links to use public makima releases * feat: soryu-co/soryu - makima: Research Cloudflare Containers for running full makima daemon * feat: soryu-co/soryu - makima: Push container image to ghcr.io/soryu-co/makima namespace * feat: soryu-co/soryu - makima: Add workflow to sync public files to soryu-co/makima repo
Diffstat (limited to 'install.sh')
-rw-r--r--install.sh54
1 files changed, 46 insertions, 8 deletions
diff --git a/install.sh b/install.sh
index 3dc76e1..0dbdd39 100644
--- a/install.sh
+++ b/install.sh
@@ -2,8 +2,8 @@
set -e
# Makima CLI Installer
-# Usage: curl -fsSL https://raw.githubusercontent.com/soryu-co/soryu/master/install.sh | bash
-# curl -fsSL https://raw.githubusercontent.com/soryu-co/soryu/master/install.sh | INSTALL_DIR=/opt/bin bash
+# Usage: curl -fsSL https://raw.githubusercontent.com/soryu-co/makima/master/install.sh | bash
+# curl -fsSL https://raw.githubusercontent.com/soryu-co/makima/master/install.sh | INSTALL_DIR=/opt/bin bash
INSTALL_DIR="${INSTALL_DIR:-/usr/local/bin}"
BINARY_NAME="makima"
@@ -38,6 +38,10 @@ check_dependencies() {
missing="$missing curl"
fi
+ if ! command -v tar &> /dev/null; then
+ missing="$missing tar"
+ fi
+
if [ -n "$missing" ]; then
print_error "Missing required tools:$missing"
print_info "Please install the missing tools and try again."
@@ -85,11 +89,26 @@ detect_arch() {
esac
}
+# Get the latest release tag from GitHub
+get_latest_tag() {
+ local tag
+ tag=$(curl -fsSL "https://api.github.com/repos/soryu-co/makima/releases/latest" 2>/dev/null | grep '"tag_name"' | sed -E 's/.*"tag_name": *"([^"]+)".*/\1/')
+
+ if [ -z "$tag" ]; then
+ print_error "Failed to determine latest release tag from GitHub"
+ print_info "Please check your internet connection or try again later."
+ exit 1
+ fi
+
+ echo "$tag"
+}
+
# Construct the download URL for the binary
get_download_url() {
local os=$1
local arch=$2
- echo "https://api.makima.jp/api/v1/daemon/download/${os}-${arch}"
+ local tag=$3
+ echo "https://github.com/soryu-co/makima/releases/download/${tag}/makima-${tag}-${os}-${arch}.tar.gz"
}
# Download and install the binary
@@ -97,23 +116,38 @@ install_binary() {
local url=$1
local tmpdir
tmpdir=$(mktemp -d)
- local binary="$tmpdir/$BINARY_NAME"
+ local tarball="$tmpdir/makima.tar.gz"
print_info "Downloading from: $url"
- if ! curl -fsSL "$url" -o "$binary"; then
+ if ! curl -fsSL "$url" -o "$tarball"; then
print_error "Failed to download from: $url"
print_info "Please check if the binary is available for your platform."
rm -rf "$tmpdir"
exit 1
fi
- if [ ! -f "$binary" ] || [ ! -s "$binary" ]; then
+ if [ ! -f "$tarball" ] || [ ! -s "$tarball" ]; then
print_error "Downloaded file is empty or missing"
rm -rf "$tmpdir"
exit 1
fi
+ # Extract the tarball
+ print_info "Extracting archive..."
+ if ! tar xzf "$tarball" -C "$tmpdir"; then
+ print_error "Failed to extract archive"
+ rm -rf "$tmpdir"
+ exit 1
+ fi
+
+ local binary="$tmpdir/$BINARY_NAME"
+ if [ ! -f "$binary" ]; then
+ print_error "Binary '$BINARY_NAME' not found in archive"
+ rm -rf "$tmpdir"
+ exit 1
+ fi
+
chmod +x "$binary"
# Create install directory if needed
@@ -166,13 +200,17 @@ main() {
check_dependencies
- local os arch
+ local os arch tag
os=$(detect_os)
arch=$(detect_arch)
print_info "Detected platform: $os-$arch"
+ print_info "Fetching latest release..."
+ tag=$(get_latest_tag)
+ print_info "Latest release: $tag"
+
local url
- url=$(get_download_url "$os" "$arch")
+ url=$(get_download_url "$os" "$arch" "$tag")
print_info ""
install_binary "$url"