Securna is a centralized domain management and automated HTTPS certificate lifecycle management system with multi-tenant architecture.
- Frontend: Vue3 + Vite + shadcn-vue + TypeScript
- Backend: Golang + Gin + Gorm + Redis + PostgreSQL
- Task Queue: Asynq (Redis-based)
- ACME Protocol: lego library
- Deployment: Docker Compose
# Copy environment file
cp .env.example .env
# Start all services
docker-compose up -d
# View logs
docker-compose logs -fsecurna/
├── frontend/ # Vue3 frontend
├── backend/ # Go backend
└── docker/ # Docker configurations
POST /api/v1/auth/register- User registrationPOST /api/v1/auth/login- User loginPOST /api/v1/auth/logout- User logout
GET /api/v1/projects- List projectsPOST /api/v1/projects- Create projectGET /api/v1/projects/:id- Get project detailsPUT /api/v1/projects/:id- Update projectDELETE /api/v1/projects/:id- Delete project
GET /api/v1/projects/:id/domains- List domainsPOST /api/v1/projects/:id/domains- Add domainPUT /api/v1/domains/:id- Update domainDELETE /api/v1/domains/:id- Delete domain
GET /api/v1/projects/:id/certificates- List certificatesPOST /api/v1/projects/:id/certificates- Create certificate requestGET /api/v1/certificates/:id- Get certificate detailsPOST /api/v1/certificates/:id/renew- Manual renewalPOST /api/v1/certificates/:id/revoke- Revoke certificate
cd backend
go mod download
go run cmd/api/main.gocd frontend
npm install
npm run devMIT