System Requirements
FlexRoster is a web app consisting of 3 seperate applications: The web frontend, the api backend, and a postgres database. These three apps are very lightweight and can run on a single virtual machine, server, or desktop running Linux and take up less resources combined than the browser you are reading this on.
Hardware Requirements
The two apps of FlexRoster combined require very minimal resources. The following are the minimum requirements for running FlexRoster:
- 1 CPU core
- 256MB of RAM
- 1GB of storage
For optimal performance for larger schools - 2000+ active users - the following are recommended:
- 2 CPU cores
- 1GB of RAM
- 2GB of storage
Software Requirements
Docker - Recommended
Docker is the recommended way to run FlexRoster. It is the easiest way to get started and maintain the app, and you only need to install Docker and Docker Compose. You can find the installation instructions for your distribution on the Docker website.
Manual Server Setup
- Node.js 22 or later for Windows - Runs the web app
Terminal window # Download and install nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash# Download and install Node.js:nvm install 22# Verify the Node.js version:node -v # Should print "v22.13.1".nvm current # Should print "v22.13.1".corepack enable pnpm# Verify npm version:pnpm -v - Postgresql - Database for the app