A self-developed container platform for automatic deployment of web applications. DokiDoki enables you to deploy Git repositories in just a few clicks and automatically update them via webhooks.
The platform uses systemd-nspawn for lightweight container isolation, automatically manages SSL certificates via Let's Encrypt, and routes traffic through Nginx. Git integration with SSH key management enables access to private repositories.
Features:
- Automatic deployments via GitHub Webhook
- Support for Python, PHP, Node.js, and static sites
- Build processes for Node.js projects (npm install & build)
- YAML-based configuration directly in the repository
- Encrypted environment variables for sensitive data
- Deployment history with logs
- CLI tools for server administration
Example Configurations:
Static site with Node.js build (React/Vite):
runtime: type: static subtype: node app: serve_directory: dist
Python Flask application:
runtime: type: python version: "3.11" app: start_command: "gunicorn --bind 0.0.0.0:${PORT} wsgi:app" working_directory: "." env_file: ".env"
Static HTML site:
runtime: type: static app: serve_directory: "."
The platform currently hosts all my web projects and enables fast iteration through automatic deployments directly from GitHub.