Go IAM
September 19, 2025 Β· View on GitHub
This repository provides a Docker Compose setup to run the full Go IAM authentication and authorization platform along with its admin UI and dependencies (MongoDB and Redis). This setup is designed primarily for local development and testing.
β Admin UI: go-iam-ui
π³ Docker Setup: go-iam-docker
π Backend: go-iam
π¦ SDK: go-iam-sdk
π Examples: go-iam-examples π¬ Reddit Community: r/GoIAM
β¨ Whatβs Included
| Service | Description |
|---|---|
mongo-go-iam | MongoDB instance for storing IAM data |
redis-go-iam | (Optional) Redis instance for caching tokens |
go-iam | Backend authentication and authorization service (Go) |
go-iam-ui | Admin UI to manage tenants, roles, users, and resources |
π Getting Started
1. Clone this repository
git clone https://github.com/melvinodsa/go-iam-docker.git
cd go-iam-docker
2. Prepare .env file
Rename the example file or create your own .env
cp sample.env .env
Update any values as needed. Here's a sample configuration:
SERVER_HOST=127.0.0.1
SERVER_PORT=3000
DEPLOYMENT_ENVIRONMENT=local
DEPLOYMENT_NAME=Go IAM
LOGGER_LEVEL=2
DB_HOST=mongodb://mongo-go-iam
ENCRYPTER_KEY=
REDIS_HOST=redis-go-iam:6379
REDIS_DB=0
REDIS_PASSWORD=
JWT_SECRET=abcd
ENABLE_REDIS=true
TOKEN_CACHE_TTL_IN_MINUTES=1440
AUTH_PROVIDER_REFETCH_INTERVAL_IN_MINUTES=1
VITE_API_SERVER=http://localhost:3000
3. Build and Start the Environment
docker compose up -d
This will build the backend (go-iam) and frontend (go-iam-ui) containers, and start MongoDB and Redis.
π₯οΈ Access the UI
Once all services are up:
- Admin UI: http://localhost:4173
- API: http://localhost:3000
- API Docs: http://localhost:3000/docs