Beez is a web based tool for beekeepers. Written in Python and powered by Django.
- Manage a number of apiaries and hives.
- Weather forecast for an apiary's location.
- Show your apiary on a map and track what area your bees can cover.
- Create inspections for your hives and collect data.
- Print out QR codes and stick them to your hives for quick access on mobile phones.
- A browsable, Swagger/OpenAPI documented, RESTful API.
- Weather alerts.
- Detailed statistics.
- Beekeeping related alerts like missed Varroa treatments.
- A native phone app.
If you'd like to see a feature, let us know on the project's GitLab issues page.
This repository comes with a Dockerfile
and a Procfile
. This means
you can build a Docker image and run a container from it or deploy the
app on Heroku or your Dokku
installation.
The app requires a PostgreSQL database so make sure one is running in the same Docker network.
- Create a Docker network or use an existing one.
- Run a PostgreSQL container.
- Build an image with the provided Dockerfile and run a container while setting the necessary environment variables, see below.
- run
python /beez/beez/manage.py migrate
withdocker exec
. - Reverse proxy to the app.
- Create a PostgreSQL database and link it to the app.
- Make sure
DATABASE_URL
contains the correct connection string. - Set the necessary environment variables, see below.
- Push the code to your Dokku/Heroku remote.
How to use Django with Gunicorn. Beez runs on Python ≥3.5.
BEEZ_SECRET_KEY
-- Defaults to a randomly generated key. I strongly recommend that you set this to something static.BEEZ_HOSTNAMES
-- Add hostnames toALLOWED_HOSTS
which is empty by default. List of hosts separated with,
, e. g.beez.com,localhost
BEEZ_OWM_API_KEY
-- API key for OpenWeatherMap.DATABASE_URL
-- Set a database URL, e. g.postgres://user:password@localhost:5432/beez
. If this is not set, a local SQLite database file will be used instead.DJANGO_SETTINGS_MODULE
-- Defaults tobeez.settings
which in turn defaults tobeez.settings.prod
. Set tobeez.settings.dev
when developing