Reading the repo
Opening the box…
Reading the repo
Opening the box…
How to install on Linux
Ever® Gauzy™ - Open Business Management Platform (ERP/CRM/HRM/ATS/PM) - https://gauzy.co
Saved setup from 11 h ago
Will it work on Linux?
Also: In the browser ↗
Heads-upIt also needs Redis and 440 settings in .env (80 secret).
Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
git clone https://github.com/ever-co/ever-gauzy.git cd ever-gauzy
Node.js 26.12.1
# needs nvm: https://github.com/nvm-sh/nvm nvm install nvm use
Fill in secrets: DB_PASS, JWT_SECRET, JWT_REFRESH_TOKEN_SECRET, JWT_VERIFICATION_TOKEN_SECRET, EXPRESS_SESSION_SECRET, DEMO_SUPER_ADMIN_PASSWORD, DEMO_ADMIN_PASSWORD, DEMO_EMPLOYEE_PASSWORD
cp .env.caddy.sample .env
Needs: Redis
# needs Docker Engine: https://docs.docker.com/engine/install/ docker compose -f docker-compose.yml up -d
corepack enable yarn install
yarn start
yarn test
Note: it's currently in Alpha version/testing mode, please use it cautiously!
docker-compose -f docker-compose.demo.yml up, if you want to run the platform in basic configuration (e.g. for Demo / explore functionality / quick run) using our prebuilt Docker images. Check .env.demo.compose file for different settings (optionally), e.g. DB type. (Note: Docker Compose will use latest images pre-build automatically from head of master branch using GitHub CI/CD.)admin@ever.co and password: admin for Super Admin user.employee@ever.co and password: 12345678 for Employee user.Note: those credentials exist only because this stack runs with DEMO=true. They are NOT available in a production deployment — see below.
.env.compose: you must set JWT_SECRET, JWT_REFRESH_TOKEN_SECRET, JWT_VERIFICATION_TOKEN_SECRET and EXPRESS_SESSION_SECRET to strong, unique values (e.g. openssl rand -hex 64). The API refuses to start on the shipped blank/default secrets — shared defaults let anyone forge authentication tokens and sessions. Adjust any other settings (e.g. DB type) there too.DEMO_SUPER_ADMIN_PASSWORD, DEMO_ADMIN_PASSWORD and DEMO_EMPLOYEE_PASSWORD (and optionally the matching *_EMAIL variables). The first boot against an empty database seeds a Super Admin, an Admin and an Employee from those variables, and their shipped defaults are documented right here in this README — so the API refuses to seed while they are unset or left at the defaults.TRUST_PROXY to the number of proxy hops in front of the API (1 behind a single nginx/ingress) or to your trusted proxy CIDRs, so the login rate limiter counts against the real client address. Set THROTTLE_TRUST_CF_CONNECTING_IP=true only if every request reaches the API through Cloudflare. If Ever Teams runs against this API, set EVER_TEAMS_CLIENT_IP_SECRET to the same strong value (at least 32 characters) on both, so the per-address limits on sign-in, invites and password reset count each browser instead of the Ever Teams server; signed-in requests are limited per user.REDIS_ENABLED=true (with REDIS_URL, or REDIS_HOST/REDIS_PORT) when you run more than one API replica: rate-limit buckets are otherwise per-process, so the effective limit is multiplied by the replica count.AUTH_MAX_FAILED_ATTEMPTS (default 10) consecutive failures for one account have come from at least two different client addresses, that account answers HTTP 429 (with Retry-After) for AUTH_LOCKOUT_SECONDS (default 900). Failures from a single address never block an account. Because anyone who knows an email address can submit wrong passwords for it, an attacker with several addresses can still block that account for a while; set AUTH_MAX_FAILED_ATTEMPTS=0 to switch the per-account control off and rely on the per-address rate limit alone.docker-compose up -d, if you want to run the platform in minimal production configuration using our prebuilt Docker images. (Note: Docker Compose will use latest images pre-build automatically from head of master branch using GitHub CI/CD.)Note: we recommend using Kubernetes for production workloads instead of Docker Compose!
docker-compose.caddy.yml runs Gauzy (prebuilt API and web app images, PostgreSQL) behind Caddy, which obtains and renews HTTPS certificates by itself:
cp .env.caddy.sample .env.caddy and fill in every empty value in .env.caddy: the database password and the four secrets above (e.g. from openssl rand -hex 64), and the three DEMO_*_PASSWORD values (e.g. from openssl rand -hex 24: the sign-in form takes at most 50 characters). Docker Compose refuses to start while one is missing. .env.caddy is git-ignored.GAUZY_DOMAIN to your domain (its DNS must point at the server, with ports 80 and 443 open) to get a Let's Encrypt / ZeroSSL certificate, or keep localhost to try it locally with Caddy's own certificate authority (your browser warns until you trust it).docker compose -f docker-compose.caddy.yml --env-file .env.caddy up -d and open https://<GAUZY_DOMAIN>.Caddy is the only container published on the host. It serves everything from one origin: /api, /graphql (including subscriptions), /public (uploaded files) and /swg (Swagger UI, with the OpenAPI document at /swg-json and /swg-yaml) go to t
…
No reports for Linux yet.
Opens a chat with this manual already filled in, for Linux. It uses your own account; gitmanual sends nothing.