Skip to main content

Installation

Detailed installation instructions for all platforms and configurations.

System Requirementsโ€‹

Minimum Requirementsโ€‹

ComponentRequirement
Node.jsLTS v22.x or v24.x
Yarnv1.22.x
RAM4 GB (8 GB recommended)
Disk Space2 GB for source + dependencies
OSWindows 10+, macOS 10.15+, Ubuntu 20.04+

Production Requirementsโ€‹

ComponentRequirement
PostgreSQLv14+ (v16.x recommended)
Redisv6+
Node.jsLTS v22.x
Dockerv20+ with Compose v2.20+

Step-by-Step Installationโ€‹

1. Install Node.jsโ€‹

Download and install the LTS version from nodejs.org.

Verify installation:

node --version # Should output v22.x or later
npm --version # Should output 10.x or later
tip

Use nvm (Linux/macOS) or nvm-windows to manage multiple Node.js versions. The repository includes an .nvmrc file.

2. Install Yarnโ€‹

npm install -g yarn
yarn --version # Should output 1.22.x

3. Clone the Repositoryโ€‹

git clone https://github.com/ever-co/ever-gauzy.git
cd ever-gauzy

4. Bootstrap the Projectโ€‹

yarn bootstrap

This command:

  • Installs all NPM dependencies across the monorepo
  • Links local packages via Lerna
  • Bootstraps the NX workspace
  • Runs any necessary postinstall scripts
note

First-time bootstrap takes 5โ€“15 minutes depending on your network speed and machine. Subsequent runs are faster due to caching.

5. Configure Environmentโ€‹

Copy the sample environment file:

cp .env.sample .env

Key settings to review:

# ORM and Database
DB_ORM=typeorm # Options: typeorm | mikro-orm
DB_TYPE=better-sqlite3 # Options: sqlite | better-sqlite3 | postgres | mysql

# API and UI URLs
API_BASE_URL=http://localhost:3000
CLIENT_BASE_URL=http://localhost:4200

# JWT (change in production!)
JWT_SECRET=secretKey
JWT_REFRESH_TOKEN_SECRET=refreshSecretKey

See the Configuration guide for all available options.

6. Set Up Git Hooks (Optional)โ€‹

If you plan to contribute:

yarn prepare:husky

This installs Husky pre-commit hooks for code formatting and lint checks.

7. Start the Platformโ€‹

yarn start

This concurrently starts:

8. Access the Platformโ€‹

Open http://localhost:4200 and log in:

  • Super Admin: admin@ever.co / admin
  • Employee: employee@ever.co / 123456

Database Setupโ€‹

SQLite (Default โ€” Development/Demo)โ€‹

No additional setup required. SQLite is used by default with DB_TYPE=better-sqlite3.

The database file is created automatically at ./gauzy.sqlite3.

  1. Install PostgreSQL v14+ (v16.x recommended):

    • macOS: brew install postgresql@16
    • Ubuntu: sudo apt install postgresql-16
    • Windows: Download from postgresql.org
  2. Create database and user:

CREATE USER gauzy WITH PASSWORD 'gauzy_password';
CREATE DATABASE gauzy OWNER gauzy;
GRANT ALL PRIVILEGES ON DATABASE gauzy TO gauzy;
  1. Update .env:
DB_TYPE=postgres
DB_HOST=localhost
DB_PORT=5432
DB_NAME=gauzy
DB_USER=gauzy
DB_PASS=gauzy_password

MySQL (Alternative)โ€‹

  1. Install MySQL v8.0+

  2. Create database:

CREATE DATABASE gauzy CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gauzy'@'localhost' IDENTIFIED BY 'gauzy_password';
GRANT ALL PRIVILEGES ON gauzy.* TO 'gauzy'@'localhost';
FLUSH PRIVILEGES;
  1. Update .env:
DB_TYPE=mysql
DB_HOST=localhost
DB_PORT=3306
DB_NAME=gauzy
DB_USER=gauzy
DB_PASS=gauzy_password

Optional Servicesโ€‹

Redisโ€‹

Redis is recommended for production caching. Without it, Gauzy uses in-memory caching.

# Install
# macOS: brew install redis
# Ubuntu: sudo apt install redis-server

# Update .env
REDIS_ENABLED=true
REDIS_URL=redis://localhost:6379

OpenSearchโ€‹

OpenSearch provides full-text search capabilities. Without it, Gauzy uses database-level search.

See the Docker Compose guide for the easiest OpenSearch setup.

MinIO (S3-Compatible Storage)โ€‹

For production file storage. Without it, files are stored on the local filesystem.

FILE_PROVIDER=S3
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
AWS_REGION=us-east-1
AWS_S3_BUCKET=gauzy

Email (SMTP)โ€‹

Configure SMTP for email features (invitations, password reset, etc.):

MAIL_FROM_ADDRESS=gauzy@your-domain.com
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=your-app-password

Platform-Specific Notesโ€‹

Windowsโ€‹

  • Use PowerShell or Windows Terminal (not cmd.exe)
  • If you encounter EPERM or symlink errors, enable Developer Mode in Windows Settings
  • Some native modules may require Visual Studio Build Tools

macOSโ€‹

  • Xcode Command Line Tools are required: xcode-select --install
  • On Apple Silicon (M1/M2/M3), all dependencies should work natively

Linuxโ€‹

  • Build essentials are required: sudo apt install build-essential
  • Python 3 may be needed for some native modules: sudo apt install python3

Useful Commandsโ€‹

CommandDescription
yarn startStart API + UI
yarn start:apiStart API only
yarn start:uiStart UI only
yarn seedSeed database with initial data
yarn seed:allSeed with extensive demo data (~10 min)
yarn buildBuild all projects
yarn testRun tests
yarn lintRun linter
yarn bootstrapInstall deps & bootstrap workspace
yarn prepare:huskySet up Git hooks

Next Stepsโ€‹