Download

Get the real desktop app.

A native build of OpenConstructionERP. No Python, no pip, no Docker, no database to set up. One file, run it, done. Your data stays on your machine.

  • No Python, pip, Docker or DB
  • Data stays local
  • First launch ~60s, then fast
  • Open source, AGPL-3.0

Windows

Windows 10/11, 64-bit. WebView2 runtime bundled, so first install needs no download.

Recommended
Download for Windows

Reading latest release…

  1. 1Download the Windows installer.
  2. 2Run the file and allow WebView2 if Windows asks.
  3. 3Open the app. The first local setup can take about a minute.

macOS

Apple Silicon (aarch64), macOS 10.15+.

Recommended
Download for macOS

Reading latest release…

  1. 1Download the DMG for Apple Silicon.
  2. 2Drag OpenConstructionERP into Applications.
  3. 3Open it from Applications. If macOS asks, confirm the open action.

Linux

.deb, .rpm and .AppImage, 64-bit.

Recommended

Reading latest release…

  1. 1Use .deb for Debian, Ubuntu, Mint and related systems.
  2. 2Use AppImage when you want a portable file.
  3. 3Start the app. Your local database is created automatically.

View all builds and checksums on GitHub Setting it up for a whole team?

An honest note about the first launch

The first time you open the app it spends about 40 to 90 seconds setting up a local database. It is not frozen. Every launch after that opens fast. Nothing is sent anywhere, the database lives on your own machine.

Self-hosted

Three places to run it. All of them yours.

There is no account to create and no cloud of ours to sign into. You install the platform on a machine you own: your laptop, a computer in your office, or a server you rent. Pick the one that matches how many people will use it.

Your data stays on the machine you install it on

Projects, drawings, models, cost bases and prices are written to a database on your own hardware. The platform does not phone home, does not upload your files anywhere, and works with the network unplugged. When you stop using it, the data is still yours and every format it exports is open. That is what self-hosted means here, and it is the same in all three setups below.

For one person

On your own computer

The installer above. It brings its own database and its own web engine, so there is nothing else to install.

You need: Windows 10/11, macOS 10.15+ on Apple Silicon, or 64-bit Linux. The installer is 0.8 to 0.9 GB, so leave about 3 GB of free disk for it and your first projects.

  1. 1Download the installer for your system from the cards above.
  2. 2Run it and confirm the usual system prompt.
  3. 3Open the app from your programs or applications folder.

What opens: a normal desktop window. Nothing to type in a browser.

For a team on one network

On a server in your office

One machine that stays switched on holds the database. Colleagues use it from their own desks through a browser, over your office network only.

You need: a computer that stays on, with Docker installed, 2 GB of RAM and around 10 GB of free disk. It does not have to be a rack server; a spare office PC is enough.

curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/docker-compose.quickstart.yml -o docker-compose.yml curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/docker-compose.quickstart.image.yml -o docker-compose.override.yml echo "POSTGRES_PASSWORD=$(openssl rand -base64 24)" > .env echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env echo "OE_ALLOWED_ORIGINS=http://192.168.1.50:8080" >> .env docker compose pull app docker compose up -d

What to open: http://<server-address>:8080 in any browser on the same network. Before you start it, put that same address into the OE_ALLOWED_ORIGINS line in place of the example, otherwise the login page appears and then stays empty: the browser, not the server, refuses the calls behind it.

For a team working from anywhere

On a VPS you rent

The same setup on a rented server with a public address, so the site office and the head office reach one instance. The machine is yours; we have no access to it.

You need: a 64-bit Linux VPS with 2 GB of RAM, about 20 GB of disk, Docker, a domain name pointing at it, and a reverse proxy holding the certificate.

curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/docker-compose.quickstart.yml -o docker-compose.yml curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/docker-compose.quickstart.image.yml -o docker-compose.override.yml echo "POSTGRES_PASSWORD=$(openssl rand -base64 24)" > .env echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env echo "OE_BIND=127.0.0.1" >> .env echo "OE_ALLOWED_ORIGINS=https://erp.example.com" >> .env docker compose pull app docker compose up -d

What to open: your own address, https://erp.example.com. Put your domain in the OE_ALLOWED_ORIGINS line first. The platform does not handle certificates itself, which is why the OE_BIND line is there: it keeps port 8080 private and lets your proxy be the only way in.

Both server setups run the image we publish with every release, so nothing is compiled on your machine and a 2 GB server is enough. Updating is the same two commands again, pull then up -d; your database sits in a Docker volume and survives it. For a larger installation with a separate frontend, Redis and a vector service, the repository also carries a production compose file, and the documentation walks through it. Questions about a company rollout: info@datadrivenconstruction.io.

Which one

Native app, pip, or Docker

Most people want the native app. The other two are for developers and servers.

Native app pip Docker
Best for Anyone on a desktop Python developers Servers, teams
Prerequisites None Python 3.12+ Docker
Database setup Automatic, local Embedded, automatic Volume mount
Opens at A real window localhost:8080 localhost:8080
Updates Re-download pip -U Pull image

For developers

Run it from the terminal

Secondary paths. Each opens the same app in your browser at localhost:8080.

pip install --upgrade openconstructionerp
openconstructionerp

Then open localhost:8080. On PyPI.

190+ modules. Estimating and BOQ, takeoff, CAD and BIM, cost databases, tendering, reporting, and more.