What's New in Go Micro: v5.13.0

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:

  1. Builds your services for Linux
  2. Copies binaries via SSH
  3. Configures systemd services
  4. 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.