2022-06-20 13:48:45 +02:00
## Dev Environment on Debian 11
2022-10-06 15:39:51 +02:00
### Install NVM & Node 14
2023-04-13 13:10:34 +02:00
2022-10-06 15:39:51 +02:00
NVM documentation: https://github.com/nvm-sh/nvm#installing-and-updating
2022-06-20 13:48:45 +02:00
2022-10-06 15:39:51 +02:00
Install NVM
2023-04-13 13:10:34 +02:00
2022-06-20 13:48:45 +02:00
```
2022-10-06 15:39:51 +02:00
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
```
2023-04-13 13:10:34 +02:00
2022-10-06 15:39:51 +02:00
Install Node 14
2023-04-13 13:10:34 +02:00
2022-10-06 15:39:51 +02:00
```
nvm install 14
2022-06-20 13:48:45 +02:00
```
### Install npm requirements
```
npm install -g yarn jest lerna
```
2023-04-13 13:10:34 +02:00
2022-06-20 13:48:45 +02:00
### Install Docker and Docker Compose
```
apt install docker.io
pip3 install docker-compose
```
2023-04-13 13:10:34 +02:00
2022-06-20 13:48:45 +02:00
### Clone the repo
2023-04-13 13:10:34 +02:00
2022-06-20 13:48:45 +02:00
```
git clone https://github.com/Budibase/budibase.git
```
### Check Versions
This setup process was tested on Debian 11 (bullseye) with version numbers show below. Your mileage may vary using anything else.
- Docker: 20.10.5
- Docker-Compose: 1.29.2
2023-04-17 16:40:34 +02:00
- Node: v14.20.1
2022-06-20 13:48:45 +02:00
- Yarn: 1.22.19
- Lerna: 5.1.4
### Build
```
cd budibase
yarn setup
```
2023-04-13 13:10:34 +02:00
2022-06-20 13:48:45 +02:00
The yarn setup command runs several build steps i.e.
2023-04-13 13:10:34 +02:00
2022-06-20 13:48:45 +02:00
```
node ./hosting/scripts/setup.js & & yarn & & yarn bootstrap & & yarn build & & yarn dev
```
2023-04-13 13:10:34 +02:00
2022-06-20 13:48:45 +02:00
So this command will actually run the application in dev mode. It creates .env files under `./packages/server` and `./packages/worker` and runs docker containers for each service via docker-compose.
The dev version will be available on port 10000 i.e.
2023-03-07 15:58:58 +01:00
http://127.0.0.1:10000/builder/admin
### File descriptor issues with Vite and Chrome in Linux
2023-04-13 13:10:34 +02:00
2023-03-07 15:58:58 +01:00
If your dev environment stalls forever, with some network requests stuck in flight, it's likely that Chrome is trying to open more file descriptors than your system allows.
To fix this, apply the following tweaks.
Debian based distros:
Add `* - nofile 65536` to `/etc/security/limits.conf` .
Arch:
2023-04-13 13:10:34 +02:00
Add `DefaultLimitNOFILE=65536` to `/etc/systemd/system.conf` .