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.