# server-manager Full-stack server management dashboard deployed via Gitea + Drone CI/CD. ## Stack | Layer | Tech | |----------|-----------------------------------| | Frontend | React 19 + Vite + Tailwind CSS | | Backend | Express + TypeScript | | Database | PostgreSQL 16 | | CI/CD | Drone + Docker | | Proxy | Nginx (frontend serves API proxy) | ## Project Structure ``` server-manager/ ├── frontend/ React SPA (Vite + TailwindCSS) │ ├── src/ │ │ ├── components/ Shared UI components │ │ ├── pages/ Route-level page components │ │ ├── lib/ API client, utilities │ │ └── store/ Zustand global state │ ├── Dockerfile │ └── nginx.conf ├── backend/ Express REST API (TypeScript) │ ├── src/ │ │ ├── routes/ API route handlers │ │ ├── services/ Business logic │ │ ├── db/ DB pool + migrations │ │ └── middleware/ Error handler, 404, auth │ └── Dockerfile ├── docker-compose.yml └── .drone.yml CI/CD pipeline ``` ## Local Development ```bash # Backend cd backend && npm install && npm run dev # Frontend cd frontend && npm install && npm run dev ``` ## Drone Secrets Required | Secret | Description | |------------------|--------------------------------| | `gitea_username` | Gitea username | | `gitea_token` | Gitea personal access token | | `ssh_private_key`| Private key for deploy server |