Skip to content

Getting Started ​

GopherForge is an open-source Go microservices and business platform. The main stack includes a gateway, 16 API services, an AI worker, React and PostgreSQL/Redis/NATS. Start media and client products separately; external providers require configuration.

Requirements ​

  • Docker Engine 24+ and Docker Compose v2; Docker Desktop is recommended on macOS and Windows
  • Optional local development: Go 1.27.0+ (both the language and build baseline are 1.27.0), Node.js 20.19+ / 22.12+ (24 recommended)

One-command startup ​

bash
git clone https://github.com/SuperiorChuo/gopherforge.git
cd gopherforge
cp microservices/.env.example microservices/.env
make compose-up

Initial build time depends on machine resources and network access. Then:

EntryURL
Unified gateway (recommended)http://localhost:8000
Frontend directhttp://localhost:3000
Health checkhttp://localhost:8000/api/v1/health/ready

Default account ​

UsernamePassword
adminadmin123

Change before going live

Rotate the default password, JWT_SECRET and all datastore credentials in .env. See Production Deployment.

Verify the stack ​

bash
npm ci --prefix microservices/web
bash scripts/verify-product.sh all
cd microservices
docker compose --profile compose-fallback config --quiet
docker compose -p go-admin-kit-infra -f docker-compose.infra.yml config --quiet
API_BASE_URL=http://127.0.0.1:8000/api/v1 npm run smoke:api

Local dev mode (optional) ​

Run only the infra containers and hot-reload services/frontend on your machine:

Run the long-lived commands in three separate terminals:

bash
# Terminal 1: dependency containers
cd microservices
docker compose -p go-admin-kit-infra -f docker-compose.infra.yml up -d go-admin-kit-postgres go-admin-kit-redis go-admin-kit-nats

# Terminal 2: the Go service under development (auth as an example)
cd microservices/services/auth
go run ./cmd

# Terminal 3: frontend HMR
cd microservices/web
npm ci
npm run dev

Port conflicts ​

Defaults: frontend 3000, gateway 8000, PostgreSQL 5432, Redis 6379. Change the matching *_PORT in microservices/.env.

Next ​

  • How the services are split → Architecture
  • Add your first business module → Extending
  • Or explore the Live Demo (frontend-only fake data, any account logs in)

MIT Licensed · Go microservices & business platform