# 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) │ └──────────────────────────────────────────┘ ```