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

ServiceDescription
mongo-go-iamMongoDB instance for storing IAM data
redis-go-iam(Optional) Redis instance for caching tokens
go-iamBackend authentication and authorization service (Go)
go-iam-uiAdmin 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: