webproxy/docs/DEPLOYMENT.md
Jeremy Meyer 17bba2d040 feat: initial monorepo setup with Next.js landing page
- pnpm workspaces monorepo with apps/ and packages/
- Next.js 16 landing page (apps/web) with dark theme, feature overview
- Package stubs: @webproxy/core, @webproxy/indexer, @webproxy/shared
- Proxy server placeholder (apps/proxy)
- Project spec, architecture docs, and deployment guide
- Gitea remote configured at 185.191.239.154:3000

Co-Authored-By: UnicornDev <noreply@unicorndev.wtf>
2026-02-26 18:24:28 -08:00

110 lines
2.7 KiB
Markdown

# WebProxy Deployment Guide
## Prerequisites
- Node.js >= 20
- pnpm >= 9
- Git
## Local Development
```bash
# Clone the repo
git clone git@185.191.239.154:jeremy/webproxy.git
cd webproxy
# Install dependencies
pnpm install
# Start development server (landing page)
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm start
```
## Git Remote (Gitea)
The project is hosted on a self-hosted Gitea instance:
- **Web UI**: http://185.191.239.154:3000/jeremy/webproxy
- **SSH Clone**: `git@185.191.239.154:jeremy/webproxy.git`
- **HTTP Clone**: `http://185.191.239.154:3000/jeremy/webproxy.git`
### Setup SSH Access
1. Generate an SSH key if you don't have one:
```bash
ssh-keygen -t ed25519 -C "your@email.com"
```
2. Add your public key to Gitea:
- Go to http://185.191.239.154:3000/user/settings/keys
- Click "Add Key" and paste your `~/.ssh/id_ed25519.pub`
3. Add the remote:
```bash
git remote add origin git@185.191.239.154:jeremy/webproxy.git
```
### Pushing Changes
```bash
git add .
git commit -m "feat: your changes"
git push origin main
```
## Monorepo Structure
```
webproxy/
├── apps/
│ ├── web/ # Next.js landing page & dashboard
│ └── proxy/ # Core proxy server (future)
├── packages/
│ ├── core/ # Proxy engine & HTTP handling
│ ├── indexer/ # Web crawling & indexing
│ └── shared/ # Shared types & utilities
├── docs/ # Documentation
├── deploy/ # Deployment configs
└── specs/ # Feature specifications
```
## Building Individual Packages
```bash
# Build just the web app
pnpm --filter @webproxy/web build
# Run type checking across all packages
pnpm typecheck
# Clean all build artifacts
pnpm clean
```
## Server Deployment (Future)
Deployment to the Gitea server will use:
1. **Git hooks** - Post-receive hooks for auto-deployment
2. **Docker** - Container-based deployment for the proxy service
3. **systemd** - Service management for the proxy daemon
### Planned Architecture
```
┌──────────────────────────────────────────┐
│ Server (185.191.239.154) │
├──────────────────────────────────────────┤
│ Gitea → Git hosting (port 3000) │
│ WebProxy Web → Landing page (port 3001) │
│ WebProxy → Proxy server (port 8080) │
│ MeiliSearch → Search engine (port 7700) │
└──────────────────────────────────────────┘
```