Mikrocloud is a modern, self-hostable Platform as a Service (PaaS) that simplifies deploying, managing, and scaling applications and databases — on your own servers.
curl -sSL https://cdn.mikrocloud.io/install.sh | shThis installs:
- Docker (if not already installed)
- Mikrocloud CLI binary
- Default configuration at
~/.config/mikrocloud/mikrocloud.toml - Data directory at
~/.local/share/mikrocloud
mikrocloud-cli startThis launches:
- mikrocloud-queue - Dragonfly message queue (port 6379)
- mikrocloud-proxy - Traefik reverse proxy (ports 80, 443, 8080)
- mikrocloud - Main server (port 3000)
- mikrocloud-metrics - Prometheus (port 9090, if enabled)
- mikrocloud-cloudflared - Cloudflare Tunnel (if enabled)
Access the dashboard at: http://localhost:3000
mikrocloud-cli status # Check service status
mikrocloud-cli stop # Stop all services
mikrocloud-cli start # Start all servicesEdit ~/.config/mikrocloud/mikrocloud.toml to customize:
[server]
port = 3000
data_dir = "${HOME}/.local/share/mikrocloud"
[proxy]
enabled = true
auto_start = true
http_port = 80
https_port = 443
[queue]
enabled = true
auto_start = true
[metrics]
enabled = false # Set to true to enable Prometheus
auto_start = false
[tunnel]
enabled = false # Set to true for Cloudflare Tunnel
token = "" # Add your Cloudflare Tunnel tokenFor production deployments, use docker-compose:
docker-compose up -dCustomize via environment variables:
ACME_EMAIL=admin@example.com \
MIKROCLOUD_DOMAIN=mikrocloud.example.com \
docker-compose up -dFor metrics and tunnel profiles:
docker-compose --profile metrics --profile tunnel up -d- Docker or Podman
- Linux (amd64, arm64, armv7)
- Ports 80, 443, 3000 available
make build # Build backend
make build-web # Build frontend
make build-full # Build both with embedded frontend
make test # Run tests
make lint # Run lintersMIT License - see LICENSE file for details
