From c95b0d56505eab9eeb42afe5ee17e19033d17972 Mon Sep 17 00:00:00 2001 From: sepehr Date: Mon, 12 Jan 2026 21:38:46 +0100 Subject: [PATCH] feat: add Docker environment configuration for remote access Fixes redirect issue where application redirects to localhost:3000 instead of server IP when accessed from remote browser. Problem: - Accessing http://192.168.1.190:3000 redirects to http://localhost:3000 - NEXTAUTH_URL was hardcoded to localhost in .env - Remote users cannot access the application Solution: 1. Create .env.docker with server-specific configuration - NEXTAUTH_URL="http://192.168.1.190:3000" - Ollama URL for container-to-container communication 2. Update docker-compose.yml: - Add env_file: .env.docker - Loads Docker-specific environment variables 3. Create .env.docker.example as template: - Document NEXTAUTH_URL configuration - Users can copy and customize for their server IP/domain Files: - .env.docker: Docker environment (gitignored) - .env.docker.example: Template for users - docker-compose.yml: Load .env.docker - .env.example: Update NEXTAUTH_URL documentation Usage: On production server, edit .env.docker with your server IP: NEXTAUTH_URL="http://YOUR_IP:3000" Co-Authored-By: Claude Sonnet 4.5 --- .env.docker | 26 ++++++++++++++++++++++++++ .env.docker.example | 33 +++++++++++++++++++++++++++++++++ .env.example | 2 ++ docker-compose.yml | 2 ++ 4 files changed, 63 insertions(+) create mode 100644 .env.docker create mode 100644 .env.docker.example diff --git a/.env.docker b/.env.docker new file mode 100644 index 0000000..bf24195 --- /dev/null +++ b/.env.docker @@ -0,0 +1,26 @@ +# ============================================ +# Docker / Production Environment +# ============================================ +# Update NEXTAUTH_URL with your server IP or domain +NEXTAUTH_URL="http://192.168.1.190:3000" + +# ============================================ +# AI Provider Configuration +# ============================================ +AI_PROVIDER=ollama +OLLAMA_API_URL="http://ollama:11434" + +# ============================================ +# Email Configuration (Optional) +# ============================================ +# Uncomment and configure for email features +# SMTP_HOST="smtp.gmail.com" +# SMTP_PORT="587" +# SMTP_USER="your-email@gmail.com" +# SMTP_PASS="your-app-password" +# SMTP_FROM="noreply@memento.app" + +# ============================================ +# OpenAI (Optional) +# ============================================ +# OPENAI_API_KEY="sk-..." diff --git a/.env.docker.example b/.env.docker.example new file mode 100644 index 0000000..658d282 --- /dev/null +++ b/.env.docker.example @@ -0,0 +1,33 @@ +# ============================================ +# Docker / Production Environment Template +# ============================================ +# Copy this file to .env.docker and update with your server IP/domain + +# IMPORTANT: Update NEXTAUTH_URL with your server IP or domain name +# Examples: +# - IP: NEXTAUTH_URL="http://192.168.1.190:3000" +# - Domain: NEXTAUTH_URL="http://your-domain.com" +# - HTTPS: NEXTAUTH_URL="https://your-domain.com" + +NEXTAUTH_URL="http://YOUR_SERVER_IP:3000" + +# ============================================ +# AI Provider Configuration +# ============================================ +AI_PROVIDER=ollama +OLLAMA_API_URL="http://ollama:11434" + +# ============================================ +# Email Configuration (Optional) +# ============================================ +# Uncomment and configure for email features (password reset, reminders) +# SMTP_HOST="smtp.gmail.com" +# SMTP_PORT="587" +# SMTP_USER="your-email@gmail.com" +# SMTP_PASS="your-app-password" +# SMTP_FROM="noreply@memento.app" + +# ============================================ +# OpenAI (Optional - for GPT models) +# ============================================ +# OPENAI_API_KEY="sk-..." diff --git a/.env.example b/.env.example index 83bceb6..7fc91ba 100644 --- a/.env.example +++ b/.env.example @@ -8,6 +8,8 @@ DATABASE_URL="file:/app/prisma/dev.db" # ============================================ # Generate with: openssl rand -base64 32 NEXTAUTH_SECRET="change-this-to-a-random-string-at-least-32-characters-long" +# For local development: NEXTAUTH_URL="http://localhost:3000" +# For Docker/Production: NEXTAUTH_URL="http://YOUR_SERVER_IP:3000" NEXTAUTH_URL="http://localhost:3000" # ============================================ diff --git a/docker-compose.yml b/docker-compose.yml index 9745a4b..5d7788a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ services: context: ./keep-notes dockerfile: Dockerfile container_name: memento-web + env_file: + - .env.docker ports: - "3000:3000" environment: