Skip to content

Latest commit

 

History

History
122 lines (98 loc) · 2.72 KB

README.md

File metadata and controls

122 lines (98 loc) · 2.72 KB

jobby

Installation

Requirements

Docker must be installed:

Linux

  1. download the archive: https://github.com/Actionb/jobby/archive/refs/heads/main.tar.gz
  2. unpack:
    mkdir ~/jobby && tar -xf jobby-main.tar.gz -C ./jobby && cd ./jobby/jobby-main
  3. run the installation script:
    python3 install.py --uid=$(id -u) --gid=$(id -g) --password=supersecret
    It is recommended to pass the UID and GID to avoid permission issues with docker volumes.

All-in-one, copy and paste directly into your terminal:

curl -fsL https://github.com/Actionb/jobby/archive/refs/heads/main.tar.gz -o /tmp/jobby.tar.gz
mkdir ~/jobby && tar -xf /tmp/jobby.tar.gz -C ~/jobby && cd ~/jobby/jobby-main
python3 install.py --uid=$(id -u) --gid=$(id -g) --password=supersecret
rm /tmp/jobby.tar.gz

After the installation is complete, the app should be accessible under: http://localhost:8787/jobby/

Development

Requirements

Postgres must be installed: https://www.postgresql.org/download/

Install project

  1. Clone repository:
    git clone https://github.com/Actionb/jobby.git
    cd jobby
  2. Activate virtual environment:
    python3 -m venv .venv && source .venv/bin/activate
  3. Install dependencies:
    pip install -r requirements/dev.txt
  4. Create development database:
    createdb jobby
  5. Run migrations:
    python manage.py migrate
  6. (optional) Install pre-commit hooks (see: pipx and pre-commit):
    python3 -m pip install --user pipx
    python3 -m pipx ensurepath
    pipx install pre-commit
    pre-commit install

Development server

To start the Django development server use

python manage.py runserver

Run tests

Use

make test

to run tests with coverage, and then check the coverage report with

firefox htmlcov/index.html

Playwright

To run playwright tests, make sure you have installed the browsers:

playwright install

Then run the tests with:

make test-pw

Linting and formatting

Use

make lint

to run linters. Use

make reformat

to auto-reformat python code.

Check for security vulnerabilities

Invoke pip-audit with:

make audit

Adding dependencies

To add dependencies, check requirements/README.md for a How-To.