fix: configure PostgreSQL for production and clean up deployment
- Fix database configuration to use PostgreSQL in production - Add knexfile.js to support both SQLite (dev) and PostgreSQL (prod) - Create admin user creation script (scripts/create-admin.js) - Clean up docker-compose files: - Remove redundant docker-compose.yml and docker-compose.local.yml - Create docker-compose.dev.yml for development - Update docker-compose.prod.yml with proper DB configuration - Clean up environment files: - Update .env.example for development - Update .env.production.example with proper settings - Remove redundant .env.local - Update backend .env.example with database configuration options - Create comprehensive DEPLOYMENT.md with admin setup instructions - Fix production database name consistency (picpeak instead of photoapp)
This commit is contained in:
+28
-20
@@ -1,26 +1,34 @@
|
||||
# JWT Secret for authentication
|
||||
# IMPORTANT: Generate a secure random secret with: openssl rand -hex 32
|
||||
# NEVER use the default value or commit the actual secret to version control
|
||||
JWT_SECRET=CHANGE_ME_TO_A_64_CHARACTER_SECURE_RANDOM_STRING_GENERATED_BY_OPENSSL
|
||||
# Environment Configuration Template
|
||||
# Copy this file to .env and adjust values for your environment
|
||||
|
||||
# URLs
|
||||
ADMIN_URL=https://admin.photos.yourdomain.com
|
||||
FRONTEND_URL=https://photos.yourdomain.com
|
||||
# Development: Use docker-compose.dev.yml
|
||||
# Production: Use docker-compose.prod.yml with .env.production.example
|
||||
|
||||
# Database (for PostgreSQL in production)
|
||||
DB_USER=photoapp
|
||||
DB_PASSWORD=secure-password-here
|
||||
DB_NAME=photo_sharing
|
||||
# JWT Secret (CRITICAL for production)
|
||||
# Generate with: openssl rand -base64 32
|
||||
JWT_SECRET=dev-secret-change-in-production
|
||||
|
||||
# Application URLs
|
||||
ADMIN_URL=http://localhost:3005
|
||||
FRONTEND_URL=http://localhost:3005
|
||||
|
||||
# Database Configuration
|
||||
# SQLite is used for development by default
|
||||
# For production PostgreSQL config, see .env.production.example
|
||||
DATABASE_CLIENT=sqlite3
|
||||
DATABASE_PATH=./data/photo_sharing.db
|
||||
|
||||
# Email Configuration
|
||||
SMTP_HOST=smtp.gmail.com
|
||||
SMTP_PORT=587
|
||||
# Development: Uses Mailhog (included in docker-compose.dev.yml)
|
||||
# Production: Configure real SMTP server
|
||||
SMTP_HOST=mailhog
|
||||
SMTP_PORT=1025
|
||||
SMTP_SECURE=false
|
||||
SMTP_USER=your-email@gmail.com
|
||||
SMTP_PASS=your-app-password
|
||||
EMAIL_FROM=noreply@yourdomain.com
|
||||
SMTP_USER=
|
||||
SMTP_PASS=
|
||||
EMAIL_FROM=noreply@localhost
|
||||
|
||||
# Umami Analytics
|
||||
UMAMI_URL=https://analytics.yourdomain.com
|
||||
UMAMI_WEBSITE_ID=your-website-id
|
||||
UMAMI_HASH_SALT=random-salt-here
|
||||
# Optional: Umami Analytics
|
||||
UMAMI_URL=
|
||||
UMAMI_WEBSITE_ID=
|
||||
UMAMI_HASH_SALT=
|
||||
Reference in New Issue
Block a user