Commit Graph

157 Commits

Author SHA1 Message Date
Georges-Antoine Assi
00c2fe86ad [ROMM-2565] Multi threaded library scanning 2025-10-18 15:39:57 -04:00
Georges-Antoine Assi
ff15cfcee6 support states for more types of tasks 2025-10-09 19:20:19 -04:00
Marius Luca
1604406e2b - add a configurable ROMM_TMP_PATH environment variable for controlling where large file operations take place like 7z extraction 2025-10-09 16:50:25 +03:00
Georges-Antoine Assi
f7d2b92f1d add env var for custom tinfoil welcome messagr 2025-10-01 11:29:12 -04:00
Georges-Antoine Assi
0b24256df5 Merge pull request #2495 from MaienM/feature/disable-setup-wizard
Add option to disable setup wizard
2025-09-30 11:15:10 -04:00
Michon van Dooren
de8b585361 Add option to disable setup wizard 2025-09-29 22:43:39 +02:00
Michon van Dooren
240f348f92 Add support for OIDC role claim 2025-09-29 22:27:10 +02:00
Georges-Antoine Assi
123b3f6b8b create makeshift howlongtobeet handler 2025-09-14 19:39:38 -04:00
Georges-Antoine Assi
3c4113f8a8 Merge branch 'master' into flashpoint-metadata-handler 2025-09-11 21:27:48 -04:00
Georges-Antoine Assi
347767e437 Update joserfc to 1.3 to fix CVA 2025-09-08 11:56:50 -04:00
Michael Manganiello
d216bad78b misc: Add MetadataHandler's is_enabled method
Convert `MetadataHandler` to an abstract base class and add an
`is_enabled` class method that allows every metadata handler to
independently report whether it is enabled based on its configuration.

This avoids the need for global variables in the config module, allowing
us to change the enabled state of a metadata handler at runtime if
needed.
2025-09-03 22:13:28 -03:00
Michael Manganiello
a31a8504c2 feat: Add scheduled task to sync RetroAchievements progress
Add a new scheduled task that syncs RetroAchievements progress for all
users with a RetroAchievements username.

Environment variables:
- `ENABLE_SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC`: Enable or disable
  the task (default: `false`)
- `SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC_CRON`: Cron string to
  schedule the task (default: "0 4 * * *" - daily at 4 AM)
2025-08-31 01:57:26 -03:00
Georges-Antoine Assi
f8d5feba24 changes from review 2025-08-30 14:19:29 -04:00
Georges-Antoine Assi
b7d59d74c4 init task 2025-08-27 22:25:45 -04:00
Georges-Antoine Assi
bf0d864d84 Add flashpoint as a metadata handler 2025-08-27 11:04:13 -04:00
Georges-Antoine Assi
9bb586b288 set timeouts 2025-08-26 21:09:13 -04:00
Georges-Antoine Assi
a1519a4b05 Make default ROMM_AUTH_SECRET_KEY consistent between workers 2025-08-15 12:46:46 -04:00
Michael Manganiello
889c71444b feat: Add support for database query string using DB_QUERY_JSON variable
This change adds a new environment variable `DB_QUERY_JSON` that allows
users to specify querystring values for additional database connection
parameters. This is useful for passing custom query parameters to the
database connection URL.

The `DB_QUERY_JSON` variable should contain a JSON string with key-value
pairs of strings, which is the required format for the SQLAlchemy URL
`query` parameter. If the variable is not set, no additional query
parameters will be added to the database connection URL.

Closes #2093.
2025-08-10 00:31:03 -03:00
Georges-Antoine Assi
50213a7891 [ROMM-1975] Add YOUTUBE_BASE_URL for custom youtube proxy 2025-07-21 18:23:54 -04:00
Georges-Antoine Assi
3bf1c08daf add ROMM_PORT to config 2025-07-11 09:59:57 -04:00
Georges-Antoine Assi
1a6654e436 add env var 2025-06-17 18:47:30 -04:00
Georges-Antoine Assi
88130a60f8 First batch of work for hasheous 2025-06-15 21:52:36 -04:00
Georges-Antoine Assi
167ef44fef explicit require igdb + enable in env 2025-06-15 17:25:18 -04:00
Georges-Antoine Assi
cf80fb6532 incr improvements towards playmatch self 2025-06-15 14:41:14 -04:00
Georges-Antoine Assi
c46d81bba5 Merge branch 'master' into feature/add-playmatch-integration 2025-06-15 12:56:12 -04:00
Georges-Antoine Assi
318661bc45 Merge branch 'master' into romm-403 2025-06-13 11:51:45 -04:00
zurdi
7d27e368f1 feat: add SESSION_MAX_AGE_SECONDS configuration for session middleware 2025-06-13 12:54:31 +00:00
Georges-Antoine Assi
ae960fcaa6 return list of playmatch hits 2025-06-12 17:09:34 -04:00
Yukine
9bbe0613c6 feat(pm_handler): allow disabling playmatch via env 2025-06-05 14:36:40 +02:00
Georges-Antoine Assi
41ce4f06ac use env var to toggle lb 2025-05-24 20:35:59 -04:00
Georges-Antoine Assi
7d572ac0bf Merge branch 'master' into romm-403 2025-05-15 21:48:41 -04:00
zurdi
d27f4d626b feat: Reset forgotten password added 2025-05-13 09:35:53 +00:00
zurdi
eec1379d02 refactor: remove RETROACHIEVEMENTS_USERNAME from docker env variables 2025-05-13 09:35:34 +00:00
zurdi
15d630ef54 fix: ra cache files path 2025-04-15 16:12:46 +00:00
zurdi
574e16cadd feat: fetch all achievements for a game 2025-04-14 16:29:03 +00:00
zurdi
30a0be2c4c Merge branch 'master' into HEAD 2025-04-10 22:56:55 +00:00
Georges-Antoine Assi
03e2bac425 fix ordering rows in table view 2025-03-23 19:35:53 -04:00
Michael Manganiello
fac368641c misc: Strip environment variables related to third-party credentials
For client_id/client_secret combinations, and API keys, we are certain
that they should not have leading/trailing whitespaces. We can strip
them to avoid any potential issues for users who might have added them
incorrectly in their Docker Compose configuration.

This change does NOT affect users/passwords, where leading/trailing
whitespaces might be intentional and valid.
2025-02-22 19:57:29 -03:00
Michael Manganiello
9602d58865 misc: Add support for WEB_CONCURRENCY environment variable
The `WEB_CONCURRENCY` environment variable is a more common way to
configure the number of workers for Gunicorn [1] or other web servers.

This change maintains `GUNICORN_WORKERS` compatibility, while notifying
users that it is deprecated and should be replaced with
`WEB_CONCURRENCY`.

It would also allow us to replace Gunicorn with another web server in
the future without changing the variable name.

[1] https://docs.gunicorn.org/en/stable/settings.html#workers
2025-02-19 00:31:34 -03:00
zurdi
d2c2fe6f12 Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-02-08 20:40:27 +00:00
Georges-Antoine Assi
6c95a03746 Read-only kiosk mode for viewers 2025-02-06 09:04:41 -05:00
zurdi
2ee6026614 Remove SCREENSCRAPER_API_KEY from configuration and handler, replace with decoded credentials 2025-02-05 12:32:16 +00:00
zurdi
9d96501b9e Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-01-31 00:12:44 +00:00
Georges-Antoine Assi
8cde4868e8 Merge branch 'master' into romm-403 2025-01-20 17:49:46 -05:00
Michael Manganiello
6f5e0a0ed9 misc: Do not fail if LOGLEVEL is not uppercase
The `logging.setLevel` method expects the log level to be in uppercase.
This change ensures that the `LOGLEVEL` config value is always in
uppercase.
2025-01-20 00:28:43 -03:00
Georges-Antoine Assi
0c95eff2e1 fetch and parse launchbox metadata.zip 2025-01-18 10:51:30 -05:00
Georges-Antoine Assi
45e11acfa2 [ROMM-1442] Add OIDC_TLS_CACERTFILE path to mounted certfile 2025-01-09 21:20:10 -05:00
zurdi
977d552674 Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-01-08 13:01:30 +00:00
Georges-Antoine Assi
969d16b3ba Add new env to config 2025-01-01 13:35:08 -05:00
zurdi
0d1b932701 Merge branch 'master' into feature/screenscraper-integration 2025-01-01 17:43:20 +00:00