Update documentation to include setup scripts and remove server type references
Refactors the README.md file to detail installation scripts and replace "VPS" with more general server terminology. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 77cfe984-2c65-4152-bb7a-0df28274fe66 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: a4f33306-93f4-413c-b24b-58e08633a127 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/c3c252e4-c83d-40ca-9fff-99a3ea60701e/77cfe984-2c65-4152-bb7a-0df28274fe66/FvHcc7z Replit-Helium-Checkpoint-Created: true
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
# Tx OS
|
# Tx OS
|
||||||
|
|
||||||
A bilingual (Arabic / English) internal "office OS" web platform. Single-tenant,
|
A bilingual (Arabic / English) internal "office OS" web platform. Single-tenant,
|
||||||
self-hosted, designed to live behind a TLS-terminating reverse proxy on a
|
self-hosted, designed to run on any Linux server (cloud or on-prem) behind a
|
||||||
private VPS or on-prem host.
|
TLS-terminating reverse proxy.
|
||||||
|
|
||||||
The repo is a pnpm monorepo containing:
|
The repo is a pnpm monorepo containing:
|
||||||
|
|
||||||
@@ -33,16 +33,68 @@ The repo is a pnpm monorepo containing:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Quick start (Docker)
|
## Quick start
|
||||||
|
|
||||||
The fastest path to a running stack on a Linux VPS with Docker installed.
|
Two ready-made install scripts cover the common cases — pick the one that
|
||||||
|
matches your machine. Both are idempotent (safe to re-run) and never delete
|
||||||
|
existing data.
|
||||||
|
|
||||||
|
### Option A — One-shot Docker install (recommended)
|
||||||
|
|
||||||
|
For any Linux server with Docker + Docker Compose. Boots the full stack
|
||||||
|
(Postgres, MinIO, API, SPA, Caddy edge) with a single command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone <this-repo>
|
||||||
|
cd tx-os
|
||||||
|
./start.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
`start.sh` will:
|
||||||
|
|
||||||
|
1. Copy `.env.docker.example` → `.env` on first run (and pause so you can
|
||||||
|
edit secrets — at minimum `SESSION_SECRET`, `POSTGRES_PASSWORD`).
|
||||||
|
2. Build the images, bring up the database + object storage, run migrations,
|
||||||
|
then start the API and web containers behind Caddy.
|
||||||
|
3. Print the URLs you can reach the system on.
|
||||||
|
|
||||||
|
After install, open the printed URL and the **first-time setup wizard** will
|
||||||
|
let you create the admin account in the browser. (You can also pre-seed an
|
||||||
|
admin by setting `SEED_ADMIN_PASSWORD` in `.env` before running.)
|
||||||
|
|
||||||
|
### Option B — Local development with HTTPS (`mkcert`)
|
||||||
|
|
||||||
|
For developers running the stack on their own laptop with trusted local
|
||||||
|
certificates (so the SPA can talk to a real `https://tx.local`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone <this-repo>
|
||||||
|
cd tx-os
|
||||||
|
./scripts/local-setup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
`local-setup.sh` will:
|
||||||
|
|
||||||
|
1. Detect your OS / package manager and tell you how to install
|
||||||
|
[`mkcert`](https://github.com/FiloSottile/mkcert) if it's missing.
|
||||||
|
2. Prompt for a local domain (default `tx.local`) and detect your LAN IP
|
||||||
|
(so phones / tablets on the same Wi-Fi can reach the system too).
|
||||||
|
3. Generate a trusted local TLS certificate covering `localhost`, the
|
||||||
|
chosen domain, and the LAN IP.
|
||||||
|
4. Bootstrap `.env` from `.env.example` (preserving any keys you've already
|
||||||
|
set), then bring the Docker stack up.
|
||||||
|
|
||||||
|
### Manual Docker install (advanced)
|
||||||
|
|
||||||
|
If you'd rather drive `docker compose` yourself:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone <this-repo>
|
git clone <this-repo>
|
||||||
cd tx-os
|
cd tx-os
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
# Edit .env — at minimum change SESSION_SECRET, POSTGRES_PASSWORD,
|
# Edit .env — at minimum change SESSION_SECRET, POSTGRES_PASSWORD,
|
||||||
# S3_SECRET_ACCESS_KEY, SEED_ADMIN_PASSWORD, SEED_USER_PASSWORD.
|
# S3_SECRET_ACCESS_KEY. SEED_ADMIN_PASSWORD / SEED_USER_PASSWORD are
|
||||||
|
# OPTIONAL — leave them blank to use the in-browser setup wizard.
|
||||||
$EDITOR .env
|
$EDITOR .env
|
||||||
|
|
||||||
docker compose build
|
docker compose build
|
||||||
|
|||||||
Reference in New Issue
Block a user