Certimate-style SSL automation system rebuilt with:
- Backend: Go + Gin + PostgreSQL
- Frontend: React + Vite + TailwindCSS + shadcn-style UI primitives
- Deployment: single backend binary can serve frontend static assets
- JWT admin auth (
/api/auth/*) - Access CRUD (
/api/accesses) - Workflow CRUD + runs (
/api/workflows,/api/workflows/:id/runs) - Workflow dispatcher queue with cancel/stats
- Certificate list/download/revoke (
/api/certificates/*) - Statistics + notification test endpoints
- PostgreSQL migration runner (
go run ./cmd/migrate)
Default bootstrap admin:
- email:
admin@easyssl.local - password:
1234567890
cp .env.example .envEdit .env for your global settings (especially PG_* and JWT_SECRET).
docker compose up -d db
cd server
GOPROXY=https://goproxy.cn,direct go run ./cmd/migrate
GOPROXY=https://goproxy.cn,direct go run ./cmd/apicd web
npm install
npm run devVisit: http://127.0.0.1:5173
server/: Gin API, domain services, workflow dispatcher, migrationsweb/: Vite React app, dashboard/access/workflow/certificate/settings pagesdocker-compose.yml: local PostgreSQL.env: global runtime config (local file, not committed).env.example: global config template
- Workflow execution currently includes a mock certificate issuance step for end-to-end verification.
- Provider adapters are scaffold-ready via
providerand workflow node config but not yet fully expanded to all target providers.