Deploy your workspace
Run the startup operating system on infrastructure you control. Start with the local stack, configure your models, then choose a production host.
A complete workspace has two processes
The web app serves the product and accepts work. A separate, long-running worker ingests documents and executes durable jobs. Both use the same PostgreSQL database, storage, credentials, and model configuration.
- Web app
- The authenticated product. Local port 3000.
- Worker
- Document ingestion, durable execution, and the Inngest endpoint. Local port 8020.
- PostgreSQL + pgvector
- Workspace data, jobs, and vector search. Compose exposes it on port 5433.
- Storage + processing
- S3-compatible objects, document conversion, editing, and PDF rendering. Compose supplies local services.
- Public website
- A separate app in apps/landing, normally on port 3001. Its account links point to the web app.
Start from the repository
Use Git and Docker with the Compose plugin. For commands outside Docker, use Node.js 20 and pnpm 10.15.1. Run the commands from the repository root; keep .env private.
git clone https://github.com/Deodat-Lawson/LaunchStack.git
cd LaunchStack
cp .env.example .env
openssl rand -base64 32The final command generates one secret. Generate independent values for BETTER_AUTH_SECRET and EMBEDDING_SECRETS_KEY, then place them in .env. Configure chat and embeddings before starting the stack.
Choose your route
Docker is the most complete local path. The production overlay adds a TLS proxy and published app/worker images. Vercel can host the web frontend, but still needs a separately hosted worker and services.