Commit Graph

267 Commits

Author SHA1 Message Date
Georges-Antoine Assi
b247a5c5bb small tweaks 2025-08-07 17:39:57 -04:00
Georges-Antoine Assi
836e7358c2 fix issues from code review 2025-08-07 09:34:43 -04:00
Georges-Antoine Assi
4c6c36fa04 fix typo 2025-08-06 23:57:47 -04:00
Georges-Antoine Assi
64493348b9 add ignores for shellcheck 2025-08-06 23:30:32 -04:00
Georges-Antoine Assi
7e0cb2272d run watchdog as a native task 2025-08-06 23:25:47 -04:00
Georges-Antoine Assi
dd6669ebd5 fix pythonpath 2025-08-06 22:08:28 -04:00
Georges-Antoine Assi
6b307afcd3 Run worker as a native process 2025-08-06 21:57:32 -04:00
Michael Manganiello
5dcc1bd31c feat: Migrate scheduler to native RQ process
This change replaces our custom `scheduler.py` script with the
`rqscheduler` command, allowing us to run the RQ scheduler as a
separate, low-memory process, by avoiding the need to maintain
the Python app in memory.

* Remove `scheduler.py` script.
* Move initialization of scheduled tasks to `worker.py`.
* Update `docker/init_scripts/init` to start the `rqscheduler`
  command instead of the custom script.
* Fix scheduled tasks' `func` paths to the new project structure.
* Temporarily use a fork of `rq-scheduler` to support
  username and SSL settings in the `rqscheduler` command.
2025-08-06 19:13:12 -03:00
Michael Manganiello
9c8aad6cd6 fix: Run scheduler when only LaunchBox update is enabled
Include the check for `ENABLE_SCHEDULED_UPDATE_LAUNCHBOX_METADATA` to
decide whether to start the scheduler process.
2025-08-06 17:05:03 -03:00
Daniel Koster
2aa0c204b1 Update default.conf.template
Add IPv6 support
2025-08-04 20:16:59 +02:00
zurdi
270758ba69 feat: display version information in the banner 2025-07-21 11:47:12 +00:00
Georges-Antoine Assi
988fa510e5 readd link in dockerfile 2025-07-07 18:05:38 -04:00
Michael Manganiello
87d20b0bb8 fix: Correctly use Python 3.13 in Docker image
The `production-stage` stage was depending on the `python3` package from
Alpine, which at the moment of writing is still Python 3.12.

To avoid relying on Alpine's package and releases, we now copy the
Python installation directly from its official Docker image.

Other options were tested but did not work:
- Trying to install Python 3.13 using `apk`. As mentioned, Alpine does
  not support Python 3.13 yet.
- Installing Python 3.13 using `pyenv`. The installation worked, but the
  generated image was too large. Related `pyenv` discussion:
  https://github.com/orgs/pyenv/discussions/2868
- Installing Python 3.13 using `uv`. Only worked for `amd64`
  architecture, but the installation failed on `arm64`.
2025-07-07 00:17:25 -03:00
Georges-Antoine Assi
d1117a11f3 bump emujs to 4.2.3 2025-07-05 16:18:48 -04:00
Michael Manganiello
ea9def4b85 misc: Replace deprecated uvicorn.workers with uvicorn-worker
According to the `uvicorn` docs [1], the `uvicorn.workers.UvicornWorker`
class is deprecated and replaced by the `uvicorn-worker` package [2].

[1] https://www.uvicorn.org/deployment/#gunicorn
[2] https://github.com/Kludex/uvicorn-worker
2025-07-05 12:59:49 -03:00
Georges-Antoine Assi
8e1a93480e Apply suggestion from @adamantike
Co-authored-by: Michael Manganiello <adamantike@users.noreply.github.com>
2025-07-04 21:26:34 -04:00
Georges-Antoine Assi
4f6b6fe660 Apply suggestion from @adamantike
Co-authored-by: Michael Manganiello <adamantike@users.noreply.github.com>
2025-07-04 21:26:20 -04:00
Georges-Antoine Assi
edfa25ef21 Apply suggestion from @adamantike
Co-authored-by: Michael Manganiello <adamantike@users.noreply.github.com>
2025-07-04 21:26:12 -04:00
Georges-Antoine Assi
e1a5c14817 Apply suggestion from @adamantike
Co-authored-by: Michael Manganiello <adamantike@users.noreply.github.com>
2025-07-04 21:26:05 -04:00
Georges-Antoine Assi
e6fe94fc0b Apply suggestion from @adamantike
Co-authored-by: Michael Manganiello <adamantike@users.noreply.github.com>
2025-07-04 21:25:53 -04:00
Georges-Antoine Assi
543238fb40 install uv to correct dir 2025-07-04 10:03:44 -04:00
Georges-Antoine Assi
e8f8f1621c complete migration to uv 2025-07-04 09:54:04 -04:00
Michael Manganiello
de762aa9f8 Merge pull request #2048 from rommapp/misc/python-3.13
misc: Upgrade to Python 3.13
2025-07-04 08:15:56 -03:00
Georges-Antoine Assi
8908d21afa Merge pull request #2043 from starkmapper/fix-proxy-aware-feed
Fix for setting the correct forward proto when behind ssl proxy
2025-07-04 00:35:49 -04:00
Michael Manganiello
f96adeeaee misc: Upgrade to Python 3.13
Small changes to upgrade Python to version 3.13, and fixes based on a
`pyupgrade` run using the `--py313-plus` flag.
2025-07-03 23:37:00 -03:00
Georges-Antoine Assi
1050f47aac bump emulatorjs to 4.2.2 2025-07-02 16:40:01 -04:00
Mark Stapper
365c0efece Fix typo 2025-07-02 08:11:35 +02:00
Georges-Antoine Assi
67dc49c818 Add vscode devcontainer file and fix dockerfile 2025-07-01 15:02:32 -04:00
Mark Stapper
fa3a5c534f Fix Set correct forward proto even when behind reverse proxy 2025-07-01 10:34:19 +02:00
Michael Manganiello
dac5cf687e misc: Upgrade nginx to v1.29.0 2025-06-29 12:42:17 -03:00
Michael Manganiello
ab6ccc0999 misc: Upgrade RALibretro to v1.8.1
The previous attempt to upgrade RALibretro before a new tagged version
was available (#1970) needed to be reverted, as the RAHasher tool failed
with segmentation faults in some scenarios.
2025-06-28 13:10:37 -03:00
Michael Manganiello
c532f177ad misc: Remove support for deprecated GUNICORN_WORKERS variable
The `GUNICORN_WORKERS` environment variable has been deprecated in favor
of `WEB_CONCURRENCY`.
2025-06-19 10:19:40 -03:00
Georges-Antoine Assi
798f1cdcb0 fulyl revert it 2025-06-15 11:13:47 -04:00
Georges-Antoine Assi
8a89775ec8 add back libs for rahasher 2025-06-15 10:43:30 -04:00
Georges-Antoine Assi
bc0a0c1f26 revert ralibretro change 2025-06-15 10:32:07 -04:00
Michael Manganiello
a85a696505 misc: Upgrade RALibretro to the current upstream version
Bump `RALibretro` to the latest commit from the upstream repository.
Removes the need to use an older version of Alpine Linux, but requires
some changes to the `RALibretro` source code to compile successfully.

The `nginx` image is still not available for Alpine 3.22, but we can
also upgrade to its latest patch version (`1.27.5`).
2025-06-10 20:48:15 -03:00
zurdi
2aa6f1251b fix: set default ROMM_BASE_URL in nginx startup log message 2025-05-23 00:11:12 +00:00
zurdi
d27f4d626b feat: Reset forgotten password added 2025-05-13 09:35:53 +00:00
Zurdi
5c6d35b141 Update docker/init_scripts/init
Co-authored-by: Georges-Antoine Assi <3247106+gantoine@users.noreply.github.com>
2025-05-11 09:17:34 +02:00
zurdi
693f3e038b refactor: add ASCII art banner to init script and improve debug log output 2025-05-09 15:55:58 +00:00
zurdi
1b38607eab refactor: update Alembic logging configuration and add ASCII art banner to init script 2025-05-09 15:23:32 +00:00
zurdi
22f5134fbb refactor: add Gunicorn logging configuration and update startup script 2025-05-09 10:25:02 +00:00
zurdi
549e5956bf refactor: add initial logging configuration for Gunicorn 2025-05-09 10:24:45 +00:00
zurdi
e6c4a43c1e refactor: improve logging messages and formatting for clarity and consistency across multiple modules 2025-05-09 09:35:13 +00:00
zurdi
53f9386208 refactor: enhance logging messages and formatting for improved clarity and consistency 2025-05-08 23:35:33 +00:00
zurdi
49ad99d5e7 refactor: improve logging setup and format across multiple modules for consistency 2025-05-08 22:17:53 +00:00
zurdi
b3d341bc11 refactor: add TODO comment to check on database disconnection in init script 2025-05-08 17:59:50 +00:00
zurdi
c5033d9967 refactor: enhance logging output with color formatting for improved readability 2025-05-08 17:59:01 +00:00
zurdi
cac9602974 refactor: streamline logging setup and improve log formatting across multiple modules 2025-05-08 17:57:40 +00:00
zurdi
5bc820d3ee refactor: enhance logging and user agent mapping in nginx configuration for improved monitoring 2025-05-08 17:22:30 +00:00