Commit Graph
45 Commits
Author SHA1 Message Date
Herculino Trotta 34f6066187 docs(readme): give IMPORT_TEMP_ROOT a literal default and move path vars up
List the Docker path as the default like the other rows do, and move
both rows out from under the dev-only Vite settings.
2026-11-08 03:17:33 -03:00
Herculino Trotta 38118c56d3 Merge remote-tracking branch 'origin/main' into fix/configurable-app-paths 2026-11-08 02:53:53 -03:00
Herculino Trotta a691da7523 chore(dev): run the dev stack in multiple git worktrees
Drop fixed container names so each worktree gets its own containers,
add docker/dev/worktree.sh to set up and tear down a worktree, and
document it under a new Development section in the README.
2026-11-08 02:48:59 -03:00
Herculino Trotta da7a77a06d docs(readme): update demo url and space out sponsor note 2026-11-07 13:28:27 -03:00
Herculino Trotta fa120bb9f0 docs(readme): credit Simafri for demo and site hosting 2026-11-07 13:25:50 -03:00
Asish Kumar 6cf8cbf786 fix(import): stop hardcoding the Docker image's paths
Import uploads were always written to /usr/src/app/temp, presets were
read from /usr/src/app/import_presets and the caches lived in /var/tmp,
so WYGIWYH only worked from the Docker image's layout. Running it as a
systemd service with a strict sandbox, or on an immutable distro like
NixOS, needs these folders to follow the app or be configurable.

- Presets are read from IMPORT_PRESETS_ROOT, the import_presets folder
  next to the app.
- Uploads wait in IMPORT_TEMP_ROOT, the temp folder next to the app by
  default, and movable with the IMPORT_TEMP_ROOT env var. The web views,
  the API and the import service all use it.
- The file-based caches live under CACHE_ROOT, /var/tmp by default, and
  movable with the CACHE_ROOT env var.

In the Docker image the app sits in /usr/src/app, so every default
resolves to the same folder as before.

The import service checked that a file was inside the temp folder with a
plain string prefix, which also accepted sibling folders such as
/usr/src/app/temp-other. It now compares paths.

CI no longer needs to create /usr/src/app before running the tests.

Fixes #472
2026-11-07 14:56:55 +05:30
Herculino Trotta 5b98779070 test(auth): add positive controls for local login and tighten basic auth check
- Add flag-off login page and admin password tests so the refusal tests can't pass for unrelated reasons
- Expect exactly 401 from refused basic auth
- Gate OIDC_DISABLE_LOCAL_LOGIN on an explicit OIDC_CONFIGURED flag
- Realign the README OIDC table, use "email" consistently, and warn about lockout with OIDC_ALLOW_SIGNUP=false
2026-11-02 16:41:52 -03:00
fariskazmi 161fc19721 feat(auth): add OIDC_DISABLE_LOCAL_LOGIN to turn off password logins
When the flag is on and an OIDC provider is configured, every e-mail and
password check is refused: the login page, the admin and the API's basic
auth. OIDC logins, API tokens, OAuth apps and permission checks keep working.
The login page hides the password form.
2026-11-02 09:08:30 -06:00
Herculino Trotta 89c7a6bd4f docs(auth): explain OIDC email trust modes 2026-10-10 17:01:56 -03:00
4273c541c5 Add API tokens and OAuth2 client support for external integrations
- Personal API tokens (model, user-settings UI, admin, management command,
  DRF auth class) for non-interactive API access from automations like n8n.
  Raw token shown once; only a SHA-256 hash is stored; last_used_at writes
  are throttled.
- OAuth2 authorization server via django-oauth-toolkit with authorization
  server metadata and optional, off-by-default Dynamic Client Registration
  (RFC 7591), so remote OAuth/MCP clients can authenticate and self-register.
- Tests for token auth, DCR gating and the management commands, plus
  .env.example and README documentation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 19:15:31 +04:00
Herculino Trotta ea097ab6f0 feat(auth): trust OIDC connections and connect them with local accounts 2026-02-15 14:41:45 -03:00
Herculino Trotta 01ea0de4b3 fix: decouple DEBUG env variable from vite dev server 2025-12-06 17:32:34 -03:00
Herculino Trotta fffba037a6 Merge pull request #403 from eitchtee/internal_port
feat: add internal_port env var
2025-11-23 23:07:29 -03:00
Herculino Trotta 5d7dd622f5 feat: add internal_port env var 2025-11-09 15:42:42 -03:00
Herculino Trotta e9acf1dd8f Add MCP Server section to README
Added information about the MCP Server for self-hosting.

Closes #389
2025-10-05 17:50:03 -03:00
Herculino Trotta a544dc4943 feat(tasks:check_for_updates): add env variable to disable checking 2025-08-06 16:58:58 -03:00
Herculino Trotta cc3ca4f4a3 docs: improve README 2025-07-20 00:02:11 -03:00
Herculino Trotta 0c48e9fe3d docs: wrong OIDC callback url 2025-06-20 02:16:37 -03:00
Herculino Trotta c8d316857f feat: changes 2025-06-16 21:33:59 -03:00
google-labs-jules[bot] 5d5d172b3b feat: Initial OIDC integration with django-allauth
I've added django-allauth and configured it for OIDC authentication.
This included changes to settings, URLs, and login templates to support OIDC.
I verified that the User model and UserSettings creation are compatible.
I also added documentation for OIDC environment variables to README.md.
2025-05-31 02:31:01 +00:00
Herculino Trotta c98d9d3ce9 Update README.md 2025-03-31 03:03:35 -03:00
Herculino Trotta 47d34f3c27 feat(app): add a demo mode 2025-03-31 02:14:00 -03:00
Herculino Trotta 046e02d506 feat(app): add environment variables to automatically create superuser on startup 2025-03-31 02:11:13 -03:00
Herculino Trotta eb65eb4590 add translation info on readme 2025-02-28 00:30:00 -03:00
luzpaz a3b9952f80 fix: typos in README
Found via `codespell -q 3 -S "*.po" -L bu,nome,vew`
2025-02-09 09:47:03 +00:00
Herculino Trotta 8f311d9924 Add Unraid setup details 2025-02-05 15:24:00 -03:00
Herculino Trotta 2735906d5e Update README.md 2025-01-30 14:45:24 -03:00
Herculino Trotta 1f03edcc2e Update README.md 2025-01-30 14:43:55 -03:00
Herculino Trotta 1405976292 Update README.md 2025-01-30 12:22:20 -03:00
Herculino Trotta 6a06d0ee88 Update README.md 2025-01-30 11:26:44 -03:00
Herculino Trotta 2ff6d69fac Update README.md 2025-01-30 10:59:49 -03:00
Herculino Trotta 7ebd329706 Update README.md 2025-01-26 21:03:14 -03:00
Herculino Trotta c88a6dcf3a Update README.md 2025-01-26 11:49:28 -03:00
Herculino Trotta 404036bafa feat(readme): add guide to build from source 2025-01-17 23:59:55 -03:00
Herculino Trotta 5e8074ea01 fix(readme): wrong comment about running app 2025-01-17 23:59:25 -03:00
Herculino Trotta b025ab7d24 docs: add more screenshots 2025-01-16 10:17:13 -03:00
Herculino Trotta e2134e98a5 docs: Add information about running locally 2025-01-16 10:06:18 -03:00
Ikko Eltociear Ashimine 526c2cb191 docs: update README.md
perfomance -> performance
2025-01-14 15:05:46 +09:00
Herculino Trotta 4fe62244cd docs(README): update README 2025-01-11 20:22:29 -03:00
Herculino Trotta d541b30280 docs: registry changes (#12)
* docker(prod): update docker-compose.prod.yml to use registry image

* docs(README): update install instructions to use registry image
2024-12-27 12:25:12 -03:00
Herculino Trotta a0d1d01d9d docs: update README 2024-12-22 04:25:54 -03:00
Herculino Trotta a1d3dfe6a3 docs: add initial README 2024-12-19 01:27:28 -03:00
Herculino Trotta 7dfe4d99aa docs: add initial README 2024-12-19 01:23:13 -03:00
Herculino Trotta f37e36c25b docs: add initial README 2024-12-19 01:21:29 -03:00
Herculino Trotta 50b0c6ce01 initial commit 2024-09-26 11:00:40 -03:00