- React 19 + Vite + TailwindCSS frontend - Express + TypeScript backend API - PostgreSQL schema and migrations - Docker Compose orchestration - Drone CI/CD pipeline - Pages: Dashboard, Servers, Containers, Services, Logs, Metrics, Settings
55 lines
1.7 KiB
Markdown
55 lines
1.7 KiB
Markdown
# 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 |
|