- poetry
poetry installLocal 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.pySet the following environment variables:
SECRET_KEYAPP_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 to127.0.0.1to 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 whoisYou can access the webpage by the localhost:5000 (default settings).
- Create .env file, buy it doesn't work. Go figure
source env.shdocker compose run web python helpers/db_create.pydocker compose upsee: 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/hostsBut 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 upYou can run the tests with poetry run python -m unittest
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