Modern web interface for managing Certbot SSL/TLS certificates
npm install certbot-uiA modern, secure web interface for managing Certbot SSL/TLS certificates.
- š Secure certificate management
- š Automatic and manual certificate renewal
- š Real-time dashboard with certificate status
- šØ Modern, responsive UI with dark mode
- š Comprehensive logging and monitoring
- š Easy deployment with Docker
The easiest way to deploy Certbot UI is using Docker:
``bashNavigate to docker directory
cd docker
Access at:
- Frontend: http://localhost:8080
- Backend API: http://localhost:5000
For detailed deployment instructions, see Docker Documentation.
$3
#### Prerequisites
- Node.js >= 18
- npm >= 9
- Certbot installed on the system
#### Running Locally
`bash
Install dependencies
npm installStart development servers (frontend + backend)
npm run devOr start individually
npm run dev:backend
npm run dev:frontend
`The frontend will be available at
http://localhost:3000 and the backend at http://localhost:5000.$3
`bash
Build both frontend and backend
npm run buildOr build individually
npm run build:backend
npm run build:frontend
`$3
`bash
Run all tests
npm testRun tests with coverage
npm run test:coverage --workspaces
`Project Structure
`
certbot-ui/
āāā backend/ # Express API server
ā āāā src/
ā ā āāā config/ # Configuration files
ā ā āāā controllers/ # Route controllers
ā ā āāā middleware/ # Express middleware
ā ā āāā routes/ # API routes
ā ā āāā services/ # Business logic
ā ā āāā types/ # TypeScript types
ā ā āāā utils/ # Utility functions
ā āāā package.json
āāā frontend/ # React application
ā āāā src/
ā ā āāā components/ # React components
ā ā āāā pages/ # Page components
ā ā āāā hooks/ # Custom React hooks
ā ā āāā services/ # API services
ā ā āāā store/ # State management
ā ā āāā types/ # TypeScript types
ā āāā package.json
āāā package.json # Root package (workspaces)
`Configuration
Copy
.env.example to .env in the backend directory and configure:-
JWT_SECRET: Secure random string for JWT signing
- CERTBOT_PATH: Path to certbot binary
- CERTBOT_CONFIG_DIR: Certbot configuration directory
- Other settings as neededSecurity
ā ļø Important Security Notes:
- This application runs Certbot commands with elevated privileges
- Always use HTTPS in production
- Change the default JWT secret
- Implement proper authentication
- Use rate limiting and input validation
- Review the security documentation before deployment
Documentation
Comprehensive documentation is available in the
docs/ directory:- Installation Guide - Detailed installation and setup instructions
- Quick Start Guide - Get up and running quickly
- Usage Guide - How to use the application
- Cloudflare Tunnel Setup - Expose services securely to the internet
- Contributing Guide - How to contribute to the project
Docker Deployment
The application can be deployed using Docker Compose with Cloudflare Tunnels for secure internet access:
`bash
Start all services (backend, frontend, and tunnel)
docker compose up -dView logs
docker compose logs -fStop services
docker compose down
``See the Cloudflare Tunnel Setup Guide for details on exposing your services to the internet.
MIT
Contributions are welcome! Please read the Contributing Guide first.