3.0 KiB
layout, title, permalink, description
| layout | title | permalink | description |
|---|---|---|---|
| blog | Introducing micro deploy | /blog/1 | Deploy your Go Micro services to any Linux server with a single command |
Introducing micro deploy
January 27, 2026 • By the Go Micro Team
We're excited to announce micro deploy in Go Micro v5.13.0 — a simple way to deploy your services to any Linux server.
The Problem
Go Micro has always been great for building microservices:
micro new myservice
cd myservice
micro run
But getting those services to production? That was on you. You'd need to figure out Docker, Kubernetes, or write your own deployment scripts.
We tried to solve this with Micro v3 — a full platform-as-a-service. But it was too much. Too complex. Nobody wanted another platform to manage.
The Solution
The new approach is simple: systemd + SSH.
Every Linux server has systemd. It's battle-tested, it manages processes, it restarts them when they crash, it handles logging. Why reinvent it?
One-Time Server Setup
ssh user@server
curl -fsSL https://go-micro.dev/install.sh | sh
sudo micro init --server
This creates:
/opt/micro/bin/— where your binaries live/opt/micro/config/— environment files- A systemd template for managing services
Deploy
micro deploy user@server
That's it. The command:
- Builds your services for Linux
- Copies binaries via SSH
- Configures systemd services
- Verifies everything is running
Manage
micro status --remote user@server
micro logs --remote user@server
micro logs myservice --remote user@server -f
Named Deploy Targets
Add deploy targets to your micro.mu:
service users
path ./users
port 8081
service web
path ./web
port 8080
deploy prod
ssh deploy@prod.example.com
deploy staging
ssh deploy@staging.example.com
Then:
micro deploy prod
micro deploy staging
Philosophy
- systemd is the standard — don't fight it, use it
- SSH is the transport — no custom agents or protocols
- Errors guide you — every failure tells you how to fix it
- No platform — just your server, your services
What's Next?
This is just the beginning. We're thinking about:
- Secrets management — integrating with vault/sops
- Multi-server deploys — deploy to a fleet
- Metrics — Prometheus endpoints out of the box
- Rolling updates — zero-downtime deployments
Try It
go install go-micro.dev/v5/cmd/micro@v5.13.0
micro new myapp
cd myapp
micro run
# When you're ready to deploy:
micro deploy user@your-server
See the deployment guide for full documentation.
Go Micro is an open source framework for distributed systems development in Go. Star us on GitHub.