Skip to content

⚡️ Prerequisites

Before installing JANUX, ensure you have the following dependencies installed:

  • Python 3.10+
  • pip or Poetry
  • Git
  • Docker
  • MongoDB
  • Redis

🐍 Python 3.10+

Ensure you have Python 3.10+ installed. If not, download and install it from the official Python website. Check your version:

python --version
For installation guides and troubleshooting, refer to the RealPython documentation.

📦 Package managers

Knowledge

If you don't have prior experience with Python, we recommend reading Using Python's pip to Manage Your Projects' Dependencies, which is a really good introduction on the mechanics of Python package management and helps you troubleshoot if you run into errors.

Upgrade pip to the latest version:

python -m pip install --upgrade pip

Install Poetry as package manager and dependencies management:

curl -sSL https://install.python-poetry.org | python3 -

🌱 Git

Ensure you have Git installed. If not, download and install it from the official Git website. Check your version:

git --version

🐳 Docker & Docker Compose

To run JANUX Authentication Gateway using Docker, ensure you have Docker and Docker Compose installed. Download and install Docker from the official website:

Verify installation with:

docker version
docker compose version

🍃 MongoDB

MongoDB is required for storing user and admin credentials. We highly recommend to run a MongoDB instance in Docker.

➊ Pull MongoDB docker image

docker pull mongo
➋ Run MongoDB in a container

To run a MongoDB instance in a container:

docker run -d --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=rootPassw0rd123! mongo

RECOMMENDED! To persist data beyond container restarts, mount a local volume:

docker run -d --name mongodb -p 27017:27017 -v mongodb_data:/data/db -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=rootPassw0rd123! mongo

➌ Connect to MongoDB instance

mongosh --host localhost --port 27017 -u admin -p secret

Optionally, you can install MongoDB Compass GUI for MongoDB.

➍ Stop and remove MongoDB

docker stop mongodb
docker rm mongodb

For a standalone installation please follow the MongoDB Installation Guide.

🔥 Redis

Redis is required for storing user and admin credentials. We highly recommend to run a Redis instance in Docker.

➊ Pull Redis docker image

docker pull redis
➋ Run Redis in a container

To run a Redis instance in a container:

docker run -d --name redis -p 6379:6379 redis

RECOMMENDED! To persist data beyond container restarts, mount a local volume:

docker run -d --name redis -p 6379:6379 -v redis_data:/data redis --save 60 1 --loglevel warning

RECOMMENDED! By default, Redis runs without a password. To add one:

docker run -d --name redis -p 6379:6379 redis --requirepass "redisPassw0rd123!"

➌ Connect to Redis instance

docker exec -it redis redis-cli

➍ Stop and remove Redis

docker stop redis
docker rm redis

For a standalone installation please follow the Redis Installation Guide.

Now that prerequisites are set, continue with configuration. 🎯