diff --git a/README.md b/README.md index eb337a8..eb42525 100644 --- a/README.md +++ b/README.md @@ -38,27 +38,9 @@ The app focuses on a calm interface for watching videos, managing subscriptions, - Download jobs through a separate downloader service. - A Docker Compose stack for self-hosting the frontend, backend, cache, database, token service, and artifact storage. -## Stack - -| Role | Tool | -|---|---| -| Language | TypeScript | -| Runtime | Bun | -| Build | Vite | -| UI | React | -| Routing | TanStack Router | -| Server state | TanStack Query | -| Client state | Zustand | -| Player | Vidstack | -| Styling | Tailwind CSS | -| Components | shadcn/ui + Radix UI | -| Quality | Biome, Sherif, Knip | -| Deployment | Docker Compose | -| License | MIT | - ## Self-hosting -The fastest path is the installer: +The installer is for running the stack, not just cloning the source repositories: ```sh curl -fsSL https://raw.githubusercontent.com/Priveetee/TypeType/main/scripts/install-stack.sh | bash @@ -66,6 +48,12 @@ curl -fsSL https://raw.githubusercontent.com/Priveetee/TypeType/main/scripts/ins It installs to `~/typetype-stack`, generates local downloader credentials, chooses free ports when needed, starts the services, and bootstraps Garage. +To download stack files without starting Docker: + +```sh +curl -fsSL https://raw.githubusercontent.com/Priveetee/TypeType/main/scripts/install-stack.sh | bash -s -- --download-only +``` + For an interactive setup from a cloned repository: ```sh @@ -84,6 +72,32 @@ docker compose ps Default local endpoints are `http://localhost:8082` for the frontend, `http://localhost:8080` for the API, and `http://localhost:8081` for the token service. Host ports can be changed through `.env`. +## Stack + +| Role | Tool | +|---|---| +| Language | TypeScript TypeScript | +| Runtime | Bun Bun | +| Build | Vite Vite | +| UI | React React | +| Routing and server state | TanStack TanStack Router + Query | +| Styling | Tailwind CSS Tailwind CSS | +| Components | shadcn/ui shadcn/ui + Radix UI Radix UI | +| Quality | Biome Biome + Knip Knip | +| Deployment | Docker Docker Compose | +| License | MIT | + +## Source repositories + +If you only want the source code, clone the repositories directly: + +```sh +git clone https://github.com/Priveetee/TypeType.git +git clone https://github.com/Priveetee/TypeType-Server.git +git clone https://github.com/Priveetee/TypeType-Downloader.git +git clone https://github.com/Priveetee/TypeType-Token.git +``` + ## Local development Install dependencies: @@ -121,10 +135,6 @@ bun run knip bun run sherif ``` -## Docker images - -Images are published to GitHub Container Registry: `typetype`, `typetype-server`, `typetype-downloader`, and `typetype-token`. Published tags include `latest`, `main`, branch tags, release tags, and `sha-`. - ## Updating Update the whole stack: @@ -142,13 +152,6 @@ docker compose pull typetype docker compose up -d --force-recreate --no-deps typetype ``` -## Related projects - -- [TypeType-Server](https://github.com/Priveetee/TypeType-Server) is the Kotlin backend. -- [TypeType-Downloader](https://github.com/Priveetee/TypeType-Downloader) handles downloadable artifacts. -- [TypeType-Token](https://github.com/Priveetee/TypeType-Token) provides proof-of-origin tokens. -- [TypeType-Android](https://github.com/Priveetee/TypeType-Android) is the native Android client. - ## Acknowledgments TypeType is a clean rewrite, but the product direction was shaped by existing open-source video clients and extractor projects. diff --git a/scripts/install-stack.sh b/scripts/install-stack.sh index 6bb183c..0bc8f0b 100755 --- a/scripts/install-stack.sh +++ b/scripts/install-stack.sh @@ -311,8 +311,10 @@ if [[ ${START_STACK} -eq 0 ]]; then fi if ! confirm_tty "Proceed with Docker pull + startup in ${INSTALL_DIR}?"; then - echo "[install] Cancelled by user." - exit 1 + echo "[install] Stack files are ready in ${INSTALL_DIR}." + echo "[install] Docker startup skipped." + echo "[install] Next step: cd ${INSTALL_DIR} && ./scripts/setup-stack.sh" + exit 0 fi echo "[install] Pulling Docker images..."