Setup
Get up and running with the ENT Stack in just two steps:
Prerequisites
- Node.js
- PNPM
- Docker CLI (for local MySQL database)
- A Unix-like shell environment (e.g., Bash, Zsh)
1/ 🚀 Create your project
pnpm create ent-stack@latest- Creates a new project (folder) based on specific version of this repository.
- The version used is specified in the description of the npm package.
2/ 🔥 Setup
pnpm fire- Installs dependencies
- Starts the local database in a Docker container
- Creates the database and tables
- Runs dev environments for both the backend and frontend
At this point, your application should be up and running locally. But to enable email sending and testing, you need to follow the final step below.
3/ 🧪 Configure Mailing and Run Tests
To enable mailing, you need to do the following:
- Sign up for a free Resend account and set SERVICE_EMAIL, SECURITY_EMAIL and RESEND_API_KEY in apps/backend/.env
- Serves as a service for sending e-mails
- Sign up for a free MailSlurp account and set MAILSLURP_INBOX_ID and MAILSLURP_EMAIL in apps/backend/.env
- Serves as a service for receiving e-mails (for testing purposes)
After that, make sure to restart dev environment, and then you can run the tests by executing the following commands:
- Test Backend
pnpm backend:test- Test Frontend
pnpm frontend:testHere is the list of values that MUST BE THE SAME in both backend and frontend .env files:
| Backend | Frontend | 
|---|---|
| SITE_NAME | NEXT_PUBLIC_SITE_NAME | 
| COOKIE_DOMAIN | NEXT_PUBLIC_COOKIE_DOMAIN | 
| BACKEND_URL | NEXT_PUBLIC_BACKEND_URL | 
| FRONTEND_URL | NEXT_PUBLIC_FRONTEND_URL | 
| JWT_SECRET | JWT_SECRET | 
Examples
This section provides examples of setting up the ENT Stack on different operating systems.
🐧 How to install prerequisites on Ubuntu 24
1/ Update the package index
sudo apt update2/ Download the latest version of Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -3/ Install Node.js 22
sudo apt install -y nodejs4/ Check Node.js version
node -v5/ Install NPM 11
sudo npm install -g npm@116/ Install PNPM
sudo npm install -g pnpm7/ Install prerequisites for Docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y8/ Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc9/ Add Docker’s official APT repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null10/ Update the package index to include Docker’s repository
sudo apt update11/ Install Docker components (Docker Engine, CLI, containerd, Buildx, and Compose plugin)
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y12/ Add your user to the Docker group
sudo usermod -aG docker $USER13/ Apply the group membership changes
newgrp docker13/ Create a new project
pnpm create ent-stack@latest14/ Go to the new project
cd <your project>Now your project is created, and you can proceed with the setup (check the project’s README.md for the next steps).