73 Commits

Author SHA1 Message Date
Amruth Pillai bdfb854602 fix: resolve storage healthcheck path via LOCAL_STORAGE_PATH env var (#3004)
* fix: resolve local data directory to /app/data in production Docker

In the official Docker image, cwd is /app/apps/web (set via WORKDIR), but
the data volume is mounted at /app/data. Without pnpm-workspace.yaml present
in the runtime image, findWorkspaceRoot() returns null, so getLocalDataDirectory()
fell back to <cwd>/data = /app/apps/web/data, which the node user has no
permission to create. This caused the storage healthcheck to fail with
EACCES.

Add a production fallback: when cwd ends in apps/web, resolve the data
directory to two levels up (matching /app/data in the official image).

Re-resolves #2990.

https://claude.ai/code/session_015pSTtukxf7mFTty2Y6PHZf

* fix: replace apps/web heuristic with LOCAL_STORAGE_PATH env var

The previous fix special-cased a cwd ending in apps/web to land on /app/data,
but the heuristic could false-positive on any path with that suffix and was
fragile to Dockerfile changes. pnpm-workspace.yaml is never copied into the
runtime image, so the workspace-root walk was also dead code in production.

Replace the heuristic with an explicit LOCAL_STORAGE_PATH env var:
- Set LOCAL_STORAGE_PATH=/app/data in the Dockerfile (single source of truth).
- Add LOCAL_STORAGE_PATH to the env schema; storage and statistics services
  pass it through to getLocalDataDirectory.
- getLocalDataDirectory now uses the override when set, else workspace root
  (dev), else cwd/data.
- New Nitro plugin validates the resolved local data directory at startup
  and refuses to boot with a clear error if it isn't writable, surfacing
  permission issues immediately instead of at first upload/healthcheck.
- Document the new variable in .env.example and the Docker self-hosting docs.

https://claude.ai/code/session_015pSTtukxf7mFTty2Y6PHZf

* fix: address review feedback on storage path handling

- apps/web/plugins/2.storage.ts: use the default-import style for
  node:fs/promises (matches the rest of the repo, sidesteps any
  named-export concerns for fs.constants).
- packages/env/src/server.ts: reject relative LOCAL_STORAGE_PATH values
  via a zod refinement. Relative paths would be resolved against cwd,
  which differs between dev and Docker — exactly the same surprise the
  original bug had. Failing fast at config validation time gives a
  clear error before the server boots.

https://claude.ai/code/session_015pSTtukxf7mFTty2Y6PHZf

* fix: update data volume configuration in Docker Compose and enhance Nitro plugin

* fix: remove "Can I customize the templates?" FAQ entry from multiple language files

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-08 16:05:47 +02:00
Amruth Pillai 9cbb30d3ba fix: resolves #2990, revert the local storage path to /app/data 2026-05-08 11:10:24 +02:00
Amruth Pillai 50ba37a27f v5.1.0 (#2970)
* chore(release): v5.1.0

* feat: implement resume thumbnails

* fix: remove unused mcp tools

* docs: fix formatting of docs
2026-05-07 15:12:33 +02:00
Amruth Pillai a42dbcd452 feat(security): harden auth, oauth, and printer endpoints
Add stricter URL and redirect validation, endpoint rate limiting, safer defaults for printer and compose config, and CSP protections across server and API surfaces.

Made-with: Cursor
2026-04-25 15:31:06 +02:00
Amruth Pillai 4fd43657dc 📦 v5.0.15 - https://docs.rxresu.me/changelog 2026-04-02 00:14:54 +02:00
Amruth Pillai 0794b5c955 update dependencies 2026-03-29 23:09:25 +02:00
Amruth Pillai d8ffd00fa6 update translations 2026-03-18 09:54:10 +01:00
Amruth Pillai 5cd16a62d9 v5.0.12 (#2814)
* refactor to @base-ui/react

* fix all

* fixes to accordion

* more updates

* switch to chat/completions api from openai

* update version to v5.0.12
2026-03-17 23:38:06 +01:00
Amruth Pillai 87e2f2f391 add new feature flag FLAG_DISABLE_IMAGE_PROCESSING 2026-02-10 18:33:07 +01:00
Amruth Pillai c875cc858d Update .env.example with clearer instructions for PRINTER_APP_URL, remove pdf-lib dependency from package.json, and adjust translations for alignment and zoom features across multiple locales. Improve template layout consistency in various components. 2026-01-24 10:43:12 +01:00
Amruth Pillai 11cbeb27f8 fixes #2552, implement FLAG_DISABLE_SIGNUPS and FLAG_DISABLE_EMAIL_AUTH 2026-01-23 01:45:42 +01:00
Amruth Pillai 5d73998f82 add an alternative to browserless, for lightweight servers 2026-01-21 23:24:37 +01:00
Amruth Pillai 70064be7de - Use browserless over gotenberg
- Implement functionality to move items between sections or pages
- Enhance custom sections to have a `type` property
- Update the v4 importer to account for custom sections
- Update healthcheck to be a simple curl command
- Update dependencies to latest
and a lot more changes
2026-01-21 18:49:54 +01:00
Amruth Pillai cad390fa13 initial commit of v5 2026-01-19 23:31:54 +01:00
Gourav 772332661f revert: readded the .env.example file 2025-10-07 21:54:59 +05:30
Moamal-2000 78eefe9da1 fix(homepage): add accessible names to footer language button and theme toggle buttons 2025-05-10 12:45:13 +03:00
Amruth Pillai 63db927924 - fixes #2153, attempt to fix 401 unauthorized error when implementing OIDC 2025-01-15 16:32:43 +01:00
Amruth Pillai eb7813ac6f Implement OpenID Connect Authentication Strategy (works with Keycloak, Authentik etc.) 2025-01-13 15:56:29 +01:00
Amruth Pillai d18ef2e1a5 feat(feature-flags): fixes #1592, introduces new flags DISABLE_SIGNUPS and DISABLE_EMAIL_AUTH, renamed STORAGE_SKIP_BUCKET_CHECK 2024-05-29 10:30:38 +02:00
Amruth Pillai 09ebcdf40f remove sentry integration, fix linting issues 2024-05-20 17:13:17 +02:00
ToshY f60fc63ee3 fix(docker): add environment variable for puppeteer to launch with ignore http errors flag 2024-05-15 19:52:22 +02:00
Amruth Pillai e2e2551db4 fix lint-test-build workflow 2024-05-07 12:31:01 +02:00
Amruth Pillai e3785030e1 add code chunking to vite.config.ts 2024-05-07 11:45:33 +02:00
Amruth Pillai e87b05a93a release: v4.1.0 2024-05-05 14:55:06 +02:00
Amruth Pillai e26ca2adf1 feat: add env var VITE_DISABLE_SIGNUPS to allow admins to disable all signups, closes #1592 2023-11-26 15:48:17 +01:00
Amruth Pillai cd1704740e docs: update .env.example with storage url suffix, closes #1562 2023-11-23 14:00:08 +01:00
Amruth Pillai f6ad346f9b fix: add env var STORAGE_USE_SSL to toggle on/off SSL mode in MinIO Client, closes #1561 2023-11-23 10:13:08 +01:00
Amruth Pillai 1580455b3f - update translations
- add mail_from env var
- update docs for swarm deployment
2023-11-22 22:05:54 +01:00
Amruth Pillai 1825fc3283 - implement disable_email_auth env var
- add sync crowdin translations github action
2023-11-21 09:44:37 +01:00
Miguel Medina 16cb8c02ed docs: show example of oauth callback url 2023-11-19 15:24:24 -06:00
Amruth Pillai 34247f13b6 design nosepass template, add tests, add template previews 2023-11-17 08:31:12 +01:00
Amruth Pillai 2db52b7ef2 feat(i18n): translate error messages 2023-11-14 13:02:38 +01:00
Amruth Pillai d18b258761 feat(homepage): add new sections to homepage 2023-11-13 17:03:41 +01:00
Amruth Pillai 48727be809 fix(i18n): delete local translations 2023-11-10 13:14:44 +01:00
Amruth Pillai 92bb9f96a0 feat(artboard): implement 8 new templates 2023-11-09 21:01:01 +01:00
Amruth Pillai 4f5ccb9ab8 chore(server): update dependencies and add API tags to
controllers
2023-11-05 19:15:21 +01:00
Amruth Pillai 0ba6a444e2 project reset: clearing all files and folders 2023-08-31 13:22:03 +02:00
Amruth Pillai f9b6aefffe create .env generation script 2022-12-16 16:39:29 +01:00
Amruth Pillai bf41aa9c6c feat(sentry): remove sentry integration 2022-12-16 14:34:15 +01:00
Amruth Pillai c91af3668d attempt to fix sentry auth issue 2022-12-02 23:32:04 +01:00
Amruth Pillai 2e5fafac62 remove unnecessary envs 2022-12-02 23:21:00 +01:00
Amruth Pillai ea2aee2d25 add release version to sentry ci process 2022-12-02 23:16:48 +01:00
Amruth Pillai e36fbb5f64 Update .env.example 2022-12-02 22:13:07 +01:00
Amruth Pillai aec78cf875 lay the ground work for sentry integration 2022-11-25 11:32:57 +01:00
Amruth Pillai 4b1ce539d5 remove sentry integration 2022-11-24 16:58:36 +01:00
Amruth Pillai be0b7f20f9 integrate sentry for error logging 2022-11-24 11:21:30 +01:00
Amruth Pillai d1a1b68302 fix #1095: make PDF_DELETION_TIME optional, add default value 2022-11-23 11:51:28 +01:00
Krisjanis Lejejs 43ddfba777 Add scheduled deletion for cached PDF files 2022-10-25 21:10:40 +03:00
Amruth Pillai d73ee7b7f8 reformat docker setup to remove traefik dependency 2022-08-29 09:03:23 +02:00
Amruth Pillai 5b6f6b7621 use nodemailer/smtp instead of sendgrid 2022-08-22 19:26:13 +02:00