Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# ============================================================================
# Docker Ignore
#
# Excludes files not needed in Docker builds to reduce image size
# and improve build performance.
# ============================================================================

# Dependencies
node_modules
bower_components

# Build outputs
dist
build
.next
.nuxt
output

# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# IDE
.idea
.vscode
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Git
.git
.gitignore

# Documentation
*.md
!README.md
docs
LICENSE

# Test files
coverage
.nyc_output
*.test.ts
*.spec.ts
__tests__
test
tests
*.test.js
*.spec.js

# Turborepo
.turbo
node_modules/.cache

# Database
*.db
*.sqlite
*.sqlite3
migrations

# Environment files (keep .env.example as reference)
.env
.env.*
!.env.example

# Development specific
.vscode
.idea
*.local

# Build config (not needed in final image)
tsconfig.json
tsconfig.*.json
drizzle.config.ts
betterbase.config.ts
turbo.json

# Package artifacts
*.tgz
*.tar.gz

# CI/CD
.github
.gitlab-ci.yml
.travis.yml
Jenkinsfile
azure-pipelines.yml

# Misc
.cache
tmp
temp
*.pid
*.seed
*.pid.lock
88 changes: 88 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# ============================================================================
# Betterbase Environment Variables
#
# Copy this file to .env and fill in your values.
# NEVER commit .env to version control!
# ============================================================================

# ----------------------------------------------------------------------------
# Required: Database
# ----------------------------------------------------------------------------
# PostgreSQL connection string (for postgres, neon, supabase)
# Format: postgresql://user:password@host:port/database
DATABASE_URL=postgres://user:password@localhost:5432/betterbase

# Or for Neon (serverless PostgreSQL)
# DATABASE_URL=postgres://user:password@ep-xxx.us-east-1.aws.neon.tech/neondb?sslmode=require

# Or for Turso (libSQL)
# TURSO_URL=libsql://your-database.turso.io
# TURSO_AUTH_TOKEN=your-auth-token

# ----------------------------------------------------------------------------
# Required: Authentication
# ----------------------------------------------------------------------------
# Generate a secure secret: openssl rand -base64 32
AUTH_SECRET=your-super-secret-key-min-32-chars-long-change-in-production
AUTH_URL=http://localhost:3000

# ----------------------------------------------------------------------------
# Optional: Storage (S3-compatible)
# ----------------------------------------------------------------------------
# Provider: s3, r2, backblaze, minio
STORAGE_PROVIDER=r2
STORAGE_BUCKET=betterbase-storage
STORAGE_REGION=auto
STORAGE_ENDPOINT=https://your-r2-endpoint.r2.cloudflarestorage.com
STORAGE_ACCESS_KEY_ID=your-access-key
STORAGE_SECRET_ACCESS_KEY=your-secret-key

# ----------------------------------------------------------------------------
# Optional: Email (SMTP)
# ----------------------------------------------------------------------------
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your-smtp-user
SMTP_PASS=your-smtp-password
SMTP_FROM=noreply@your-domain.com

# ----------------------------------------------------------------------------
# Optional: OAuth Providers
# ----------------------------------------------------------------------------
# GitHub
# GITHUB_CLIENT_ID=your-github-client-id
# GITHUB_CLIENT_SECRET=your-github-client-secret

# Google
# GOOGLE_CLIENT_ID=your-google-client-id
# GOOGLE_CLIENT_SECRET=your-google-client-secret

# Discord
# DISCORD_CLIENT_ID=your-discord-client-id
# DISCORD_CLIENT_SECRET=your-discord-client-secret

# ----------------------------------------------------------------------------
# Optional: Phone Auth (Twilio)
# ----------------------------------------------------------------------------
# TWILIO_ACCOUNT_SID=your-twilio-sid
# TWILIO_AUTH_TOKEN=your-twilio-token
# TWILIO_PHONE_NUMBER=+1234567890

# ----------------------------------------------------------------------------
# Application Settings
# ----------------------------------------------------------------------------
NODE_ENV=development
PORT=3000
HOST=0.0.0.0

# Comma-separated list of allowed CORS origins
CORS_ORIGIN=http://localhost:3000,http://localhost:5173

# Logging
LOG_LEVEL=debug

# ----------------------------------------------------------------------------
# Vector Search (optional)
# ----------------------------------------------------------------------------
# VECTOR_PROVIDER=openai
# OPENAI_API_KEY=your-openai-api-key
Loading
Loading