Commit Graph

300 Commits

Author SHA1 Message Date
unkin-agent 95220e2ed6 fix(ha): read transcode store config from the variable form deployments set
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
The startup configuration only reads JELLYFIN_ prefixed environment
variables, so the bare Jellyfin__TranscodeStore__* form used by the chart,
the manifests and the README is dropped and the Redis store is never
registered. Nothing logs the selected store, so the fallback is invisible.

- Read bare Jellyfin__* variables into the Jellyfin:* configuration root
- Keep an explicit JELLYFIN_ variable winning over the bare form
- Log the selected transcode session store at startup
- Ping Redis once at startup and log an unreachable store at Error
- Log endpoints only, never the connection string
2026-09-13 13:10:52 +10:00
unkin-agent e68455f0ed feat(db): add opt-in PostgreSQL database provider
Multi-replica deployments cannot share a SQLite file, so the database has to
move to a server engine before the rest of the HA work is usable.

- add Jellyfin.Database.Providers.PostgreSQL with an EF Core Npgsql provider
- register the provider and a pooled NpgsqlDataSource when DatabaseType is Jellyfin-PostgreSQL
- accept postgresql:// URIs and POSTGRES_CONNECTION_STRING alongside CustomProviderOptions
- add container-backed provider, CRUD, concurrency and migration tests
2026-09-11 23:56:04 +10:00
Cody Robibero edb6cd11da Merge branch 'master' into fix-code-migration 2026-09-06 07:34:30 -04:00
Shadowghost 74ce774eff Revert to doing after migration and on shutdown 2026-09-05 17:33:47 +02:00
Shadowghost 9c259027df Cleanup 2026-09-05 08:55:12 +02:00
Shadowghost 5465e0c694 Optimize the database on startup instead of before shutdown 2026-09-05 07:36:17 +02:00
Shadowghost 0b5bbb528a Optimize database after running migrations 2026-09-04 18:57:54 +02:00
Joshua M. Boniface 31070e8208 Add a cancelable redirect handoff and drop the transitional migration status
When the server finishes starting, show "Jellyfin started successfully" with a
5-second "Redirecting in N…" countdown and a Cancel button instead of reloading
immediately. Cancel stops the countdown and the background refresh so the
startup output can be reviewed, and offers a "Continue to Jellyfin" button to
reload manually. The buttons use the web client's emby-button styling.

Also drop the transitional "Applying migrations" activity: it only showed
briefly while the pending migration set was read, or for the whole step when
nothing was pending, so startup now goes from "Preparing migrations" straight
into "Running migration X of Y".
2026-06-25 00:42:31 -04:00
Joshua M. Boniface 0046adda29 Restyle the startup UI and add a generic startup activity line
Restyle the startup/migration holding page to match the Jellyfin dark theme,
with the inline wordmark logo, a gradient spinner and a recolored startup log
tree, and move the Morestachio template rendering into a reusable
StartupUiRenderer.

Add a curated, non-identifying "current activity" line to the always-visible
header (for example "Initializing server" or "Running migration X of Y"),
reported from the startup flow and the migration service so it never leaks
server details to unauthenticated clients. Move the log download into a
"Download logs" link in the log panel header, and show only the header, with
no log hints, to non-local clients.
2026-06-22 00:00:38 -04:00
Bond-009 142b89eab5 Merge pull request #16319 from JPVenson/feat/MigrationStartupSwitch
Add startup mode to migrate or seed the database on cmd
2026-05-06 20:38:53 +02:00
Tim Eisele fb33b725e0 Fix in-process restart (#16482)
Fix in-process restart
2026-04-13 20:06:46 +02:00
JPVenson febfd7f94a Stop server immediately on migration only mode 2026-03-01 15:52:22 +00:00
JPVenson e70eaf8bc1 Add startup mode to migrate or seed the database on cmd 2026-03-01 13:10:32 +00:00
crobibero 570b8b2eb9 Backport pull request #15194 from jellyfin/release-10.11.z
Initialize transcode marker during startup

Original-merge: 81b8b0ca4a

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:24 -04:00
JPVenson 1e9e4ffda9 Rework startup topic handling and reenable output to logging framework (#14243) 2025-06-08 19:52:39 -06:00
JPVenson 88332e89c4 Feature/version check in library migration (#14105) 2025-06-05 08:59:11 -06:00
JPVenson d5672ce407 Add declarative backups for migrations (#14135) 2025-06-03 16:49:41 -06:00
JPVenson fe2596dc0e Add Full system backup feature (#13945) 2025-05-18 18:39:04 -06:00
JPVenson 4096c973c6 fix #14034 Readd Context provider on Initialise (#14040) 2025-05-04 08:27:03 -06:00
JPVenson e66c76fc34 Unified migration handling (#13950) 2025-04-27 18:18:08 -06:00
JPVenson 8ee358de2c Check for path overlaps (#12832) 2025-04-26 09:30:25 -06:00
JPVenson a0931baa8e Add Api and startup check for sufficient storage capacity (#13888) 2025-04-20 20:06:50 -06:00
JPVenson 7df6e0b16f Add port awareness to startup server (#13913) 2025-04-19 13:08:24 -06:00
JPVenson 296b17bf44 Feature/backup on migration (#13754)
* Added generalised backup for migrations

* Added backup strategy to MigrateLibraryDb

* Added missing namespace

* Fix merge issues

* Fixed style issue

* change fast backup key to timestamp

* Update src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/SqliteDatabaseProvider.cs

* Update Fields

* applied review comments
2025-03-26 20:23:36 -06:00
JPVenson 160020c551 WIP fixed namespaces 2025-03-25 15:30:22 +00:00
JPVenson 850f1c79f1 Merge branch 'master' into feature/DatabaseRefactor 2025-03-25 15:12:48 +00:00
JPVenson ea8f1ffb7c renamed SqLite to Sqlite 2025-03-24 10:07:52 +00:00
JPVenson 8c0b0d9102 Merge remote-tracking branch 'jellyfinorigin/master' into feature/10.10/DetachedMigration 2025-02-21 11:08:09 +00:00
JPVenson 7735aafef5 renaming of jfHost
usings cleanup
2025-02-21 11:05:47 +00:00
JPVenson a05b3be1b3 Fixed nullability on startupService 2025-02-21 11:00:01 +00:00
JPVenson efb402b1d2 Fixed shutdown behavior 2025-02-02 02:32:28 +00:00
JPVenson 844646e2fe Fixed migration runner and added docs for adding migrations 2025-01-27 17:20:14 +00:00
JPVenson aa811eb1e3 Prepared Seperation of Database components for future multi provider support 2025-01-26 20:45:28 +00:00
JPVenson bdab5e549e Fixed WAL lock on program exit 2024-11-11 17:39:20 +00:00
JPVenson 41c27d4e7e ATV requested endpoint mock 2024-10-26 16:59:12 +00:00
JPVenson ebabaac6b1 removed dbg timeout 2024-10-26 10:47:38 +00:00
JPVenson 1e7acec017 Added Setup overlay app to communicate status of startup 2024-10-26 10:31:01 +00:00
crobibero e5ecdcf8c9 Backport pull request #11539 from jellyfin/release-10.9.z
Add metrics collector to disposable parts

Original-merge: c1907354e8

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-13 12:47:31 -04:00
kimboslice99 350f17b59a IIS Hosting (#11120) 2024-03-18 08:37:23 -06:00
Bond_009 635d67d458 Revert "Use System.Net.IPNetwork"
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14 21:16:33 +01:00
Patrick Barron 493de3297a Use IHostLifetime to handle restarting and shutting down 2023-09-23 11:57:38 -04:00
Patrick Barron 1d8c3e088b Don't log unhandled exceptions twice 2023-09-22 10:16:52 -04:00
Patrick Barron 0df899943f Move LogEnvironmentInfo to StartupHelpers 2023-01-27 18:24:53 -05:00
Bond-009 875359d457 Merge pull request #9108 from barronpm/efcore-cleanup 2023-01-17 21:11:42 +01:00
Patrick Barron 8479f0f90c Rename JellyfinDb to JellyfinDbContext 2023-01-16 12:14:44 -05:00
Patrick Barron dc85d86ea1 Enable in-process restarting 2023-01-15 15:56:18 -05:00
Patrick Barron f8ca71ee15 Move WebHostBuilder extension method to separate file 2023-01-15 15:48:10 -05:00
Patrick Barron 029d53502f Move some startup methods to StartupHelpers 2023-01-15 15:48:07 -05:00
Bond_009 ab918c6292 Fine tune DB settings 2023-01-14 21:39:46 +01:00
Patrick Barron 033ffa9a88 Fix tests 2023-01-12 11:51:12 -05:00