From fdedd8dc60022d42c404d606b2a66e0aad438d1d Mon Sep 17 00:00:00 2001 From: alphaeusmote <41258468-alphaeusmote@users.noreply.replit.com> Date: Fri, 11 Apr 2025 04:08:19 +0000 Subject: [PATCH] Add default administrator user and authentication configuration options. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 705f2157-ef97-4fbd-89e4-8c7f2ecaea90 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7ed01c5f-a82d-405a-b728-b2e3d127c60c/2dd1a20c-f467-4f7c-915f-c7b9ad6f9965.jpg --- .env.example | 27 ++++++++++++++++++++++++++- Dockerfile | 12 ++++++++++++ docker-compose.yml | 6 ++++++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 8532172..220c1d2 100644 --- a/.env.example +++ b/.env.example @@ -27,4 +27,29 @@ RATE_LIMIT_WINDOW_MS=900000 RATE_LIMIT_MAX_REQUESTS=1000 # Logging -LOG_LEVEL=info \ No newline at end of file +LOG_LEVEL=info + +# Default Admin User Configuration +DEFAULT_ADMIN_USERNAME=admin +DEFAULT_ADMIN_PASSWORD=password +DEFAULT_ADMIN_EMAIL=admin@example.com +DEFAULT_ADMIN_FULLNAME=System Administrator +DISABLE_REGISTRATION=false + +# LDAP Authentication Configuration (Optional) +# LDAP_SERVER=ldap.example.com +# LDAP_PORT=389 +# LDAP_USE_TLS=true +# LDAP_BIND_DN=cn=admin,dc=example,dc=com +# LDAP_BIND_PASSWORD=admin_password +# LDAP_SEARCH_BASE=dc=example,dc=com +# LDAP_SEARCH_FILTER=(uid={{username}}) + +# OpenID Connect Authentication Configuration (Optional) +# OIDC_ISSUER=https://accounts.google.com +# OIDC_AUTHORIZATION_URL=https://accounts.google.com/o/oauth2/v2/auth +# OIDC_TOKEN_URL=https://oauth2.googleapis.com/token +# OIDC_USERINFO_URL=https://openidconnect.googleapis.com/v1/userinfo +# OIDC_CLIENT_ID=your_client_id +# OIDC_CLIENT_SECRET=your_client_secret +# OIDC_CALLBACK_URL=http://localhost:5000/api/auth/oidc/callback \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 1a30008..9b32220 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,6 +25,18 @@ WORKDIR /app ENV NODE_ENV=production ENV PORT=5000 +# Authentication environment variables +ENV JWT_SECRET=change-this-in-production +ENV SESSION_SECRET=change-this-in-production +ENV DEFAULT_ADMIN_USERNAME=admin +ENV DEFAULT_ADMIN_PASSWORD=password +ENV DEFAULT_ADMIN_EMAIL= +ENV DEFAULT_ADMIN_FULLNAME="System Administrator" +ENV DISABLE_REGISTRATION=false + +# Database configuration +ENV DATABASE_URL=postgres://postgres:postgres@postgres:5432/admgr + # Copy package files COPY package*.json ./ diff --git a/docker-compose.yml b/docker-compose.yml index 2d3bc01..7a826c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,12 @@ services: - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} - REDIS_URL=redis://redis:6379 - SESSION_SECRET=${SESSION_SECRET} + - JWT_SECRET=${JWT_SECRET} + - DEFAULT_ADMIN_USERNAME=${DEFAULT_ADMIN_USERNAME:-admin} + - DEFAULT_ADMIN_PASSWORD=${DEFAULT_ADMIN_PASSWORD:-password} + - DEFAULT_ADMIN_EMAIL=${DEFAULT_ADMIN_EMAIL} + - DEFAULT_ADMIN_FULLNAME=${DEFAULT_ADMIN_FULLNAME:-System Administrator} + - DISABLE_REGISTRATION=${DISABLE_REGISTRATION:-false} depends_on: - postgres - redis