Docker + local

Run the database in Docker and the frontend and backend locally.

On Debian/Ubuntu install these dependencies.

RUN apt-get update \
    && apt-get -y install --no-install-recommends \
    sudo \
    wget \
    curl \
    git \
    make \
    strace \
    clang \
    lld \
    libpq-dev \
    libssl-dev \
    pkg-config \
    postgresql-client

Install Docker

Install Docker for your host OS.

Installing Node + Npm

Make sure node, in the version as required for PermaplanT, is installed, you may use to easily install multiple versions of node nvm, use apt or download node directly.

Install Rust

Follow the steps to install Rust using rustup.

Run the database

This runs the PostGIS database and PgAdmin.

cd .docker
docker compose up -d

Environment Variables

For the backend, frontend and database to be able to connect to each other, some environment variables need to be set. A basic .env file for local development can be found in .docker/.env. This file can be easily exported into your current shell as follows:


set -a
source .docker/.env
set +a

Be aware that this creates ephemeral environment variables, which have to be recreated for each new shell. More can be found on the manual page

For a custom setup please refer to the backend documentation.

WSL2

If you use WSL2 please make sure that the project is in the Linux file system and not in /mnt/c. Otherwise you may face issues because: - Linux uses a completely different system for file ownerships and rights - Linux file names are case-sensitive - Linux uses different characters to represent line breaks (LF vs CRLF).