Back to Go Micro

Deployment Guide

internal/website/docs/guides/deployment.md

5.19.11.7 KB
Original Source

Deployment Guide

This is a quick reference for deploying go-micro services. For the full guide, see the Deployment documentation.

Workflow

micro run      →  Develop locally with hot reload
micro build    →  Compile production binaries
micro deploy   →  Push to a remote Linux server via SSH + systemd
micro server   →  Optional: production web dashboard with auth

Quick Start

bash
# Build binaries for Linux
micro build --os linux

# Deploy to server (builds automatically if needed)
micro deploy user@your-server

First-Time Server Setup

On your server (any Linux with systemd):

bash
curl -fsSL https://go-micro.dev/install.sh | sh
sudo micro init --server

This creates /opt/micro/{bin,data,config} and a systemd template for managing services.

Deploy

bash
micro deploy user@your-server

This builds for linux/amd64, copies binaries to /opt/micro/bin/, configures systemd services, and verifies they're running.

Named Targets

Add deploy targets to micro.mu:

deploy prod
    ssh [email protected]

deploy staging
    ssh [email protected]

Then: micro deploy prod

Managing Services

bash
micro status --remote user@server       # Check status
micro logs --remote user@server         # View logs
micro logs myservice --remote user@server -f  # Follow logs

Docker (Optional)

bash
micro build --docker          # Build Docker images
micro build --docker --push   # Build and push
micro build --compose         # Generate docker-compose.yml

Full Documentation

See the Deployment documentation for complete details including SSH setup, environment variables, security best practices, and troubleshooting.