From d8bcd794cbc3faf40c30d9f8ad099b88e90dfb83 Mon Sep 17 00:00:00 2001 From: 4o1x5 <4o1x5@4o1x5.dev> Date: Tue, 16 Jul 2024 16:22:28 +0200 Subject: [PATCH] fixed more typos and added a bit more details for hosting a music server --- config/_default/config.toml | 1 + config/_default/menu.toml | 6 ++++- .../guides/ host-your-own-spotify/index.en.md | 23 ++++++++++++++----- layouts/page/projects.html | 13 ----------- themes/nostyle | 1 + 5 files changed, 24 insertions(+), 20 deletions(-) delete mode 100644 layouts/page/projects.html create mode 160000 themes/nostyle diff --git a/config/_default/config.toml b/config/_default/config.toml index eb257f3..2ad3928 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -3,6 +3,7 @@ baseurl = "https://4o1x5.dev" languageCode = "en-us" paginate = 5 title = "4o1x5" +#theme = "nostyle" theme = "stack" # Available values: en, fr, id, ja, ko, pt-br, zh-cn, zh-tw, es, de, nl, it, th, el, uk, ar diff --git a/config/_default/menu.toml b/config/_default/menu.toml index 90df240..12ca1fa 100644 --- a/config/_default/menu.toml +++ b/config/_default/menu.toml @@ -1,3 +1,6 @@ + + + [[social]] identifier = "git" name = "Git" @@ -12,4 +15,5 @@ name = "Matrix" url = "https://matrix.to/#/@4o1x5:4o1x5.dev" [social.params] -icon = "message" \ No newline at end of file +icon = "message" + diff --git a/content/post/guides/ host-your-own-spotify/index.en.md b/content/post/guides/ host-your-own-spotify/index.en.md index 64a5ed1..4655925 100644 --- a/content/post/guides/ host-your-own-spotify/index.en.md +++ b/content/post/guides/ host-your-own-spotify/index.en.md @@ -34,14 +34,14 @@ Everyone has their own opinion about piracy, and I think in my case it's a 100% _Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps._ Jellyfin is a really great mediaserver, It has many clients and supports almost any kind of media, ranging from visual to audible. -I have been using it for about two years now, but recently I just realized I could stream my music from there instead of syncing my pirated music to all my devices. For the past few days It has been a pleasureful experience and I have no complaints. +I have been using it for about two years now, but recently I just realized I could stream my music from there instead of syncing my music to all my devices. For the past few days It has been a pleasureful experience and I have no complaints. ### Feishin _desktop_ Feishin is a rewrite of sonixd, a client for subsonic. -It's a really clean music client for jellyfin, I found it in nixpkgs and I use it daily. +It's a really clean client for jellyfin, I found it in nixpkgs and I use it daily. It has many features and a modern spotify-like UI. -Sadly it's missing a download feature, meaning I cannot download music then listen to it on the road or something like that. Streaming flacs is really inefficient if you are using mobile data or some public data. I travel a lot meaning this is kind of a deal breaker, but I can just use my phone. +Sadly it's missing a download feature, meaning I cannot download music then listen to it on the road. Streaming flacs is really inefficient if you are using mobile data or some public wifi. I travel a lot meaning this is kind of a deal breaker, but I can just use my phone. Here is a video of how it looks like in it's _fullscreen_ mode: @@ -59,6 +59,12 @@ I don't really like it's design as It doesn't really look like Spotify but that ## Self-hosting +### Define a domain for the nix server + +```nix +networking.domain = "example.com"; +``` + ### Jellyfin Nixpkgs has jellyfin options so we can deploy it that way. It's really straight-forward and seamless. @@ -118,7 +124,7 @@ Keep in mind this is a really basic setup, all data will be stored at `/home/jel ### slskd slskd is a fully featured modern client-server client for soulseek. You can log in to it's panel and download files from the network. -I had some problems with permissions when I was trying to use the native version from _nixpkgs_, so instead I just made an oci-container that uses linux namespaces to run applications. Docker and podman is also based on it. +I had some problems with permissions when I was trying to use the native version from _nixpkgs_, so instead I just made an oci-container that uses linux namespaces to run applications. **Create directories** @@ -127,6 +133,9 @@ mkdir /home/jellyfin/Music mkdir /home/jellyfin/Music/unsorted ``` +** Create the service** +Don't forget to change the credentials like your soulseek username and password. And also the slskd login username and password. + ```nix { pkgs, config, ... }: { @@ -147,8 +156,10 @@ mkdir /home/jellyfin/Music/unsorted environment = { SLSKD_SHARED_DIR = "/music"; SLSKD_DOWNLOADS_DIR = "/downloads"; + # these will be used to login to slskd at `soulseek.example.com` SLSKD_USERNAME = "slskd username"; SLSKD_PASSWORD = "slskd password"; + # This is your soulseek login, if you don't have an account don't worry, just type in anything here and it will create an account. SLSKD_SLSK_USERNAME = "soulseek login name"; SLSKD_SLSK_PASSWORD = "soulseek login name"; SLSKD_SLSK_LISTEN_IP_ADDRESS = "0.0.0.0"; @@ -199,7 +210,7 @@ On the top right click on the profile icon and head to `Dashboard` -> `Libraries ### Download music -Head to the domain soulseek domain you have defined, and log into `slskd`. +Head to the soulseek domain you have defined, and log into `slskd`. Slskd is really easy to use, upon entering you are greeted with the search bar, type in anything and hit enter. Slskd will search other peers on the network for the string and return files. ![](slskd_search.png) @@ -211,7 +222,7 @@ Jellyfin will automatically scan you library every 3 hours bot you can override ### Connect a client. Download a client, I recommend the ones I mentioned and connect to your server. -They will ask for a server url, which is always `https://jelly.yourdomain.com` and your user credentials. +For the server URL type in `jelly.yourdomain.com`. ### Enjoy diff --git a/layouts/page/projects.html b/layouts/page/projects.html deleted file mode 100644 index 5429a4a..0000000 --- a/layouts/page/projects.html +++ /dev/null @@ -1,13 +0,0 @@ - -{{ define "body-class" }}template-search{{ end }} -{{ define "head" }} - {{- with .OutputFormats.Get "json" -}} - - {{- end -}} -{{ end }} -{{ define "main" }} - -

Projects

- -{{ partialCached "footer/footer" . }} -{{ end }} \ No newline at end of file diff --git a/themes/nostyle b/themes/nostyle new file mode 160000 index 0000000..2252461 --- /dev/null +++ b/themes/nostyle @@ -0,0 +1 @@ +Subproject commit 22524617427ae7aecda3eb226a254642f54ae13c