Skip to content

Add production Dockerfile for self-hosted deployment#1

Closed
forge-atlas wants to merge 1 commit into
mainfrom
feat/docker-self-hosted
Closed

Add production Dockerfile for self-hosted deployment#1
forge-atlas wants to merge 1 commit into
mainfrom
feat/docker-self-hosted

Conversation

@forge-atlas
Copy link
Copy Markdown
Owner

Summary

  • Multi-stage Dockerfile using oven/bun:1 — deps install, Next.js build with standalone output, and slim production runner
  • App service added to docker-compose.yml with postgres healthcheck dependency and redis-rest
  • .env.docker template with Docker networking defaults (postgres:5432, redis-rest:80) and placeholder secrets
  • docker-entrypoint.sh runs prisma migrate deploy automatically on container startup
  • Next.js standalone output enabled in next.config.ts for minimal production image

Usage

cp apps/web/.env.docker apps/web/.env
# Edit apps/web/.env with your GitHub OAuth credentials and secrets
docker compose up
# App available at http://localhost:3000

Test plan

  • docker compose build completes without errors
  • docker compose up starts all services (postgres, redis, redis-rest, app)
  • Prisma migrations run automatically on first boot
  • App accessible at http://localhost:3000
  • GitHub OAuth login works with correct client ID/secret configured

🤖 Generated with Claude Code

…ted deployment

- Multi-stage Dockerfile (deps → build → runner) using oven/bun:1 with standalone Next.js output
- App service in docker-compose.yml with postgres healthcheck dependency
- .env.docker template with Docker networking defaults (postgres:5432, redis-rest:80)
- docker-entrypoint.sh runs prisma migrate deploy on startup
- Enable Next.js standalone output in next.config.ts

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@forge-atlas
Copy link
Copy Markdown
Owner Author

Closing in favor of openformation#1 (opened against the upstream repo per request)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant