Mirror of goauthentik/authentik@github.com - Open-source identity platform
Go to file
Jens Langhammer fc2eb003ea e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
.github e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
docker
docs e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
e2e e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
gatekeeper
helm
passbook e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
scripts e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
.bumpversion.cfg
.coveragerc
.dockerignore
.editorconfig
.fossa.yml
.gitignore
.isort.cfg
.prospector.yaml
.pylintrc
Dockerfile
LICENSE
Pipfile
Pipfile.lock
README.md
SECURITY.md
docker-compose.yml
docker.env.yml e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
manage.py
mkdocs.yml
pyproject.toml WIP Use Flows for Sources and Providers (#32) 2020-06-07 16:35:08 +02:00
pyrightconfig.json
setup.cfg
static.Dockerfile
swagger.yaml WIP Use Flows for Sources and Providers (#32) 2020-06-07 16:35:08 +02:00

README.md

passbook

What is passbook?

passbook is an open-source Identity Provider focused on flexibility and versatility. You can use passbook in an existing environment to add support for new protocols. passbook is also a great solution for implementing signup/recovery/etc in your application, so you don't have to deal with it.

Installation

For small/test setups it is recommended to use docker-compose.

wget https://raw.githubusercontent.com/BeryJu/passbook/master/docker-compose.yml
# Optionally enable Error-reporting
# export PASSBOOK_ERROR_REPORTING=true
# Optionally deploy a different version
# export PASSBOOK_TAG=0.8.15-beta
# If this is a productive installation, set a different PostgreSQL Password
# export PG_PASS=$(pwgen 40 1)
docker-compose pull
docker-compose up -d
docker-compose exec server ./manage.py migrate

For bigger setups, there is a Helm Chart in the helm/ directory. This is documented here

Screenshots

Development

To develop on passbook, you need a system with Python 3.7+ (3.8 is recommended). passbook uses pipenv for managing dependencies.

To get started, run

python3 -m pip install pipenv
git clone https://github.com/BeryJu/passbook.git
cd passbook
pipenv shell
pipenv sync -d

Since passbook uses PostgreSQL-specific fields, you also need a local PostgreSQL instance to develop. passbook also uses redis for caching and message queueing. For these databases you can use Postgres.app and Redis.app on macOS or use it via docker-comppose:

version: '3.7'

services:
  postgresql:
    container_name: postgres
    image: postgres:11
    volumes:
    - db-data:/var/lib/postgresql/data
    ports:
    - 127.0.0.1:5432:5432
    restart: always
  redis:
    container_name: redis
    image: redis
    ports:
    - 127.0.0.1:6379:6379
    restart: always

volumes:
  db-data:
    driver: local

To tell passbook about these databases, create a file in the project root called local.env.yml with the following contents:

debug: true
postgresql:
  user: postgres

log_level: debug
error_reporting: false

Security

See SECURITY.md