--- layout: blog title: Introducing micro deploy permalink: /blog/1 description: Deploy your Go Micro services to any Linux server with a single command --- # Introducing micro deploy 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: ```bash 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 ```bash 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 ```bash 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 ```bash 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: ```bash 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 ```bash 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](/docs/deployment.html) for full documentation. --- *Go Micro is an open source framework for distributed systems development in Go. [Star us on GitHub](https://github.com/micro/go-micro).*
← All Posts