Skip to content

Latest commit

ย 

History

History
138 lines (111 loc) ยท 12.6 KB

README.md

File metadata and controls

138 lines (111 loc) ยท 12.6 KB

Fief

Users and authentication management SaaS

Important

This is the OpenSensor fork of Fief, maintained for OpenSensor authentication infrastructure. The original upstream no longer maintains this codebase. Fork-specific changes, validation results, and upgrade instructions are recorded in the maintenance notes.

Getting started

Contributing

All Contributors

All contributions to improve the project are welcome! In particular, bug and documentation fixes are really appreciated.

Report bugs and discuss larger changes in the OpenSensor fork's issues.

Thanks goes to these wonderful people (emoji key):

shrike71
shrike71

๐Ÿ› ๐Ÿค”
trisongz
trisongz

๐Ÿ’ก ๐Ÿค”
David Brochart
David Brochart

๐Ÿ“– ๐Ÿ’ป
Paolo Dina
Paolo Dina

๐Ÿ›
duber000
duber000

๐Ÿ’ป
Danilo Polani
Danilo Polani

๐ŸŒ
Moritz
Moritz

๐ŸŒ
plpsanchez
plpsanchez

๐ŸŒ
William Mayor
William Mayor

๐Ÿ’ป
Rui Oliveira
Rui Oliveira

๐ŸŒ ๐Ÿ’ป
Jimmy Angel Pรฉrez Dรญaz
Jimmy Angel Pรฉrez Dรญaz

๐ŸŒ
Michaล‚ Rosiak
Michaล‚ Rosiak

๐ŸŒ
olimcc
olimcc

๐Ÿ›ก๏ธ
Joe Hamman
Joe Hamman

๐Ÿ›ก๏ธ
zfei
zfei

๐ŸŒ ๐Ÿ’ป
Bartosz Magiera
Bartosz Magiera

๐Ÿ“–
oaltun
oaltun

๐Ÿ’ป
Cesar Smaniotto Jรบnior
Cesar Smaniotto Jรบnior

๐ŸŒ
rotil
rotil

๐Ÿ›ก๏ธ
ๆŽ็ง‰็ฅ
ๆŽ็ง‰็ฅ

๐ŸŒ
Lev Dubinets
Lev Dubinets

๐Ÿ’ต
Mathieu Virbel
Mathieu Virbel

๐Ÿ›
corv89
corv89

๐Ÿ›
Yaroslav Polyakov
Yaroslav Polyakov

๐Ÿ’ป
Scott Fredericksen
Scott Fredericksen

๐Ÿ’ป
Robert Babaev
Robert Babaev

๐Ÿ’ป
Cameron
Cameron

๐Ÿ› ๐Ÿ’ป
i-am-mike-davis
i-am-mike-davis

๐Ÿ’ป

Development

Use Python 3.14 (3.12โ€“3.14 supported), uv, and the Node LTS version in .nvmrc. The lockfiles cover runtime, development, and container dependencies.

uv sync --locked
npm ci
uv run python scripts/init-dev-env.py
docker compose up -d
npm run build
uv run pybabel compile --domain=messages --directory=fief/locale
uv run fief run-server

The setup script creates .env with independent application and MFA encryption keys. Re-running it preserves existing keys and settings. Never replace keys for an existing database: they protect stored client secrets and MFA secrets.

The sample configuration creates a local development admin on server startup. These sample credentials are for local development only.

Admin user credentials

Email: anne@bretagne.duchy

Password: herminetincture

Start the worker in another terminal:

uv run fief run-worker -p 1 -t 1

The devcontainer provides PostgreSQL and Redis and uses the same environment setup. Existing PostgreSQL 14 development data needs an explicit dump/restore into the new PostgreSQL 18 volume; see the maintenance notes before upgrading.

Run the checks and container smoke test:

uv run --locked pytest -n 4 --no-cov -q
uv run --locked mypy fief/
npm test
npm audit
uv export --locked --all-groups --no-emit-project -o /tmp/fief-requirements.txt
uv run --locked pip-audit --no-deps --disable-pip -r /tmp/fief-requirements.txt
docker build -f docker/Dockerfile.source -t opensensor/fief:local .
bash scripts/smoke-container.sh opensensor/fief:local

License

Fief is fair-code distributed under Elastic License 2.0 (ELv2).