Run from source

Run Nova from source.

For developers and tinkerers who want to run Nova directly from the GitHub repository, read the code as it runs or try changes of their own.

NeedsPython 3.13+ · Git
Startflask run
Opens atlocalhost:5001
Your datainstance/
Installation

Five steps to a running Nova

Pick your system. Everything happens in a terminal, inside a folder of your choice.

1

Install Python 3.13 and Git

On macOS with Homebrew:

terminal
brew install python@3.13 git

On Linux, install Python 3.13 or newer from your distribution if it offers it, otherwise from python.org or with pyenv. Check with python3.13 --version.

2

Get the code

terminal
git clone https://github.com/mrantonSG/nova_DSO_tracker.git
cd nova_DSO_tracker
3

Create and activate a virtual environment

terminal
python3.13 -m venv venv
source venv/bin/activate

Your prompt now starts with (venv).

4

Install the dependencies

terminal
pip install -r requirements.txt
5

Start Nova

terminal
export FLASK_APP=nova
flask run

Open http://localhost:5001. On the first start Nova creates its database and default files in the instance folder. Stop it with Ctrl+C.

After installation

Day-to-day

All commands run inside the nova_DSO_tracker folder.

NEXT TIME

Start Nova again

Activate the virtual environment, then start it as in step 5.

source venv/bin/activate   # Windows: see step 3
flask run
UPDATE

Get the latest version

Back up your data first (on Windows, just copy the instance folder), then pull the new code and refresh the dependencies.

cp -r instance instance_backup_$(date +%Y%m%d)
git pull
pip install -r requirements.txt
DATA & SETTINGS

Where everything lives

Your database, settings, uploaded images and logs are all in the instance folder. Copy it to back up or move Nova. Advanced settings go in instance/.env, for example SINGLE_USER_MODE=False for several accounts, or the AI_… keys for Ask Nova.

ALWAYS ON

Running it permanently

For a server or Raspberry Pi that runs Nova around the clock, Docker is the easier route. If you prefer Python, use gunicorn instead of flask run (macOS and Linux only):

pip install gunicorn
gunicorn --workers 4 --bind 127.0.0.1:5001 nova:app

Stuck? Open an issue on GitHub with your system, Python version and the error message.

Scroll to Top