Ever Gauzy Platform
💡 What's New
- 🔥🔥🔥 we just released Ever Works - An open agentic runtime that autonomously researches, ships, and maintains entire businesses, 24/7. Please grab it now from https://github.com/ever-works/ever-works and make it ⭐⭐⭐ on GitHub!
- if you like Gauzy, you should also like Ever Teams - Open Work & Productivity Platform. Please check https://github.com/ever-co/ever-teams and make it ⭐ on GitHub! It's built with a React (NextJs) / ReactNative (Expo) stack and connects to headless Ever Gauzy Platform APIs.
🌟 What is it
Ever® Gauzy™ - Open Business Management Platform for Collaborative, On-Demand and Sharing Economies.
- Enterprise Resource Planning (ERP)
- Customer Relationship Management (CRM)
- Human Resource Management (HRM)
- Applicant Tracking System (ATS)
- Work and Project Management (PM)
- Employee Time-Tracking, Activity & Productivity Tracking
Ever® Gauzy™ Platform is a part of our larger Open Platform for Collaborative, On-Demand and Sharing Economies - Ever® Platform™.
✨ Features
Main features:
- Human Resources Management (HRM) with Time Management / Tracking and Employees Performance Monitoring
- Customer Relationship Management (CRM)
- Enterprise Resource Planning (ERP)
- Projects / Tasks Management
- Sales Management
- Financial and Cost Management (including Accounting, Invoicing, etc)
- Inventory, Supply Chain Management, and Production Management
A more detailed list of the features available in the platform:
- Headless APIs
- Dashboard (provides an overview of different metrics, such as company income/expenses, employee bonuses, etc.)
- Time Management / Time Tracking / Activity Tracking / Timesheets
- Employees Management (register of company employees/contractors, rates of employees, etc.)
- Employee Onboarding
- Applicant Tracking System (ATS) / Candidates Interviews
- Contacts Management (Clients / Customers / Leads / etc.)
- Schedules / Appointments / Events
- Project Management / Tasks
- Goals / KPI / Objectives / Key Results
- Sales Pipelines
- Proposals
- Accounting / Invoicing / Estimates
- Billing
- Payments
- Income / Expenses Management
- Time Off Management / Holidays / Approvals
- Inventory
- Equipment / Sharing
- Multiple Organizations Management
- Organization Departments and Teams
- Organization Clients and Vendors
- Help Center / Knowledge Base
- Tags / Labels
- Reports / Insights / Analytics
- Organization and Employee Public Pages
- Integrations (Upwork, HubStaff, etc.)
- Email History / Email Templates
- Data Import / Export
- Roles / Permissions
- Multi-currency
- Multi-lingual
- Dark / Light / Corporate / Material and other Themes
Read more about Gauzy and how to use it at your company, on-demand business, freelance business, agency, studio or in-house teams.
🌼 Screenshots
Show / Hide Screenshots
Web UI

Desktop Timer UI (Standard)

Desktop Timer UI (Expanded)

🔗 Links
- https://gauzy.co - check more information about the platform at the official website.
- https://app.gauzy.co - SaaS (Important: it's currently in Alpha version/testing mode, please use it cautiously).
- https://demo.gauzy.co - Online Demo (see more info below).
- https://gauzy.co/downloads - Download Platform & Apps (see also more info below about available downloads).
- https://docs.gauzy.co - Platform Documentation (WIP). See also our Wiki.
- https://ever.co - get more information about our company products.
💻 Demo, Downloads, Testing and Production
Demo
Ever Gauzy Platform Demo at https://demo.gauzy.co.
Notes:
- Default super-admin user login is
admin@ever.coand the password isadmin. These are DEMO / local-development credentials only: a production install must setDEMO_SUPER_ADMIN_PASSWORD,DEMO_ADMIN_PASSWORDandDEMO_EMPLOYEE_PASSWORDbefore its first boot, and the API refuses to seed without them. - Content of demo DB resets on each deployment to the demo environment (usually daily)
- Demo environment deployed using CI/CD from the
developbranch
Downloads
You can download Gauzy Platform, Gauzy Server, or Desktop Apps (Windows/Mac/Linux) from the official Downloads page.
In addition, all releases and pre-releases downloads are also available from the following pages:
Production (SaaS)
Ever® Gauzy™ Platform SaaS is available at https://app.gauzy.co.
Note: it's currently in Alpha version/testing mode, please use it cautiously!
Staging
- Gauzy Platform Staging builds (using CI/CD, from the
stagebranch) are available at https://stage.gauzy.co - We are using the Staging environment to test releases before they are deployed to the production environment
- Our pre-releases of desktop/server apps are built from this environment and can be configured manually (in settings) to connect to Stage API: https://apistage.gauzy.co
Server & Desktop Apps
We have Gauzy Server and two Desktop Apps (for Windows/Mac/Linux):
-
Ever® Gauzy™ Server - includes Gauzy API, SQLite DB (or connects to external PostgreSQL) and serves Guazy frontend. It allows to quickly run Gauzy Server for multiple clients (browser-based or Desktop-based). It's a recommended option if you want to setup the Ever Gauzy Platform in small to medium organizations.
-
Ever® Gauzy™ Desktop App - includes Gauzy frontend (UI), Gauzy API, SQLite DB, etc., all-in-one! It allows to quickly run the whole Gauzy solution locally, both UI and Timer (for time tracking, optionally of course). In addition, it allows you to connect to the external database (e.g. PostgreSQL) or external API (if you have Gauzy Server with API / DB installed on a different computer or if you want to connect to our live API). It's a recommended option if you want to try Gauzy quickly / for personal use or if you want to connect to Gauzy Server in the "client-server" configuration (and use Desktop App instead of web browser).
-
Ever® Gauzy™ Desktop Timer App - allows running Time and Activity Tracking for employees/contractors with screenshots and activity monitoring. It is recommended to setup by organization employees as long as they are not interested in other Gauzy Platform features (e.g. accounting) and only need to track work time.
More information about our Server & Desktop Apps:
- Download for your OS from the official Downloads page or see the section "Download" above for other links to our releases pages.
- Setup Gauzy Server with default choices in Setup Wizard and run it.
- You can also setup Gauzy Desktop App (can run independently or connect to Gauzy Server) or Gauzy Desktop Timer App (should be connected to Gauzy Server)
- Gauzy Server and Gauzy Desktop App create three accounts on their first start:
admin@ever.co(Super Admin),local.admin@ever.co(Admin) andemployee@ever.co(Employee). Each gets a random password generated for that installation, which the app shows once, right after that first start: save them then (you can change them later on your profile page). Sign in asadmin@ever.coto check Admin functionality. Note: such an Admin user is not an employee, so you will not be able to track time. - Sign in as
employee@ever.coto check Employee-related functionality in Gauzy UI or to run Desktop Timer from an "Employee" perspective (such a user is an Employee and can track time). - An installation set up before these random passwords keeps its existing ones (
adminand12345678) and shows a warning at every start until you change them. - Gauzy Desktop App's integrated server accepts connections from the same computer only. To serve other computers (for example the Desktop Timer apps of your team), use Gauzy Server: it accepts connections from the network unless you turn off "Allow other computers on the network to connect" in its settings.
- If you install Gauzy Server, it is possible to connect to it using a browser (by default on http://localhost:4200) or using Gauzy Desktop Apps (make sure to configure Desktop apps to connect to Gauzy API on http://127.0.0.1:3000/api because it's where Gauzy Server API runs by default).
- You can read more information about our Desktop Apps on the Desktop Apps Wiki Page and our Server at the Server Wiki Page.
🧱 Technology Stack and Requirements
For Production, we recommend:
Note: thanks to TypeORM / MikroORM, Gauzy will support lots of DBs: SQLite (default, for demos), PostgreSQL (development/production), MySql (development/production), MariaDb, CockroachDb, MS SQL, Oracle, MongoDb, and others (with minimal changes).
See also README.md and CREDITS.md files in relevant folders for lists of libraries and software included in the Platform, information about licenses, and other details
📄 Documentation
Please refer to our official Platform Documentation and our Wiki (WIP).
🚀 Quick Start
Super Quick Start
Note: it's currently in Alpha version/testing mode, please use it cautiously!
Run with Docker Compose
- Clone repo.
- Make sure you have the latest Docker Compose installed locally. Important: you need a minimum v2.20.
Demo
- Run
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.composefile for different settings (optionally), e.g. DB type. (Note: Docker Compose will use latest images pre-build automatically from head ofmasterbranch using GitHub CI/CD.) - Open http://localhost:4200 in your browser.
- Login with email
admin@ever.coand password:adminfor Super Admin user. - Login with email
employee@ever.coand password:12345678for Employee user. - Enjoy!
Note: those credentials exist only because this stack runs with DEMO=true. They are NOT available in a production deployment — see below.
Production
- Edit
.env.compose: you must setJWT_SECRET,JWT_REFRESH_TOKEN_SECRET,JWT_VERIFICATION_TOKEN_SECRETandEXPRESS_SESSION_SECRETto 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. - You must also set
DEMO_SUPER_ADMIN_PASSWORD,DEMO_ADMIN_PASSWORDandDEMO_EMPLOYEE_PASSWORD(and optionally the matching*_EMAILvariables). 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. - Set
TRUST_PROXYto the number of proxy hops in front of the API (1behind a single nginx/ingress) or to your trusted proxy CIDRs, so the login rate limiter counts against the real client address. SetTHROTTLE_TRUST_CF_CONNECTING_IP=trueonly if every request reaches the API through Cloudflare. If Ever Teams runs against this API, setEVER_TEAMS_CLIENT_IP_SECRETto 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. - Set
REDIS_ENABLED=true(withREDIS_URL, orREDIS_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. - Failed sign-ins are also counted per account: once
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 (withRetry-After) forAUTH_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; setAUTH_MAX_FAILED_ATTEMPTS=0to switch the per-account control off and rely on the per-address rate limit alone. - Run
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 ofmasterbranch using GitHub CI/CD.)
Note: we recommend using Kubernetes for production workloads instead of Docker Compose!
Build
- Edit
.env.compose(if needed) to use your custom settings, e.g. DB type. - Run
docker-compose -f docker-compose.build.yml up -d, if you want to build everything (code and Docker images) locally. (Note: this is extremely long process because it builds whole platform locally. Other options above are much faster!) - :coffee: time... It might take some time for our API to seed fake data in the DB during the first Docker Compose run, even if you used prebuilt Docker images.
Notes:
- while demo
docker-compose.demo.ymlruns a minimum amount of containers (API, Web UI, and DB), other Docker Compose files run multiple infrastructure dependencies (see full list below). docker-compose.ymlanddocker-compose.build.ymlalso run aworkercontainer next to the API. With Redis enabled the API only enqueues scheduled jobs, so the worker is what fires them, including the per-minute event outbox dispatch that delivers webhooks.- you can also run ONLY infra dependencies (without our API / Web containers) with
docker-compose -f docker-compose.infra.yml up -dcommand. We already doing it usingincludein our main docker compose files. - API and Web UI settings live in the service
env_file(.env.compose, or.env.demo.composefor the demo): edit that file to change them. Their lines readKEY=${KEY:-default}, and Docker Compose resolves${...}in an env file from the shell and--env-filefirst, so a shell variable or--env-file .env.somethingon the docker-composeupcommand still overrides a single setting (ports and host names in the compose files themselves are read from there too).DEMOand the variables without a${...}default are read from the env file only.
Together with Gauzy, the Docker Compose commands described above for Production (docker-compose.yml) and Build (docker-compose.build.yml) will run the following infrastructure components:
- PostgreSQL - Primary Database.
- Pgweb - Cross-platform client for PostgreSQL DBs, available on http://localhost:8081.
- OpenSearch - Search Engine.
- OpenSearch Dashboards - Search Engine Dashboards, available on http://localhost:5601. Default username:
adminand password:Gauzy_password_123 - Dejavu - Web UI for OpenSearch, available on http://localhost:1358.
- MinIO - Multi-Cloud ☁️ Object Storage (AWS S3 compatible).
- Jitsu - Jitsu is an open-source Segment alternative (data ingestion engine).
- Redis - In-memory data store/caching (also used by Jitsu)
- Cube - "Semantic Layer" used for Reports, Dashboards, Analytics, and other BI-related features, with UI available on http://localhost:4000.
- Zipkin - distributed tracing system.
Quick Start to manually build & run
Required
- Install NodeJs version 26.x or later (the
enginesfield inpackage.jsonrequires>=26; the exact version used by the repo is pinned in.nvmrc, sonvm usepicks it up). - Install Yarn v1.22.x (if you don't have it) with
npm i -g yarn. - Install NPM packages and Bootstrap solution using the command
yarn bootstrap. - If you will need to make code changes (and push to Git repo), please run
yarn prepare:husky. - Adjust settings in the
.env.localwhich is used in local runs. - Alternatively, you can copy
.env.sampleto.envand change default settings there, e.g. database type, name, user, password, etc. - Run both API and UI with a single command:
yarn start. - Open Gauzy UI on http://localhost:4200 in your browser (API runs on http://localhost:3000/api).
- Login with email
admin@ever.coand password:adminfor Super Admin user. - Login with email
employee@ever.coand password:12345678for Employee user. - Enjoy!
Notes:
- during the first API start, DB will be automatically seeded with a minimum set of initial data if no users are found.
- you can run seed any moment manually (e.g. if you changed entities schemas) with the
yarn seedcommand to re-initialize DB (warning: unsafe for production!). The same default-credential check applies: withNODE_ENV=productionandDEMO != truethe seed refuses to run unlessDEMO_SUPER_ADMIN_PASSWORD/DEMO_ADMIN_PASSWORD/DEMO_EMPLOYEE_PASSWORDare set to non-default values. - it is possible to run generation of extremely large amounts of fake data for demo purposes/testing with
yarn seed:all(warning: takes ~10 min to complete)
Optional / Recommended for Production
- Optionally (recommended for production) install and run PostgreSQL version 14