MSaving

Prerequisites

The tools to install before cloning anything, with the versions the project uses.

Install these once. To try the app you need only Docker; to change it, the rest. The versions match CI and the image, so staying on the same major version avoids “works on my machine”.

The tools

Tool Version Needed for
Linux, macOS, or Windows with WSL2 (Ubuntu) Every command on this site is bash
Docker with Compose (Docker Desktop on Windows/macOS) recent The whole stack, the test database
Git and the GitHub CLI (gh) recent Cloning, pull requests
Node.js 22 (22.12 or newer) web/, and the website with these docs
Python 3.14 msaving/backend (CI and the image use 3.14)
PostgreSQL 17 client tools (psql, pg_dump, pg_restore) 17 The backup tests
Claude Code latest Optional, but every repo has a CLAUDE.md for it. See Working with Claude Code

No cloud accounts: there is nothing hosted to set up.

Install on Ubuntu / WSL2

Docker: on Windows install Docker Desktop and turn on WSL integration for your distro (Settings → Resources → WSL integration). Check from WSL: docker run --rm hello-world.

Node 22: any version manager works. With nvm:

nvm install 22 && nvm use 22
node --version    # v22.x

Python 3.14 for the backend’s virtualenv:

sudo add-apt-repository ppa:deadsnakes/ppa      # if your Ubuntu has no 3.14 yet
sudo apt install python3.14 python3.14-venv

PostgreSQL 17 client tools from the PostgreSQL apt repository (the same steps CI runs):

sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -fsSL -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
  | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt-get update && sudo apt-get install -y postgresql-client-17
/usr/lib/postgresql/17/bin/pg_dump --version   # 17.x

GitHub CLI: sudo apt install gh, then gh auth login.

Check

docker compose version && node --version && python3.14 --version && psql --version && gh auth status

Next: Clone the repos.

Edit this page · Report a problem