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:test
Here 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 update
2/ 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 nodejs
4/ Check Node.js version
node -v
5/ Install NPM 11
sudo npm install -g npm@11
6/ Install PNPM
sudo npm install -g pnpm
7/ Install prerequisites for Docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
8/ Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
9/ 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/null
10/ Update the package index to include Docker’s repository
sudo apt update
11/ 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 -y
12/ Add your user to the Docker group
sudo usermod -aG docker $USER
13/ Apply the group membership changes
newgrp docker
13/ Create a new project
pnpm create ent-stack@latest
14/ 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).