
Polar Local Environment
- 29 installs
- 946 repo stars
- Updated August 2, 2026
- fcakyon/claude-codex-settings
Helps with ai & agent building tasks.
About
polar-local-environment is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- polar-local-environment
- AI & Agent Building
- AI-coding skill
Polar Local Environment by the numbers
- 29 all-time installs (skills.sh)
- Ranked #9,323 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/fcakyon/claude-codex-settings --skill polar-local-environmentAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 29 |
|---|---|
| repo stars | ★ 946 |
| Last updated | August 2, 2026 |
| Repository | fcakyon/claude-codex-settings ↗ |
What it does
Helps with ai & agent building tasks.
Files
Local Environment Skill
This skill enables Claude to help manage the Polar local development environment using Docker. Use this when the user needs to start, stop, debug, or understand the local development stack.
Instance Auto-Detection
The dev docker command automatically detects the correct instance number. No manual -i flag is needed in most cases.
Detection priority: 1. CONDUCTOR_PORT env var → (port - 55000) / 10 + 1 2. Workspace path hash → stable instance derived from the repo root path
You can override with -i N if needed, but auto-detection handles Conductor workspaces automatically.
When to Use
- User asks to start/stop the local environment
- User needs to view logs or debug issues
- User wants to run multiple isolated instances
- User needs to understand the service architecture
- User encounters container or service errors
Quick Reference
| Task | Command |
|---|---|
| Start full stack | dev docker up -d |
| Stop services | dev docker down |
| View all logs | dev docker logs |
| View service logs | dev docker logs {service} |
| Follow logs | dev docker logs -f |
| Check status | dev docker ps |
| Restart service | dev docker restart {service} |
| Shell access | dev docker shell {service} |
| Fresh start | dev docker cleanup -f && dev docker up -d |
| With monitoring | dev docker up --monitoring -d |
| Force rebuild | dev docker up -b -d |
Services
| Service | Default Port | Description |
|---|---|---|
| api | 8000 | FastAPI backend |
| worker | - | Background job processor |
| web | 3000 | Next.js frontend |
| db | 5432 | PostgreSQL database |
| redis | 6379 | Redis cache |
| minio | 9000/9001 | S3-compatible storage |
| prometheus | 9090 | Metrics (optional) |
| grafana | 3001 | Dashboards (optional) |
Instance Port Mapping
Port = Base Port + (Instance × 100)
| Instance | API | Web | DB | Redis | MinIO |
|---|---|---|---|---|---|
| 0 | 8000 | 3000 | 5432 | 6379 | 9000 |
| 1 | 8100 | 3100 | 5532 | 6479 | 9100 |
| 2 | 8200 | 3200 | 5632 | 6579 | 9200 |
Rules Index
| Rule | Category | Description |
|---|---|---|
| service-architecture | Reference | Service details |
Managing Multiple Instances
What Are Instances?
Instances allow running multiple isolated development environments simultaneously. Each instance:
- Uses different ports (offset by instance × 100)
- Has its own database
- Has its own file storage
- Runs independently
Port Mapping
| Service | Instance 0 | Instance 1 | Instance 2 |
|---|---|---|---|
| Web | 3000 | 3100 | 3200 |
| API | 8000 | 8100 | 8200 |
| DB | 5432 | 5532 | 5632 |
| Redis | 6379 | 6479 | 6579 |
| MinIO API | 9000 | 9100 | 9200 |
| MinIO Console | 9001 | 9101 | 9201 |
Formula: Port = Base + (Instance × 100)
Commands
Start instance:
dev docker up -i 1 -d
dev docker up -i 2 -dCheck instance status:
dev docker ps -i 1View instance logs:
dev docker logs -i 1 apiStop instance:
dev docker down -i 1Shell into instance:
dev docker shell -i 1 apiUse Cases
1. Testing different branches:
- Instance 0: main branch
- Instance 1: feature branch
2. Running parallel tests:
- Instance 0: development
- Instance 1: running test suite
3. Comparing behavior:
- Instance 0: before changes
- Instance 1: after changes
Resource Considerations
Each instance uses:
- ~2GB memory for full stack
- Separate disk space for volumes
- Independent CPU allocation
Limit to 2-3 instances on typical development machines.
Service Architecture Reference
Infrastructure Services
db (PostgreSQL 15.1)
- Purpose: Primary database
- Port: 5432
- Credentials: polar/polar
- Volume: postgres_data
- Health check: pg_isready (2s interval)
redis (Redis Alpine)
- Purpose: Cache and job queue backend
- Port: 6379
- Health check: redis-cli ping
minio (S3-Compatible Storage)
- Purpose: File storage
- Ports: 9000 (API), 9001 (Console)
- Credentials: polar/polarpolar
- Volume: minio_data
- Buckets: polar-s3, polar-s3-public
Application Services
api (FastAPI Backend)
- Purpose: REST API server
- Port: 8000
- Image: Python 3.14 + uvicorn
- Hot-reload: Enabled
- Startup tasks:
- Sync dependencies
- Build email templates
- Run migrations
- Load seed data
worker (Background Jobs)
- Purpose: Async task processing
- Image: Same as API
- Queues: high_priority, medium_priority, low_priority
- Hot-reload: Enabled
- Depends on: API (waits for initialization)
web (Next.js Frontend)
- Purpose: User interface
- Port: 3000
- Image: Node 24 + Turbopack
- Memory limit: 4GB
- Hot-reload: Enabled
Optional Monitoring
prometheus
- Purpose: Metrics collection
- Port: 9090
- Retention: 1 day
- Enable: --monitoring flag
grafana
- Purpose: Dashboards
- Port: 3001
- Credentials: polar/polar
- Enable: --monitoring flag
Container Dependencies
minio-setup → minio (healthy)
api → db (healthy), redis (healthy), minio-setup (complete)
worker → db, redis, minio-setup, api (started)
web → api (started)
grafana → prometheus (started)Volume Persistence
| Volume | Purpose |
|---|---|
| postgres_data | Database |
| minio_data | Files |
| server_uv_cache | Python packages |
| api_venv | API virtual env |
| worker_venv | Worker virtual env |
| pnpm_store | Node packages |
| web_node_modules | Frontend deps |
| web_next_cache | Build cache |
Network
All services on internal Docker network using service names:
db:5432redis:6379minio:9000api:8000
Starting the Local Environment
Use dev docker up to start the Polar development environment.
Basic Commands
Start in background (recommended):
dev docker up -dStart in foreground (see logs directly):
dev docker upStart specific services:
dev docker up api # API only
dev docker up web # Web only
dev docker up api worker # API and worker
dev docker up -d api web # API and web in backgroundOptions
| Flag | Description |
|---|---|
-d | Detached mode (background) |
-b | Force rebuild images before starting |
-i N | Use instance N (different ports) |
--monitoring | Include Prometheus and Grafana |
Examples
# Full stack in background
dev docker up -d
# Rebuild and start
dev docker up -b -d
# Instance 1 with monitoring
dev docker up -i 1 --monitoring -d
# Just API for backend work
dev docker up -d apiFirst-Time Startup
On first run: 1. Docker images are built (~5-10 minutes) 2. Dependencies are installed 3. Database migrations run 4. Seed data is loaded 5. Services become available
Service URLs (after startup)
- Web: http://localhost:3000
- API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- MinIO: http://localhost:9001
Stopping the Local Environment
Stop Services
Stop all services:
dev docker downThis stops and removes containers but preserves data volumes.
Stop specific instance:
dev docker down -i 1Complete Cleanup
Remove containers AND volumes (fresh start):
dev docker cleanupWARNING: This deletes:
- Database data
- Uploaded files (MinIO)
- Redis cache
- All stored state
Use cleanup when:
- Starting fresh
- Fixing corrupted data
- Testing initial setup
- Changing database schema significantly
Restart vs Stop
Restart (keeps containers, faster):
dev docker restart
dev docker restart apiStop/Start (recreates containers):
dev docker down
dev docker up -dPrefer restart for quick changes. Use stop/start when:
- Changing Docker configuration
- Updating environment variables
- Containers are in bad state
Troubleshooting Common Issues
Service Won't Start
Check if ports are in use:
lsof -i :8000 # API port
lsof -i :3000 # Web port
lsof -i :5432 # Database portVerify Docker is running:
docker infoCheck container logs:
dev docker logs api
dev docker logs webTry stop and restart:
dev docker down
dev docker up -dDatabase Connection Failed
Wait for health check (up to 40 seconds on first start)
Check db container:
dev docker ps
dev docker logs dbVerify database is healthy:
dev docker shell db
psql -U polar -d polar -c "SELECT 1"Hot-Reload Not Working
Check file mounting:
dev docker shell api
ls -la /app/server/polar/Restart the service:
dev docker restart apiIf still broken, rebuild:
dev docker build api
dev docker restart apiOut of Memory
Check Docker memory settings (should be 8GB+)
Stop unused instances:
dev docker down -i 1
dev docker down -i 2Clean up Docker:
docker system pruneMinIO/S3 Issues
Check minio-setup logs:
dev docker logs minio-setupAccess MinIO console:
- URL: http://localhost:9001
- User: polar
- Password: polarpolar
Verify buckets exist in console UI
Frontend Build Errors
Clear Next.js cache:
dev docker shell web
rm -rf .next
exit
dev docker restart webReinstall dependencies:
dev docker shell web
pnpm install
exit
dev docker restart webMigration Issues
Check current migration state:
dev docker shell api
uv run alembic currentRun pending migrations:
uv run alembic upgrade headRollback if needed:
uv run alembic downgrade -1Complete Reset
When all else fails:
dev docker cleanup -f
dev docker up -b -dThis removes all data and rebuilds from scratch.
Getting Help
1. Check logs: dev docker logs 2. Check status: dev docker ps 3. Check Docker: docker info 4. Try restart: dev docker restart 5. Try cleanup: dev docker cleanup
Viewing Service Logs
Commands
View all logs (last output):
dev docker logsFollow logs in real-time:
dev docker logs -fSpecific service logs:
dev docker logs api
dev docker logs worker
dev docker logs web
dev docker logs db
dev docker logs redis
dev docker logs minioFollow specific service:
dev docker logs -f apiInstance-specific logs:
dev docker logs -i 1 apiLog Interpretation
API Logs
Successful request:
INFO: 127.0.0.1:54321 - "GET /api/v1/users HTTP/1.1" 200Error:
ERROR: Exception in endpoint
Traceback (most recent call last):
...Worker Logs
Task started:
[dramatiq.MainProcess] Task started: polar.tasks.example:processTask completed:
[dramatiq.MainProcess] Task completed in 0.123sWeb Logs
Page compiled:
✓ Compiled /dashboard in 234msError:
Error: Cannot find module 'xxx'Debugging Tips
1. Follow API logs during development:
dev docker logs -f api2. Check worker for background job issues:
dev docker logs -f worker3. Database issues - check db:
dev docker logs db4. Startup issues - check all:
dev docker logs