poetry install
Local setup involves using the sqlite3 database. Before running the web server, we need to create the database with helper script:
poetry run python helpers/db_create.py
Set the following environment variables:
SECRET_KEY
APP_IP_MASK
- A mask that filters the allowed IP's, allowing blocking
requests outside of the accepted network. For the local development purposes
this can be set to 127.0.0.1
to allow requests only from the host machine.Example of setting environemnt variables:
Windows: set SECRET_KEY=example123
.
Linux: export SECRET_KEY=example123
.
poetry run python -m whois
You can access the webpage by the localhost:5000
(default settings).
source env.sh
docker compose run web python helpers/db_create.py
docker compose up
see: https://github.com/navikt/mock-oauth2-server
configuration can be found in ./tests/resources
If you want for redirects to work properly you need to add mock oauth to /etc/hosts
echo "127.0.0.1 oauth.localhost" >> /etc/hosts
But if you can't, you can always change oauth.localhost
to localhost
in your browser when redirect fails.
docker-compose build
# first run, later it should just connect to existing db
docker-compose run web python3 helpers/db_create.py
docker-compose up
This: -v /etc/localtime:/etc/localtime:ro
is required to match the timezone in the container to timezone of the host
Sample:
version: "3"
services:
rabbitmq:
image: "rabbitmq:3.6-management-alpine"
ports:
- "5672:5672"
- "15672:15672"
web:
build: ./docker/web
environment:
# you should change secret key
- SECRET_KEY=<your_secret_key>
- DB_PATH=/data/whoisdevices.db
ports:
# use 127.0.0.1:8000:8000
- "8000:8000"
volumes:
- database:/data
- /etc/localtime:/etc/localtime:ro
restart: always
worker:
build: ./docker/worker
environment:
- DB_PATH=/data/whoisdevices.db
volumes:
- database:/data
- /etc/localtime:/etc/localtime:ro
restart: always
volumes:
database:
SECRET_KEY
in .env
Look for mountpoint via docker inspect whois_db
If you'd like to migrate from a previously running instance please copy the contents of db into current Docker volume