Skip to content

WTF#50

Merged
weroperking merged 4 commits intoweroperking:mainfrom
Helal-maker:main
Mar 29, 2026
Merged

WTF#50
weroperking merged 4 commits intoweroperking:mainfrom
Helal-maker:main

Conversation

@Helal-maker
Copy link
Copy Markdown
Contributor

@Helal-maker Helal-maker commented Mar 29, 2026

Summary by CodeRabbit

  • Documentation

    • Added contribution guidelines and expanded README content (features, comparisons, new sections)
    • Clarified Docker setup and installation steps
  • Deployment & Infrastructure

    • Introduced a dashboard image and improved container builds and runtime configuration
    • Revamped Docker Compose for production and local development with multi-service orchestration
  • Configuration

    • Restructured and clarified environment/config guidance for database, auth, CORS, storage, and event keys

- .env.example: Add trailing newline, use dynamic DATABASE_URL template,
  rename auth vars to match env.ts schema (BETTERBASE_JWT_SECRET,
  BETTERBASE_PUBLIC_URL, CORS_ORIGINS)
- docker-compose.yml: Use env var interpolation for MinIO credentials,
  add minio-init service for automatic bucket creation
- docker-compose.self-hosted.yml: Pin MinIO images to specific releases,
  rename auth env vars, add dashboard build step documentation
- apps/dashboard/Dockerfile: Build specifically for dashboard with
  correct WORKDIR and COPY paths, add non-root nginx user, healthcheck
  endpoint, and /health location in nginx config
- packages/server/Dockerfile: Pin wget to Alpine 3.22 version 1.25.0-r1
- docs/docker-setup.md: Clarify MinIO credentials for local-dev vs
  self-hosted environments
- docs/getting-started/installation.md: Add text language specifier to
  project tree code block for MD040 compliance
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: f2a5a85d-05ee-4694-ad91-f276b6048552

📥 Commits

Reviewing files that changed from the base of the PR and between 9656098 and 67807ac.

📒 Files selected for processing (5)
  • .env.example
  • docker-compose.self-hosted.yml
  • docs/docker-setup.md
  • docs/getting-started/installation.md
  • packages/server/Dockerfile

Walkthrough

Updated environment variables and examples (.env.example), added contribution docs, reworked README, added a Bun+nginx dashboard Dockerfile, and restructured Docker Compose files into separate local, self-hosted, and production manifests with new services (postgres, minio, minio-init, inngest, betterbase-server, dashboard) and adjusted ports/env names.

Changes

Cohort / File(s) Summary
Environment / Examples
.env.example
Parameterized DATABASE_URL using POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB; removed AUTH_SECRET/AUTH_URL in favor of BETTERBASE_JWT_SECRET and BETTERBASE_PUBLIC_URL; renamed CORS_ORIGINCORS_ORIGINS; MinIO/local dev wording changes; storage credential comment variants swapped between STORAGE_ACCESS_KEY/STORAGE_SECRET_KEY and later commented STORAGE_ACCESS_KEY_ID/STORAGE_SECRET_ACCESS_KEY; Inngest comment guidance updated.
Docker Compose (infra & deployments)
docker-compose.yml, docker-compose.self-hosted.yml, docker-compose.production.yml
Split single app compose into targeted manifests: local infra-only (postgres, minio, inngest), self-hosted (adds server, dashboard build guidance), production (multi-service including built betterbase-server and dashboard). Added minio-init service, persistent volumes per environment, updated healthchecks, pinned images/tags, migrated env names to match .env.example, changed server exposure/health to port 3001.
Dashboard Container
apps/dashboard/Dockerfile
New multi-stage Dockerfile: Bun builder (oven/bun:1.3.9-debian) compiles SPA, nginx:alpine runtime serves dist with SPA fallback, /health endpoint, caching and security headers, non-root nginx user, accepts VITE_API_URL build-arg.
Server Image
packages/server/Dockerfile
Runtime base set to oven/bun:1.3.9-alpine; pinned wget=1.25.0-r1; minor comments about monorepo copy.
Documentation & CONTRIBUTING
CONTRIBUTING.md, README.md, docs/docker-setup.md, docs/getting-started/installation.md
Added CONTRIBUTING guide (bun workflow, lint/test/build commands, commit conventions, PR checklist). README reorganized and expanded (features, Inngest repositioned, Ask Deepwiki). Docker setup docs clarified MinIO local vs self-hosted credentials and added production compose notes. Installation adds bun --version check.

Sequence Diagram(s)

sequenceDiagram
    rect rgba(0,128,255,0.5)
    participant Dev as Developer
    end
    rect rgba(0,200,0,0.5)
    participant Compose as docker-compose
    end
    rect rgba(255,165,0,0.5)
    participant MinIO as MinIO
    participant MinInit as minio-init
    participant Postgres as Postgres
    participant Inngest as Inngest
    participant Server as betterbase-server
    participant Dashboard as Dashboard (nginx)
    end

    Dev->>Compose: docker compose up (selected manifest)
    Compose->>Postgres: start + wait healthcheck (pg_isready)
    Compose->>MinIO: start + wait /minio/health/ready
    Compose->>MinInit: run after MinIO healthy (mc alias & mb local/betterbase)
    MinInit->>MinIO: create bucket (betterbase)
    Compose->>Inngest: start (persist /data)
    Compose->>Server: build/start when Postgres+MinIO+minio-init healthy
    Server->>Postgres: connect via DATABASE_URL (POSTGRES_*)
    Server->>MinIO: connect via STORAGE_ENDPOINT and keys
    Dev->>Dashboard: build/serve (apps/dashboard Dockerfile) or Compose serves `dist`
    Dashboard->>Server: API requests (VITE_API_URL / BETTERBASE_PUBLIC_URL)
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

codex

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'WTF' is vague and non-descriptive, providing no meaningful information about the changeset. Replace with a concise, specific title describing the main change (e.g., 'Migrate to PostgreSQL credentials, MinIO storage, and update Docker setup').
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@weroperking weroperking merged commit 7c534e7 into weroperking:main Mar 29, 2026
3 checks passed
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.

2 participants