cloud-dev-environment

Installation
SKILL.md

Cloud Development Environment

Services overview

  • Main app (apps/web): Next.js 16 app (Turbopack). Runs on port 3000.
  • PostgreSQL 16: Primary database. Runs on port 5432 via docker-compose.dev.yml.
  • Redis 7 + serverless-redis-http: Caching/rate-limiting. Redis on port 6380, HTTP proxy on port 8079.

Starting services

  1. Start Docker daemon if needed: sudo dockerd &>/dev/null &, then confirm with docker info (or sudo docker info if the client cannot reach the daemon yet).
  2. Start databases from repo root: docker compose -f docker-compose.dev.yml up -d. If you get permission denied on /var/run/docker.sock, run the same command with sudo docker compose instead of making the socket world-writable.
  3. Run Prisma migrations: cd apps/web && pnpm prisma:migrate:local (uses dotenv -e .env.local; do NOT use bare prisma migrate dev — it won't load .env.local).
  4. Start dev server: pnpm dev from repo root.

Environment file

The app reads apps/web/.env.local. Required non-obvious env vars beyond .env.example defaults:

  • DEFAULT_LLM_PROVIDER (e.g. openai) — app crashes at startup without this.
  • GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET — hard-required by env.ts validation. Use Google emulator credentials for local dev (see below).
  • UPSTASH_REDIS_TOKEN must be set to dev_token to match the SRH_TOKEN default in docker-compose.dev.yml.
  • MICROSOFT_WEBHOOK_CLIENT_STATE — required if MICROSOFT_CLIENT_ID is set.
Installs
21
GitHub Stars
10.7K
First Seen
Mar 10, 2026
cloud-dev-environment — elie222/inbox-zero