diff --git a/wiki/airsonic-advanced.md b/wiki/airsonic-advanced.md new file mode 100644 index 0000000..fe794eb --- /dev/null +++ b/wiki/airsonic-advanced.md @@ -0,0 +1,48 @@ +# Airsonic-Advanced + +[Airsonic-Advanced](https://github.com/airsonic-advanced/airsonic-advanced) is +a free and open-source personal media streamer. +It is a more modern implementation of [Airsonic](./airsonic.md) which in turn +is a fork of [Subsonic](./subsonic.md). + +## Server + +A server can be setup via docker with the +[linuxserver image](./docker-images/linuxserver_-_airsonic-advanced.md). + +### Setup + +The administration username after installation is `admin`. +The password is `admin` too. +After installing the server make sure to change this password. +If the password was changed there are two entries in the credentials table in +the credentials tab of the settings. +The first credential with id `0` uses the encoder plaintext which is +deprecated. +The second one with id `1` is the changed password which uses the encoder +bcrypt. +Make sure to delete the credential with id `0`. +This entry is not secure due to its encoder type. +When using clients as described in [the relating section](#clients) make sure +to set up the credentials according to the following instructions. +To make the clients log in work with the server store the Airsonic credentials +with a decodable encoder. +Select `Add credentials` and select `encrypted-AES-GCM` as encoder. +Type in the Airsonic password and confirm it and create the new credential. +Log in with the clients now works correctly. + +### Scrobbling with Last.fm + +To set up the scrobbling of music with Last.fm check +`Register what I'm playing at Last.fm` in the personal tab of the settings. +Following this the Last.fm credentials need to be added under the credentials +tab. +Select `Add credentials`, set the App to Last.fm and put in the Last.fm +password. +After the creation of credentials in this way the music will be scrobbled. + +## Clients + +It is possible to use many different clients because the server is compatible +with all the Subsonic clients. +These can be found in the [Subsonic entry](./subsonic.md#clients). diff --git a/wiki/airsonic.md b/wiki/airsonic.md index 7a4473b..6c07d82 100644 --- a/wiki/airsonic.md +++ b/wiki/airsonic.md @@ -1,20 +1,19 @@ # Airsonic -Airsonic is a free and open-source personal media streamer. -It is a fork of [Subsonic](./subsonic.md) and thus is compatible with -most of its clients. +[Airsonic](https://github.com/airsonic/airsonic) is a free and open-source +personal media streamer. +It is a fork of [Subsonic](./subsonic.md). +Airsonic is not maintained anymore and therefore deprecated. +A more modern implementation of it is +[Airsonic-Advanced](./airsonic-advanced.md). ## Server -A server can be setup via docker with the [linuxserver image](./docker-images/linuxserver_-_airsonic.md). +A server can be setup via docker with the +[linuxserver image](./docker-images/linuxserver_-_airsonic.md). -## Client +## Clients -As already mentioned it is possible to use a bunch of different clients because -the server is compatible with most of the Subsonic clients. - -- [Ultrasonic](https://www.f-droid.org/en/packages/org.moire.ultrasonic) is a - free and open-source android subsonic-compatible client. -- [Sonixd](https://github.com/jeffvli/sonixd) is a - free and open-source cross-plattform subsonic- and jellyfin-compatible client. - It uses a look and feel similar to the spotify client. +It is possible to use many different clients because the server is compatible +with all the Subsonic clients. +These can be found in the [Subsonic entry](./subsonic.md#clients). diff --git a/wiki/docker-images/linuxserver_-_airsonic-advanced.md b/wiki/docker-images/linuxserver_-_airsonic-advanced.md new file mode 100644 index 0000000..a816263 --- /dev/null +++ b/wiki/docker-images/linuxserver_-_airsonic-advanced.md @@ -0,0 +1,63 @@ +# linuxserver - airsonic-advanced + +This is a docker container for a [Airsonic-Advanced](../airsonic-advanced.md) +server. +The official container and documentation was made by +[linuxserver](https://github.com/linuxserver/docker-airsonic-advanced). + +## Set-up + +Create the file `rebuild.sh`. +Change the settings according to your needs and run `./rebuild.sh` afterwards. + +## Environment-variables + +Set the following variables with the -e tag. + +| Name | Usage | Default | +| ------ | -------- | ------- | +| `PUID` | UserID | | +| `PGID` | GroupID | | +| `TZ` | Timezone | | + +## Volumes + +Set the following volumes with the -v tag. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | --------------- | ----------------------- | +| `airsonicadv_config` | `/config` | Configuration files | +| `airsonic_media` | `/media` | Various other media | +| `media_playlists` | `/playlists` | Location for playlists | +| `media_music` | `/music` | Location for music | +| `media_audiobooks` | `/audiobooks` | Location for audiobooks | +| `media_podcasts` | `/podcasts` | location for podcasts | + +## Ports + +Set the following ports with the -p tag. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | ----------- | +| `4040` | `4040` | TCP | WebUI | + +## rebuild.sh + +```shell +#!/bin/sh +docker stop airsonicadv +docker rm airsonicadv +docker pull lscr.io/linuxserver/airsonic-advanced:latest +docker run --name=airsonicadv \ + --restart unless-stopped \ + -p 4040:4040 \ + -v airsonicadv_config:/config \ + -v media_music:/music \ + -v media_playlists:/playlists \ + -v media_podcasts:/podcasts \ + -v media_audiobooks:/media \ + -e PUID=0 \ + -e PGID=0 \ + -e TZ=Europe/Berlin \ + -d lscr.io/linuxserver/airsonic-advanced:latest +``` diff --git a/wiki/linux/flatpak.md b/wiki/linux/flatpak.md new file mode 100644 index 0000000..915f967 --- /dev/null +++ b/wiki/linux/flatpak.md @@ -0,0 +1,19 @@ +# Flatpak + +Flatpak is a cross-distribution package manager for linux systems. + +## Setup + +The `flatpak` package can be installed by most distribution specific package +managers (e.g. [pacman or yay](./arch-linux/pacman_and_yay.md)). +After installation it is important to add [flathub](https://flathub.org/home), +a source for many flatpak packages. +The addition of this can be done by running +`flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo`. + +## Installing software + +When software installation is done with Flatpak it is recommended to pass the +`--user` so the software is not installed system-wide but for the user only. +In practice it looks like the following: +`flatpak install --user `. diff --git a/wiki/subsonic.md b/wiki/subsonic.md index 274e3f5..0cf2984 100644 --- a/wiki/subsonic.md +++ b/wiki/subsonic.md @@ -3,4 +3,16 @@ [Subsonic](https://www.subsonic.org) is a personal media streamer mostly used for music. It is non-free and closed-source. -There is a free and open-source alternative named [Airsonic](./airsonic.md). +There are free and open-source alternatives named [Airsonic](./airsonic.md) and +[Airsonic-Advanced](./airsonic-advanced.md). + +## Clients + +It is possible to use different clients. +The following list contains a selection of clients. + +- [Ultrasonic](https://www.f-droid.org/en/packages/org.moire.ultrasonic) is a + free and open-source android subsonic-compatible client. +- [Sonixd](https://github.com/jeffvli/sonixd) is a + free and open-source cross-plattform subsonic- and jellyfin-compatible client. + It uses a look and feel similar to the spotify client.