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