budibase/docs/DEV-SETUP-DEBIAN.md

77 lines
1.6 KiB
Markdown
Raw Normal View History

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
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
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
```
2022-10-06 15:39:51 +02:00
Install Node 14
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
```
2022-06-20 13:48:45 +02:00
### Install Docker and Docker Compose
```
apt install docker.io
pip3 install docker-compose
```
2022-06-20 13:48:45 +02:00
### Clone the repo
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
```
2022-06-20 13:48:45 +02:00
The yarn setup command runs several build steps i.e.
2022-06-20 13:48:45 +02:00
```
node ./hosting/scripts/setup.js && yarn && yarn bootstrap && yarn build && yarn dev
```
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.
http://127.0.0.1:10000/builder/admin
### File descriptor issues with Vite and Chrome in Linux
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:
Add `DefaultLimitNOFILE=65536` to `/etc/systemd/system.conf`.