#System Requirements

💻 Hardware

4GB RAM minimum (8GB recommended) • 20GB free disk space • Multi-core CPU

🐧 OS

Linux (Ubuntu 20.04+/Debian 11+) • macOS 12+ • Windows 10/11 (WSL2 recommended)

⚙️ Runtime

Node.js 18.x or 20.x • npm 9+ or pnpm 8+ • Docker 24+ (optional)

🗄️ Database

PostgreSQL 14+ • Redis 6+ (for caching & queues) • MongoDB 5+ (search index)

#Installation Steps

  1. Clone the Repository

    Begin by fetching the latest stable release from the official repository.

    bash
    git clone https://github.com/aevum-encyclopedia/core.git
    cd core
    npm ci
  2. Initialize Environment

    Copy the example configuration and generate secure tokens for your instance.

    bash
    cp .env.example .env
    npx aevum-init:tokens
    💡 The aevum-init:tokens command auto-generates JWT secrets, encryption keys, and API tokens. Never commit .env to version control.
  3. Start Services

    Launch the application stack. For development, use the integrated dev server. For production, use Docker Compose.

    bash
    # Development mode
    npm run dev
    
    # Production (Docker)
    docker compose up -d

#Configuration

Core configuration is managed via environment variables. Below are the essential parameters for a functional instance.

Environment Variables (.env)

dotenv
# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/aevum_db
REDIS_URL=redis://localhost:6379
MONGODB_URI=mongodb://localhost:27017/aevum_search

# Security & Auth
JWT_SECRET=your_generated_secret_here
ENCRYPTION_KEY=your_encryption_key_here
CORS_ORIGINS=https://your-domain.com,https://app.your-domain.com

# AI & External Services
OPENAI_API_KEY=sk-...
VERIFICATION_ENDPOINT=https://verify.aevum.dev/v1

# Application
NODE_ENV=production
APP_PORT=3000
MAX_CONCURRENT_WORKERS=4

Database Migration

After configuring your database credentials, run the schema migrations and seed the initial taxonomy.

bash
npm run db:migrate
npm run db:seed:taxonomy
npm run db:seed:admin
⚠️ Running db:seed:admin creates a superuser account. Ensure you change the default credentials immediately after first login.

#Verification & Health Checks

Confirm your installation is running correctly by checking the system endpoints.

bash
curl http://localhost:3000/api/health
# Expected response: {"status":"ok","version":"2.4.1","uptime":124,"services":{"db":"connected","cache":"connected","search":"ready"}}

Access the admin dashboard at http://localhost:3000/admin to verify UI rendering and index synchronization.

#Troubleshooting

Still facing issues? Open a GitHub issue with your system-info output: npm run aevum:diagnostics