Commit Graph

261 Commits

Author SHA1 Message Date
Mark Monteiro
51b610b999 Expose some methods in Program.cs so they can be used to initialize the application for integration tests 2020-04-20 14:58:00 -04:00
Vasily
626d4dab10 Make sure Jellyfin listens on localhost no matter what
This is needed by LiveTV
2020-04-08 13:45:53 +03:00
Mark Monteiro
5bc6c08a0a Merge remote-tracking branch 'upstream/master' into simplify-https-config 2020-04-06 00:24:11 -04:00
Mark Monteiro
f91f2ef328 Merge remote-tracking branch 'upstream/master' into register-services-correctly 2020-04-05 10:07:17 -04:00
Bond-009
29539174a3
Merge pull request #2636 from mark-monteiro/development-https
Use ASP.NET Core HTTPS Development Certificate
2020-04-05 15:09:27 +02:00
Mark Monteiro
aee6a1b476 Remove unnecessary async and parameter from ApplicationHost initialization method 2020-04-04 20:40:50 -04:00
Mark Monteiro
5d648bf54f Register and construct ILocalizationManager correctly 2020-04-04 20:21:48 -04:00
Mark Monteiro
07cebbeae2 Register and construct IImageProcessor, SqliteItemRepository and IImageEncoder correctly 2020-04-04 17:12:24 -04:00
Mark Monteiro
0ce82ab332 Remove unnecessary fields in ApplicationHost 2020-04-04 15:05:50 -04:00
Mark Monteiro
ca71ac72ab Replace EnableHttps and SupportsHttps with ListenWithHttps and CanConnectWithHttps 2020-04-02 17:45:04 -04:00
Vasily
89448ac055
Merge pull request #2634 from mark-monteiro/enable-http2
Enable HTTP/2 support
2020-04-02 13:54:05 +03:00
Mark Monteiro
0e57348cf4 Merge remote-tracking branch 'upstream/master' into development-https 2020-04-01 23:21:30 +02:00
Bond-009
f31efce52d
Merge branch 'master' into usings 2020-04-01 22:42:43 +02:00
Mark Monteiro
ca85bef7c5 Move check for web client directory to application startup in Program.cs 2020-03-25 18:52:14 +01:00
Bond-009
eb09d47ed2
Update Jellyfin.Server/Program.cs
Co-Authored-By: Mark Monteiro <marknr.monteiro@protonmail.com>
2020-03-24 17:43:11 +01:00
Bond_009
e9d1eabd53 Remove unused usings 2020-03-24 16:12:06 +01:00
Mark Monteiro
54cbf9c4dc Bind HTTPS ports when running with development environment flag 2020-03-21 21:31:22 +01:00
Mark Monteiro
1fb939b9b2 Enable HTTP/2 support 2020-03-21 20:21:07 +01:00
Mark Monteiro
aa546dd36a Rename command line option to --nowebclient and config setting to HostWebClient 2020-03-21 18:25:09 +01:00
Mark Monteiro
05ab61200a Do not call UseContentRoot() on the web host builder
This call has nothing to do with static web content and should not have ever been called with the web content path: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?view=aspnetcore-3.1&tabs=windows#content-root
Since this call is removed, the ContentRoot property is also removed from ApplicationHost as it is no longer needed.
Finally, move validation of the static content path to the DashboardService where it is actually used.
2020-03-15 17:42:57 +01:00
Mark Monteiro
2a01537371 Merge command line options into framework configuration 2020-03-15 15:34:09 +01:00
Mark Monteiro
6fbdf0d6a2 Construct ApplicationHost with DI framework instead of manually 2020-03-15 15:28:29 +01:00
Mark Monteiro
6a6293afc7 Make startup config nullable when configuring app configuration 2020-03-15 13:15:47 +01:00
Mark Monteiro
420e3619fb Use startup configuration to set the default redirect path 2020-03-15 13:01:05 +01:00
Mark Monteiro
4102e3afd0 Rename IsNoWebContent to NoWebContent 2020-03-15 13:00:14 +01:00
Mark Monteiro
99bf6edba2 Merge remote-tracking branch 'upstream/master' into support-running-without-web-content 2020-03-11 23:04:47 +01:00
Mark Monteiro
29bad073eb Use config setting to decide if web content should be hosted
Also fail server startup if web content is expected but missing
2020-03-11 22:54:54 +01:00
Mark Monteiro
6131599e88 Merge branch 'master' into support-injecting-iconfiguration 2020-03-10 22:45:17 +01:00
Mark Monteiro
8dbb1c9257 Use logging.json instead of logging.user.json for override settings 2020-03-08 15:46:13 +01:00
Mark Monteiro
6660006f01 Load user logging config file into application configuration 2020-03-06 19:28:36 +01:00
Mark Monteiro
f2fdf50b3b Create separate constants for the two logging file names 2020-03-06 19:07:34 +01:00
Vasily
ecaa7f8014 Improve migration logic 2020-03-05 20:09:33 +03:00
Vasily
9eef0e8ca0 Implement EnableThrottling migration for pre-10.5.0 to 10.5.0 or newer 2020-03-05 17:41:32 +03:00
Mark Monteiro
76957213e6 Merge remote-tracking branch 'upstream/master' into support-injecting-iconfiguration 2020-03-03 22:27:49 +01:00
Mark Monteiro
c376f4ca51 Register Serilog logging services correctly 2020-03-03 00:35:41 +01:00
Mark Monteiro
48f8118072 Do not save a reference to the startup config in ApplicationHost 2020-02-28 23:28:15 +01:00
Mark Monteiro
a4e5a5ab31 Register configuration correctly with application using 'ConfigureAppConfiguration()' in WebHostBuilder
Without this, the correct instance of IConfiguration is not injected into services that rely on it
2020-02-28 23:18:22 +01:00
Mark Monteiro
3043b7323b Use constants for settings keys 2020-02-28 17:57:38 +01:00
Mark Monteiro
d95ccbacac Use IsHostingContent instead of explicitly checking ContentRoot 2020-02-26 16:11:09 +01:00
Mark Monteiro
192ec57b60 Remove log message executed before logger is initialized 2020-02-25 17:22:21 +01:00
Mark Monteiro
f3be93a4de Use the swagger API page as the default redirect path if not hosting the jellyfin-web content 2020-02-25 17:02:51 +01:00
Mark Monteiro
26af5ea45a Do not set a static content root if the jellyfin-web directory does not exist or is empty 2020-02-25 16:51:36 +01:00
Bond-009
a2490a7ae5
Merge branch 'master' into images 2020-02-12 17:41:46 +01:00
Bond_009
87d2479b78 Fix warnings 2020-01-31 22:26:53 +01:00
Bond-009
71bdcd7307 Fix spacing logs 2020-01-27 17:24:29 +01:00
Bond_009
ddf9b38799 Simplify image processing by removing image enhancers 2020-01-21 20:26:30 +01:00
Bond-009
96c9af5904 Add brackets around thread id 2020-01-16 13:20:01 +01:00
Bond-009
65fe243afb Add thread ID and source to logging 2020-01-13 19:44:17 +01:00
Bond_009
0bf8bfbb0c Merge branch 'master' into mediaencoding 2019-12-10 23:00:59 +01:00
Vasily
5263aaa026
Merge pull request #1503 from cvium/webapi_v2
Move StartupWizard to ASP.NET Web Api
2019-11-27 11:50:06 +03:00
Vasily
c45d54efb2
Merge pull request #1942 from Bond-009/nullable
Enable nullable reference types for Jellyfin.Server
2019-11-27 11:48:41 +03:00
Bond_009
cc5acf37f7 Make probesize and analyzeduration configurable and simplify circular
dependencies

Makes the probesize and analyzeduration configurable with env args.
(`JELLYFIN_FFmpeg_probesize` and `FFmpeg_analyzeduration`)
2019-11-25 12:07:59 +01:00
Claus Vium
27e3cf1558 Move appbuilder and service collection to Jellyfin.Server 2019-11-24 15:27:58 +01:00
Bond_009
526776372e Validate https certificates 2019-11-22 16:23:42 +01:00
Bond-009
1258a3766f
Update Jellyfin.Server/Program.cs
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2019-10-29 17:49:41 +01:00
Bond_009
2702dca8b6 Enable nullable reference types for Jellyfin.Server 2019-10-26 23:58:23 +02:00
Claus Vium
c3eac58dda Reload logging.json on changes 2019-10-23 19:52:12 +02:00
Bond_009
1745f0181c Log startup time 2019-09-29 00:29:28 +02:00
Bond_009
4f63bfd616 Don't log revision number 2019-09-27 23:58:04 +02:00
Erwin de Haan
0ca0d9d01e Remove submodule and add clone and build to CI 2019-09-24 16:22:26 +02:00
Bond-009
2919cf28ea Update deps (#1735) 2019-09-11 13:31:35 -04:00
Bond_009
99aea27723 Fix possible hidden exceptions
If an error occurred while starting the server which in turn caused an
exception in the dispose method of the apphost, the first exception
wouldn't get logged.
2019-08-18 20:01:08 +02:00
Bond_009
cb492fe3c7 Improve clickable link 2019-08-11 15:17:39 +02:00
Bond_009
003238ef5e Update deps + document startup project
* Fixed the release build
* Documented all public/internal members of Jellyfin.Server
* Enable TreatWarningsAsErrors for debug builds for Jellyfin.Server

This will ensure that any new public/internal members of Jellyfin.Server
are documented
2019-08-11 15:11:53 +02:00
Bond_009
2a58c643d2 Fix more warnings 2019-08-09 23:16:24 +02:00
Bond_009
ddd1a282ea Remove IpAddressInfo and IpEndPointInfo classes 2019-07-25 00:15:06 +02:00
Bond_009
c7d12cc481 Fix merge errors 2019-07-07 00:43:43 +02:00
Bond-009
82f041d050
Merge branch 'master' into release-10.3.z 2019-07-06 23:08:52 +02:00
Bond_009
d405a400aa Fixes issues with HttpClientManager 2019-07-06 20:04:42 +02:00
Bond_009
2e4c0fee77 Add removed line 2019-06-28 12:16:51 +02:00
Bond-009
e88ebd748d Final fixes 2019-06-28 12:14:27 +02:00
Bond-009
b6954f3bfd More 2019-06-28 12:14:27 +02:00
Bond_009
aa30227545 Improve main code flow
Improved the way how some parts of the code depend on eachother
Fixed some style issues
2019-06-09 23:51:52 +02:00
Anthony Lavado
aee3360841
Merge pull request #1366 from Bond-009/warn3
Fix more warnings
2019-06-05 01:17:21 -04:00
Bond-009
ce1fa42f9d
Merge branch 'master' into tasks 2019-06-01 17:06:01 +02:00
Bond-009
a6f9ceedd8 Fix more warnings 2019-06-01 11:31:27 +02:00
Bond-009
a332092769 Reduce complexity http routes 2019-03-26 19:20:40 +01:00
Bond-009
b44a70ff36 Simplify/remove/clean code
* Remove useless runtime check (we only support one)
* Remove unused args
* Remove a global constant

And ofc fix some warnings ;)
2019-03-25 22:25:32 +01:00
Bond_009
2696ac5eac Lower the amount of running tasks 2019-03-25 21:33:48 +01:00
Vasily
297f25cfc2
Merge pull request #1059 from Bond-009/os
Remove EnvironmentInfo
2019-03-13 00:01:00 +03:00
Joshua M. Boniface
6751560228
Merge pull request #1092 from joshuaboniface/configurable-webdir
Add configurable webdir option
2019-03-12 12:51:11 -04:00
Joshua Boniface
3c4043199a Implement review feedback 2019-03-12 09:18:45 -04:00
Joshua Boniface
037cf9e1ee Move CreateDirectory for dataDir to try block 2019-03-10 18:30:10 -04:00
Joshua Boniface
5268553e7f Have datadir envvar match the others 2019-03-10 18:24:11 -04:00
Joshua Boniface
132ce3ece1 Add further resources to complete WebPath 2019-03-10 17:04:18 -04:00
Joshua Boniface
93d15cd969 Add configuration flag for Web directory 2019-03-10 16:17:48 -04:00
Bond-009
decaffed86 Remove EnvironmentInfo
This moved the last bit of usefulness of EnvironmentInfo into a static
class.
2019-03-07 22:41:41 +01:00
Bond-009
cedf50eeec Fix the 2 new warnings 2019-03-07 21:29:17 +01:00
Claus Vium
1cc433eabc Start the webhost before RunStartupTasks and fix ContentEncoding 2019-03-03 13:54:14 +01:00
Claus Vium
852460b991 kestrel init 2019-02-26 22:11:21 +01:00
Vasily
50ce7572b4
Merge pull request #851 from Bond-009/appdata
Simplify code to get data dir
2019-02-20 14:31:01 +03:00
Bond-009
51ba28bd65 Remove useless check 2019-02-18 17:37:10 +01:00
Bond_009
a94aeb5c87 Simplify code to get data dir 2019-02-18 17:35:09 +01:00
William Taylor
c607c95e64 Removed async from non-async method 2019-02-17 14:33:20 +00:00
William Taylor
18ae107ce4 Removed unnecessary configuration options and reduced primitive dependencies 2019-02-17 14:09:52 +00:00
William Taylor
0d5fbcb031 Removed primitives from services in Program.cs
This will make it easier to move dependency registration
to a system without having to new up all the services first.
Moved the primitives to an IConfiguration which is much easier to inject.
2019-02-17 14:08:52 +00:00
Bond-009
be77e14db9 Warnings for docs 2019-02-16 00:43:56 +01:00
Bond-009
3df8cda110 ConfigureAwait 2019-02-16 00:43:56 +01:00
Vasily
7cc69f30c4
Merge pull request #801 from Bond-009/di
Move to Microsoft.Extensions.DependencyInjection
2019-02-15 21:21:58 +03:00
ploughpuff
a2dd2ddd55 Rewrite rules for determining app paths and use XDG_CONFIG_HOME for configDir (#781)
Re-write rules for determining dataDir, configDir and logDir.  Generally, arguments from command line take precedence, then JELLYFIN env vars, before using XDG names.

Co-Authored-By: ploughpuff <33969763+ploughpuff@users.noreply.github.com>
2019-02-13 16:35:14 +01:00
Bond_009
81a8ebde22 Move to Microsoft.Extensions.DependencyInjection
This PR replaces SimpleInjector with
Microsoft.Extensions.DependencyInjection.
2019-02-12 20:52:23 +01:00
Joshua M. Boniface
c4f51e16a5
Merge pull request #736 from Bond-009/startasync
Start startup tasks async
2019-02-03 22:23:54 -05:00
Joshua M. Boniface
56dcc45dc0
Merge pull request #732 from Bond-009/locale
Reworked LocalizationManager to load data async
2019-02-03 22:08:20 -05:00
Andrew Rabert
42d5a48491
Merge pull request #788 from Bond-009/warnings
Fix more warnings
2019-02-02 14:21:03 -05:00
Bond_009
5ac6d0ae59 Fix more warnings 2019-02-01 21:56:50 +01:00
Bond_009
660f6174b3 Rebase on master 2019-02-01 18:17:43 +01:00
Bond_009
8af1e93cd4 Make cache dir configurable 2019-02-01 18:13:18 +01:00
PloughPuff
b5e8cce4cf Improved help text and output errors to stderr
Addressed review comments from JustAMan.
2019-01-31 18:56:34 +01:00
PloughPuff
e18b89ca27 Move Options to Jellyfin.Server and create interface file
Changes following review comments.
2019-01-31 18:56:34 +01:00
PloughPuff
ebd2a30087 Accept single-hyphen usage and rename -programdatadir to -datadir
For backwards compatibility, modify the args[] strings to replace single-hyphens with double-hyphens before parsing.

Also rename -programdatadir to -datadir.
2019-01-31 18:56:34 +01:00
PloughPuff
fd361421b1 Use CommandLineParser package for handling CLI args 2019-01-31 18:56:34 +01:00
Bond-009
2a1f6361a5
Merge branch 'master' into locale 2019-01-31 18:44:36 +01:00
Bond_009
85a58fd655 Start startup tasks async 2019-01-27 15:40:37 +01:00
Bond_009
51edd5d067 Reworked LocalizationManager to load data async 2019-01-27 10:36:05 +01:00
Bond_009
ce11869a1a Move Skia back into it's own project 2019-01-26 20:43:13 +01:00
Andrew Rabert
b673054c8d
Merge pull request #711 from Bond-009/sysevent
Remove remnants of system events
2019-01-26 14:13:25 -05:00
Erwin de Haan
d1a0497f55 Revert "Merge pull request #452 from Bond-009/activitydb"
This reverts commit 48ad18d12b, reversing
changes made to fe197415ca.
2019-01-25 23:32:06 +01:00
Bond_009
fd7f420af2 Remove remnants of system events 2019-01-25 22:41:43 +01:00
Andrew Rabert
48ad18d12b Merge pull request #452 from Bond-009/activitydb
Use EF Core for Activity database
2019-01-24 23:02:20 -05:00
Bond_009
8191efb90c Fix some analyzer warnings
Some changes:
* Don't omit braces
* Fix culture sensitive string compare
* Define accessibility functions

I restricted myself to these 5 files, for now :p
2019-01-24 20:14:19 +01:00
Bond_009
905a253ff5 Suffix async methods with Async 2019-01-23 19:09:34 +01:00
Bond_009
8d9428ebdc Ensure DB exists 2019-01-23 18:34:34 +01:00
Andrew Rabert
7327bb91a3 Fix func name 2019-01-20 20:48:24 -05:00
Andrew Rabert
c7f648f86a Merge branch 'dev' into imagesize 2019-01-20 20:45:06 -05:00
William Taylor
190bc46c1b Removed unused parameters from Program.getImageEncoder 2019-01-20 21:54:07 +00:00
William Taylor
65cd3ed597 Replaced injections of ILogger with ILoggerFactory
This makes resolving dependencies from the container much easier as
you cannot resolve with primitives parameters in a way that is any
more readable.

The aim of this commit is to change as little as possible with the end
result, loggers that were newed up for the parent object were given the same
name. Objects that used the base or app loggers, were given a new logger with
an appropriate name.

Also removed some unused dependencies.
2019-01-20 21:05:12 +00:00
Bond_009
7e4cc9f513 Touchup 2019-01-20 14:39:05 +01:00
Bond_009
ca910325f3 Remove unneeded fields 2019-01-20 14:25:13 +01:00
Bond_009
8fc8fc0622 Cleanup ImageProcessor 2019-01-20 14:18:37 +01:00
Andrew Rabert
875392c77f Combine Emby.Drawing and Emby.Drawing.Skia 2019-01-19 22:38:41 -05:00
Erwin de Haan
1e94023927 Merge branch 'dev' into reformat 2019-01-19 14:45:02 +01:00
PloughPuff
582226c133 Cause exception if empty string used for config or log folders 2019-01-18 18:11:42 +00:00
PloughPuff
529d804414 Modify to use correct logic before creating directory
Address review comments.
2019-01-18 17:22:14 +00:00
Erwin de Haan
d116efe1f7 Merge branch 'dev' into reformat 2019-01-18 17:04:01 +01:00
PloughPuff
04d03c5cf9 Ensure all folders are created before running app 2019-01-18 10:10:45 +00:00
Erwin de Haan
65bd052f3e ReSharper conform to 'var' settings 2019-01-13 21:37:13 +01:00
Erwin de Haan
51ed47f4c4 EditorConfig reformat: Emby.XmlTv, Jellyfin.Server. MediaBrowser.Api, MediaBrowser.Common 2019-01-13 20:30:41 +01:00
Erwin de Haan
f0acc0446c Visual Studio Reformat: Jellyfin.Server 2019-01-13 20:24:27 +01:00
Bond_009
50c127fd9a Add proper exit codes 2019-01-13 01:05:25 +01:00
Bond_009
bf4de012da Catch exception instead of masking it 2019-01-13 00:55:37 +01:00
Bond_009
debb8e56fd Handle Ctrl+C and Ctrl+Break 2019-01-13 00:49:11 +01:00
Bond_009
0abdfbb526 Shutdown gracefully when recieving a termination signal 2019-01-12 23:31:45 +01:00
Joshua M. Boniface
423ad4a20b Merge pull request #450 from Bond-009/config
BaseApplicationPaths set up default config and log dir paths
2019-01-06 15:26:01 -05:00
Bond_009
5623d4b632 BaseApplicationPaths set up default config and log dir paths 2019-01-06 13:53:35 +01:00
Bond_009
c07d5a6963 Remove unused PowerManagement
It isn't up to the application to prevent the system from going to sleep
2019-01-06 12:55:48 +01:00
Joshua M. Boniface
a74996f06b Merge pull request #438 from Bond-009/logasync
Improve logging performance
2019-01-05 23:39:02 -05:00
Bond_009
7af3754a11 Improve logging performance
Perform logging to file on a background thread.
This means logging won't be bottlenecked by IO.
2019-01-05 23:08:22 +01:00
Bond_009
f6d50c411f Add env vars JELLYFIN_CONFIG_DIR and JELLYFIN_DATA_PATH 2019-01-05 21:16:47 +01:00
Bond_009
23267bb08f Use -logdir if env var isn't set 2019-01-05 21:11:55 +01:00
Bond_009
2850ff7b8a Make config path configurable 2019-01-05 20:06:22 +01:00