Luke 42077 Posted March 9, 2014 Author Posted March 9, 2014 I don't this that is the Mono embedded [smitopher@localhost mb3MonoEmbed]$ ls Alchemy.dll MediaBrowser.Common.Implementations.dll MediaBrowser.Providers.dll.mdb NLog.dll sqlite3 ApiClient.js MediaBrowser.Common.Implementations.dll.mdb MediaBrowser.Server.Implementations.dll ServiceStack.Api.Swagger.dll sqlite3.dll BDInfo.dll MediaBrowser.Controller.dll MediaBrowser.Server.Implementations.dll.mdb ServiceStack.Client.dll swagger-ui dashboard-ui MediaBrowser.Controller.dll.mdb MediaBrowser.Server.Mono.exe ServiceStack.Common.dll System.Data.SQLite.dll DvdLib.dll MediaBrowser.Dlna.dll MediaBrowser.Server.Mono.exe.config ServiceStack.dll System.Data.SQLite.dll.config MediaBrowser.Api.dll MediaBrowser.IsoMounting.Linux.dll MediaBrowser.WebDashboard.dll ServiceStack.Interfaces.dll System.Data.SQLite.Linq.dll MediaBrowser.Api.dll.mdb MediaBrowser.Model.dll MediaBrowser.WebDashboard.dll.mdb ServiceStack.Text.dll MediaBrowser.Common.dll MediaBrowser.Model.dll.mdb Mono.Nat.dll SharpCompress.dll MediaBrowser.Common.dll.mdb MediaBrowser.Providers.dll MoreLinq.dll SimpleInjector.dll [smitopher@localhost mb3MonoEmbed]$ . MediaBrowser.Server.Mono.exe -bash: .: MediaBrowser.Server.Mono.exe: cannot execute binary file [smitopher@localhost mb3MonoEmbed]$ yup, i think you're right. i'll look into it.
PhAzE 17 Posted March 9, 2014 Posted March 9, 2014 https://www.dropbox.com/s/vmv8xhyj57vtldj/MBServer.Mono.Mkbundle.zip Are there any extra dependencies that need to be installed along with this?
Luke 42077 Posted March 9, 2014 Author Posted March 9, 2014 Are there any extra dependencies that need to be installed along with this? It be the same as the regular version except without the need to build/install mono. So you would still need to do libgdi
PhAzE 17 Posted March 10, 2014 Posted March 10, 2014 is the data directory enough as a starting point? I'm setting up a test unraid server (hopefully) so i can test this out. Are you able to get teh data directory as a command line working since it seems the easier of the items? From what I've been reading, I think you have made MB3 able to work as a service already in Windows, and mono-service may be able to make that linux compatible as well without many if any change at all to the code. While I'm at it, i will test it with the new mono version 3.2.7, are the links on page 1 poniting to the latest mb3 linux files still?
PhAzE 17 Posted March 10, 2014 Posted March 10, 2014 The linux and osx versions do not yet have command line args. Windows has one and that's to start as a service or not. If you know anyone who might be able to help contribute to add those things it would be fantastic. Hmm, I don't have any expertise in that (with C specifically) but I don't know if I can get this to support UnRaid without the ability to make those changes by command line.
Luke 42077 Posted March 10, 2014 Author Posted March 10, 2014 Thanks. Yea I can add data path to the command line args. The links are the most current, although the mkbundle is not currently mkbundled at all and i'm looking into that. so just do the regular download. Thanks for testing that.
Luke 42077 Posted March 10, 2014 Author Posted March 10, 2014 is the data directory enough as a starting point?
PhAzE 17 Posted March 10, 2014 Posted March 10, 2014 is the data directory enough as a starting point? Actually running as a daemon is more important as the UnRaid interface needs that to start and stop the application reliable (by verifying if the PID exists or not) and the data directory is required to keep the configuration and other items persistent after a reboot. Setting port number can always be added after and the force update option isn't 100% needed since the in app updating system could just be scheduled to run on startup or something. I'll have a look to see if I can find anyhting regarding coding the app to run as a daemon, im not sure if its a simple thing or not.
Luke 42077 Posted March 10, 2014 Author Posted March 10, 2014 Well the mono version of the server has no presentation elements aside from attempting to pop open the web browser to run the startup wizard. So I would imagine half the battle is done already.
PhAzE 17 Posted March 10, 2014 Posted March 10, 2014 Well the mono version of the server has no presentation elements aside from attempting to pop open the web browser to run the startup wizard. So I would imagine half the battle is done already. Yeah, i'm lokoing at somethign called mono-service, which actually might make this really quite easy.
PhAzE 17 Posted March 11, 2014 Posted March 11, 2014 (edited) Hi Luke, does mb3 have (or is it possible to add) command line options? I'm not sure if its something that can be implemented easily but then we could have it set port and data directory on startup making it easier to initiate for the linux install, and possibly beneficial for the windows install. I would recommend: - Data directory - port number - force update on startup (with self restart) - start as daemon - PID location for PID to run Edited March 10, 2014 by PhAzE
Luke 42077 Posted March 11, 2014 Author Posted March 11, 2014 The linux and osx versions do not yet have command line args. Windows has one and that's to start as a service or not. If you know anyone who might be able to help contribute to add those things it would be fantastic.
Luke 42077 Posted March 11, 2014 Author Posted March 11, 2014 can someone take a moment to test that building mono is no longer necessary using mono 3.2.7? it would be nice to be able to remove that from the setup procedure.
smitopher 19 Posted March 11, 2014 Posted March 11, 2014 Yeah, i'm lokoing at somethign called mono-service, which actually might make this really quite easy. I'm not a .NET developer, rather I'm a Java developer In my googling, this seems to be relevant. http://stackoverflow.com/questions/1221110/windows-like-services-development-in-linux-using-mono/1234761
smitopher 19 Posted March 12, 2014 Posted March 12, 2014 (edited) I'm setting up a test unraid server (hopefully) so i can test this out. Are you able to get teh data directory as a command line working since it seems the easier of the items? From what I've been reading, I think you have made MB3 able to work as a service already in Windows, and mono-service may be able to make that linux compatible as well without many if any change at all to the code. While I'm at it, i will test it with the new mono version 3.2.7, are the links on page 1 poniting to the latest mb3 linux files still? Have you seen the unRaid 6.0 beta? It uses XEN Hypervisor so that unRaid is the dom0 vm. You can then run things like MB3 Server in a separate VM. That would solve your persistence issues. I still would want a Linux Mono VM to run MB3 as that would be MUCH lighter weight than a windows VM To optimize things... the MB3 vm could mount the unRaid shares in a virtual internal network to keep that traffic off your physical external network. Edited March 11, 2014 by smitopher
PhAzE 17 Posted March 12, 2014 Posted March 12, 2014 (edited) I'm not a .NET developer, rather I'm a Java developer In my googling, this seems to be relevant. http://stackoverflow.com/questions/1221110/windows-like-services-development-in-linux-using-mono/1234761 Ya i was looking at that before if i can overcome the mountains of issues i've hit, i'll look into that further. I spent hours getting unraid to work under a VM, but since the OS is stripped down, i can't compile mono. I found an older version TXZ file but its version 2.10. Getting the latest version from git just doesn't compile without a billion dependencies and their dependencies and so on. No exactly sure how to get mono 3.2.7 on there or even to patch the older version. There is no apt-get or yum in this OS so its all manual resolutions. Edited March 12, 2014 by PhAzE
smitopher 19 Posted March 12, 2014 Posted March 12, 2014 Ya i was looking at that before if i can overcome the mountains of issues i've hit, i'll look into that further. I spent hours getting unraid to work under a VM, but since the OS is stripped down, i can't compile mono. I found an older version TXZ file but its version 2.10. Getting the latest version from git just doesn't compile without a billion dependencies and their dependencies and so on. No exactly sure how to get mono 3.2.7 on there or even to patch the older version. There is no apt-get or yum in this OS so its all manual resolutions. Did you check unRaid 6 beta? unRaid 6 is the HOST (well technically it is the uber vm running under the XEN hypervisor that rules the rest). Then you create a minimal vm of Fedora or Ubuntu to run Mono/MB3. Then you have yum and apt-get. Then unRaid don'ts havtas knows nuthins bout Mono or Media Browser or anything.
PhAzE 17 Posted March 12, 2014 Posted March 12, 2014 Did you check unRaid 6 beta? unRaid 6 is the HOST (well technically it is the uber vm running under the XEN hypervisor that rules the rest). Then you create a minimal vm of Fedora or Ubuntu to run Mono/MB3. Then you have yum and apt-get. Then unRaid don'ts havtas knows nuthins bout Mono or Media Browser or anything. Yeah and I think that's going to be great. I'm waiting for it to go final first. As for users on 5.x this plugin should be a quick way to install similar to sickbeard and couchpotato do. The good news is I found a compiled compatible mono for i686 architecture, version 3.2.8-1. It installed fine, and I launched the application however i'm getting an exception that's preventing mb3 from staring up. Any ideas? Info, Main, Media Browser Server started Info, Main, Command line: /mnt/user/Test/MBServer.Mono/MediaBrowser.Server.Mono.exe Info, Main, Server: UnRaid-Test Info, Main, Operating system: Unix 3.9.6.0 appHost.Init Info, App, Application Configuration: {"WeatherUnit":"Fahrenheit","EnableHttpLevelLogging":true,"EnableUPnP":true,"HttpServerPortNumber":8096,"LegacyWebSocketPortNumber":8945,"EnableInternetProviders":true,"SeasonZeroDisplayName":"Specials","MetadataRefreshDays":30,"SaveLocalMeta":false,"RefreshItemImages":false,"PreferredMetadataLanguage":"en","MetadataCountryCode":"US","SortReplaceCharacters":[".","+","%"],"SortRemoveCharacters":[",","&","-","{","}","'"],"SortRemoveWords":["the","a","an"],"ShowLogWindow":false,"RecentItemDays":10,"MinResumePct":5,"MaxResumePct":90,"MinResumeDurationSeconds":300,"RealtimeWatcherDelay":20,"EnableDashboardResponseCaching":true,"ManualLoginClients":[],"EnableTvDbUpdates":false,"EnableTmdbUpdates":false,"EnableFanArtUpdates":false,"ImageSavingConvention":"Compatible","EnablePeoplePrefixSubFolders":true,"MediaEncodingQuality":"Auto","AllowVideoUpscaling":false,"EnableMovieChapterImageExtraction":true,"EnableEpisodeChapterImageExtraction":false,"EnableOtherVideoChapterImageExtraction":false,"MetadataOptions":[{"ItemType":"Book","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"MusicAlbum","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"MusicArtist","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"Season","ImageOptions":[{"Type":"Backdrop","Limit":0,"MinWidth":1280}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]}],"EnableDebugEncodingLogging":false,"EnableAutomaticRestart":true,"TvFileOrganizationOptions":{"IsEnabled":false,"MinFileSizeMb":50,"LeftOverFileExtensionsToDelete":[],"WatchLocations":[],"SeasonFolderPattern":"Season %s","SeasonZeroFolderName":"Season 0","EpisodeNamePattern":"%sn - %sx%0e - %en.%ext","MultiEpisodeNamePattern":"%sn - %sx%0e-x%0ed - %en.%ext","OverwriteExistingEpisodes":false,"DeleteEmptyFolders":false,"CopyOriginalFile":false},"LiveTvOptions":{},"EnableRealtimeMonitor":true,"PathSubstitutions":[],"EnableDebugLevelLogging":false,"EnableAutoUpdate":true,"SystemUpdateLevel":"Release","LogFileRetentionDays":3,"RunAtStartup":false,"IsStartupWizardCompleted":false} Info, App, Loading MediaBrowser.Api, Version=3.0.5180.21472, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.WebDashboard, Version=3.0.5180.21471, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Model, Version=3.0.5180.21468, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Common, Version=3.0.5180.21469, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Controller, Version=3.0.5180.21470, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Providers, Version=3.0.5180.21470, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Common.Implementations, Version=3.0.5180.21469, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Server.Implementations, Version=3.0.5180.21471, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Dlna, Version=3.0.5180.21472, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.IsoMounting.Linux, Version=1.0.5131.24779, Culture=neutral, PublicKeyToken=null Info, App, Loading MediaBrowser.Server.Mono, Version=3.0.5180.21473, Culture=neutral, PublicKeyToken=null Info, App, Version 3.0.5180.21473 initializing Info, SqliteUserRepository, Opening /mnt/user/Test/MBServer.Mono/ProgramData-Server/data/users.db Error, Main, UnhandledException One or more errors occured System.AggregateException at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks) [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths appPaths, ILogManager logManager) [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0 InnerException: System.DllNotFoundException ./sqlite3/linux/lib64/libsqlite3.so.0.8.6 at (wrapper managed-to-native) System.Data.SQLite.UnsafeNativeMethods:sqlite3_config_none (System.Data.SQLite.SQLiteConfigOpsEnum) at System.Data.SQLite.SQLite3.StaticIsInitialized () [0x00000] in <filename unknown>:0 at System.Data.SQLite.SQLiteLog.Initialize () [0x00000] in <filename unknown>:0 at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString, Boolean parseViaFramework) [0x00000] in <filename unknown>:0 at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString) [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteConnection:.ctor (string) at MediaBrowser.Server.Implementations.Persistence.SqliteExtensions+<ConnectToDb>c__async76.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Data.IDbConnection].GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Implementations.Persistence.SqliteUserRepository+<Initialize>c__asyncA1.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.ServerApplication.ApplicationHost+<GetUserRepository>c__async3.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[MediaBrowser.Controller.Persistence.IUserRepository].GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.ServerApplication.ApplicationHost+<RegisterResources>c__async1.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.Common.Implementations.BaseApplicationHost`1+<Init>c__async0[MediaBrowser.Server.Implementations.ServerApplicationPaths].MoveNext () [0x00000] in <filename unknown>:0 UnhandledException One or more errors occured System.AggregateException at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks) [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths appPaths, ILogManager logManager) [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0 InnerException: System.DllNotFoundException ./sqlite3/linux/lib64/libsqlite3.so.0.8.6 at (wrapper managed-to-native) System.Data.SQLite.UnsafeNativeMethods:sqlite3_config_none (System.Data.SQLite.SQLiteConfigOpsEnum) at System.Data.SQLite.SQLite3.StaticIsInitialized () [0x00000] in <filename unknown>:0 at System.Data.SQLite.SQLiteLog.Initialize () [0x00000] in <filename unknown>:0 at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString, Boolean parseViaFramework) [0x00000] in <filename unknown>:0 at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString) [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteConnection:.ctor (string) at MediaBrowser.Server.Implementations.Persistence.SqliteExtensions+<ConnectToDb>c__async76.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Data.IDbConnection].GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Implementations.Persistence.SqliteUserRepository+<Initialize>c__asyncA1.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.ServerApplication.ApplicationHost+<GetUserRepository>c__async3.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[MediaBrowser.Controller.Persistence.IUserRepository].GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.ServerApplication.ApplicationHost+<RegisterResources>c__async1.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 at MediaBrowser.Common.Implementations.BaseApplicationHost`1+<Init>c__async0[MediaBrowser.Server.Implementations.ServerApplicationPaths].MoveNext () [0x00000] in <filename unknown>:0
PhAzE 17 Posted March 12, 2014 Posted March 12, 2014 (edited) It seems the users.db file was never created. Does this have sqlite embedded also or do I still need to install that on a fresh linux install? EDIT: Further debugging shows it seems to be calling Kernel32.dll.so and can't load the shared object. So, at this point, MB3 might work on linux but installing it on Unraid at this point seems to be a problem. Edited March 12, 2014 by PhAzE
smitopher 19 Posted March 14, 2014 Posted March 14, 2014 OK... now that I got my Linux server running the way I kinda want, time to attach the "run as a daemon" issue. it seems that "mono-service" is part of the answer. What I have Working. [smitopher@localhost MBServer]$ mono -V Mono JIT compiler version 3.2.8 (tarball Thu Feb 20 17:33:58 UTC 2014) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen [smitopher@localhost MBServer]$ Mono 3.2.8 installed as described in my earlier post. the mono-service command [smitopher@localhost MBServer]$ mono-service You must specify at least the assembly name Usage is: /opt/mono/bin/mono-service [options] service -d:<directory> Working directory -l:<lock file> Lock file (default is /tmp/<service>.lock) -m:<syslog name> Name to show in syslog -n:<service name> Name of service to start (default is first defined) --debug Do not send to background nor redirect input/output --no-daemon Do not send to background nor redirect input/output Controlling the service: kill -USR1 `cat <lock file>` Pausing service kill -USR2 `cat <lock file>` Continuing service kill `cat <lock file>` Ending service [smitopher@localhost MBServer]$ i get MB3 running as a daemon with the following command mono-service -d:/home/smitopher/MBServer -n:MediaBrowser3 MediaBrowser.Server.Mono.exe the -d: parameter is where I have MB3 unzipped. This seems required as MB3 would not start without it, It seems to be running perfectly happy. What is needed now is a good script for /etc/init.d to start and stop MB3 A good install story A good update story What seems to be out of our control is when Mono 3.2.x will be available in the standard distro repositories. 1
Luke 42077 Posted March 14, 2014 Author Posted March 14, 2014 OK... now that I got my Linux server running the way I kinda want, time to attach the "run as a daemon" issue. it seems that "mono-service" is part of the answer. What I have Working. [smitopher@localhost MBServer]$ mono -V Mono JIT compiler version 3.2.8 (tarball Thu Feb 20 17:33:58 UTC 2014) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen [smitopher@localhost MBServer]$ Mono 3.2.8 installed as described in my earlier post. the mono-service command [smitopher@localhost MBServer]$ mono-service You must specify at least the assembly name Usage is: /opt/mono/bin/mono-service [options] service -d:<directory> Working directory -l:<lock file> Lock file (default is /tmp/<service>.lock) -m:<syslog name> Name to show in syslog -n:<service name> Name of service to start (default is first defined) --debug Do not send to background nor redirect input/output --no-daemon Do not send to background nor redirect input/output Controlling the service: kill -USR1 `cat <lock file>` Pausing service kill -USR2 `cat <lock file>` Continuing service kill `cat <lock file>` Ending service [smitopher@localhost MBServer]$ i get MB3 running as a daemon with the following command mono-service -d:/home/smitopher/MBServer -n:MediaBrowser3 MediaBrowser.Server.Mono.exe the -d: parameter is where I have MB3 unzipped. This seems required as MB3 would not start without it, It seems to be running perfectly happy. What is needed now is a good script for /etc/init.d to start and stop MB3 A good install story A good update story What seems to be out of our control is when Mono 3.2.x will be available in the standard distro repositories. Awesome! We have actually started working on in-app updates for linux just like the windows version. No eta on it yet though. But that is fantastic news that we may not need a whole lot of new development in order to run as a daemon. 1
jwill 28 Posted March 14, 2014 Posted March 14, 2014 What is needed now is a good script for /etc/init.d to start and stop MB3 A good install story A good update story What seems to be out of our control is when Mono 3.2.x will be available in the standard distro repositories. Note that /etc/init.d is obsolete on several distros, and will soon be obsolete on almost all of them. All of the major distros either already have, or will soon, switch to systemd. So while an /etc/init.d script may be useful for people running obsolete distros (eg., unRaid), I suggest that the developers not put a lot of effort into /etc/init.d daemons. A systemd service should be the mainstream method. I do not have a lot of time at the moment, but if no one else has done it when I get a chance to look at it, I will see what is necessary to make a systemd MB3 service. It do not think it would be particularly tricky, unless there is a permissions issue.
Luke 42077 Posted March 14, 2014 Author Posted March 14, 2014 Is there anyone here who can handle running this build script? https://github.com/MediaBrowser/MediaBrowser/tree/master/Tools/Linux_Build_Scripts
smitopher 19 Posted March 14, 2014 Posted March 14, 2014 Is there anyone here who can handle running this build script? https://github.com/MediaBrowser/MediaBrowser/tree/master/Tools/Linux_Build_Scripts I'll give it a go but not until later tonight. How long does the build take?
Luke 42077 Posted March 14, 2014 Author Posted March 14, 2014 I'll give it a go but not until later tonight. How long does the build take? Thanks. It should just be a few minutes once you're setup for it.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now