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:
Ernie Butcher
2026-03-18 17:09:08 -04:00
commit 65471c2a70
54 changed files with 7304 additions and 0 deletions

112
.drone.yml Normal file
View File

@@ -0,0 +1,112 @@
kind: pipeline
type: docker
name: server-manager
trigger:
branch:
- main
event:
- push
- pull_request
steps:
# ─── Backend ───────────────────────────────────────────────────────────────
- name: backend-lint
image: node:20-alpine
commands:
- cd backend
- npm ci
- npm run lint || true
- name: backend-build
image: node:20-alpine
commands:
- cd backend
- npm ci
- npm run build
depends_on:
- backend-lint
- name: backend-docker
image: plugins/docker
settings:
registry: git.jiosii.com
username:
from_secret: gitea_username
password:
from_secret: gitea_token
repo: git.jiosii.com/admin/server-manager-backend
context: backend
dockerfile: backend/Dockerfile
tags:
- latest
- ${DRONE_COMMIT_SHA:0:8}
depends_on:
- backend-build
when:
branch:
- main
event:
- push
# ─── Frontend ──────────────────────────────────────────────────────────────
- name: frontend-lint
image: node:20-alpine
commands:
- cd frontend
- npm ci
- npm run lint || true
- name: frontend-build
image: node:20-alpine
commands:
- cd frontend
- npm ci
- npm run build
depends_on:
- frontend-lint
- name: frontend-docker
image: plugins/docker
settings:
registry: git.jiosii.com
username:
from_secret: gitea_username
password:
from_secret: gitea_token
repo: git.jiosii.com/admin/server-manager-frontend
context: frontend
dockerfile: frontend/Dockerfile
tags:
- latest
- ${DRONE_COMMIT_SHA:0:8}
depends_on:
- frontend-build
when:
branch:
- main
event:
- push
# ─── Deploy ────────────────────────────────────────────────────────────────
- name: deploy
image: appleboy/drone-ssh
settings:
host: 100.116.40.103
username: root
key:
from_secret: ssh_private_key
port: 22
script:
- cd /opt/server-manager
- docker compose pull
- docker compose up -d --remove-orphans
- docker image prune -f
depends_on:
- backend-docker
- frontend-docker
when:
branch:
- main
event:
- push