feat: initial project scaffold
- 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
This commit is contained in:
54
README.md
Normal file
54
README.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user