diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a136337 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pdf diff --git a/README.md b/README.md index 7ef46ca..1c32b20 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,3 @@ This is a wiki for guides and tips for using various software, operating system and tech related stuff. Many of the linux related articles and guides can be found in use at my [dotfiles](https://github.com/tiyn/dotfiles). - diff --git a/resources/.gitkeep b/resources/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/templates/.gitkeep b/templates/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/templates/docker-compose.md b/templates/docker-compose.md new file mode 100644 index 0000000..5773620 --- /dev/null +++ b/templates/docker-compose.md @@ -0,0 +1,53 @@ +# /maintainer/ - /name/ + +This is a [Docker](/wiki/docker.md) container for a /service/ server. +The official container and documentation was made by +[/maintainer/](). +This docker-rebuild is made up by a `docker-compose.yml` file. +In addition to the main container you need to connect a +[/additional containers needed/]() to it. + +## Set-up + +Create the files `rebuild.sh`, `.env` and `docker-compose.yml` at the same +place. +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 | +| ---------- | ------------- | ------- | +| `/name/` | /description/ | | + +### Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | --------- | ------------- | +| `/port/` | `/port/` | /TCP/UDP/ | /description/ | + +### Volumes + +Set the following volumes with the -v tag. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | --------------- | ------------- | +| `/volume name/` | `/mount point/` | /description/ | + +### rebuild.sh + +```sh +``` + +### .env + +```sh +``` + +### docker-compose.yml + +```yml +``` diff --git a/templates/docker.md b/templates/docker.md new file mode 100644 index 0000000..98fdcc8 --- /dev/null +++ b/templates/docker.md @@ -0,0 +1,39 @@ +# /maintainer/ - /name/ + +This is a [Docker](/wiki/docker.md) container for a /service/ server. +The official container and documentation was made by +[/maintainer/](). + +## 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 | +| ---------- | ------------- | ------- | +| `/name/` | /description/ | | + +## Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | --------- | ------------- | +| `/port/` | `/port/` | /TCP/UDP/ | /description/ | + +## Volumes + +Set the following volumes with the -v tag. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | --------------- | ------------- | +| `/volume name/` | `/mount point/` | /description/ | + +## rebuild.sh + +```sh +``` diff --git a/templates/program.md b/templates/program.md new file mode 100644 index 0000000..ca589a0 --- /dev/null +++ b/templates/program.md @@ -0,0 +1,13 @@ +# /name/ + +[/name/]() is a /description. + +## Setup + +The /name/ program can be installed [/via GitHub/](). +Alternatively many linux package managers package /name/ in the `/package/` +package. + +## Usage + +/basic description for usage/ diff --git a/wiki/.gitkeep b/wiki/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/wiki/airsonic-advanced.md b/wiki/airsonic-advanced.md index bf38ab1..286673c 100644 --- a/wiki/airsonic-advanced.md +++ b/wiki/airsonic-advanced.md @@ -36,7 +36,8 @@ Log in with the clients now works correctly. 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). +These can be found in the [Subsonic entry](./subsonic.md#clients) and the [Airsonic +entry](/wiki/airsonic.md#clients). ## Scrobbling with Last.fm diff --git a/wiki/airsonic.md b/wiki/airsonic.md index c3fa7d6..2bae8a9 100644 --- a/wiki/airsonic.md +++ b/wiki/airsonic.md @@ -17,3 +17,6 @@ The software can be setup via [Docker](/wiki/docker.md) with the 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). + +Additionally to these clients there is an improved web user interface made by tamland called +[airsonic-refix](https://github.com/tamland/airsonic-refix). diff --git a/wiki/android.md b/wiki/android.md index 130d09e..6538698 100644 --- a/wiki/android.md +++ b/wiki/android.md @@ -10,6 +10,23 @@ The most used app store of android is the [Google Play Store](https://play.googl A free and open-source alternative to it is [F-Droid](/wiki/android/f-droid.md) which only features open-source software. +A list of open-source software options is also available on Alberto Mosconis +[Github](/wiki/git.md#server-with-web-interface) repository +[foss apps](https://github.com/albertomosconi/foss-apps/tree/main). + +Additionally open-source apps can be installed from source using +[Obtainium](https://github.com/ImranR98/Obtainium). + +### Useful Applications + +This section addresses various useful applications. + +- [Arcticons](https://github.com/Donnnno/Arcticons) a mono-color line-based icon pack +- [disky](https://github.com/newhinton/disky) is a filesystem analyzer that shows usage of the + storage. +- [Markor](https://github.com/gsantner/markor) is a text editor supporting + [Markdown](/wiki/markup_language.md) + ## Multi-Factor Authentication [Multi-factor authentication](/wiki/multi-factor_authentication.md) can easily be set up on android @@ -21,3 +38,48 @@ This app is available at [F-Droid](/wiki/android/f-droid.md) as [FreeOTP+](https://f-droid.org/de/packages/org.liberty.android.freeotpplus/) and on [Google Play Store](#app-store) by the [same name](https://f-droid.org/de/packages/org.liberty.android.freeotpplus/). + +## Custom ROMs + +Besites the stock-firmware of vendors there are also custom ROMs. +These are alternative firmware variants made by third party providers. +A well known custom ROM is [LineageOS](/wiki/android/lineageos.md). + +It is possible that some custom ROMs require the user to +[unlock the bootloader](#unlocking-the-bootloader) before the installation can happen. + +## Unlocking the Bootloader + +Unlocking the bootloader can be a bit challenging for some vendors especially. + +For [smartphones and tablets](/wiki/smart_devices.md#smartphones-and-tablet-computers) made by +Xiaomi there are some steps that have to be done to unlock the bootloader. +This section is based on an +[article about unlocking the bootloader](https://new.c.mi.com/global/post/101245) on Xiaomi +Community aswell as another +[article on specifics for HyperOS](https://xiaomiui.net/how-unlock-bootloader-xiaomi-hyperos-53493/). +First the user has to apply to unlock the bootloader. +For this open the Xiaomi Community app, navigate to the "Settings" and select "Change region". +Select the region "Global". +A new option called "Unlock bootloader" now appears in the settings. +Select "Unlock bootloader" and "Apply for unlocking". +It may be possible that a specified time has to be waited for the application process to happen. +Next go to the phones settings. +Navigate to "About Phone" and "MIUI Version", repeatedly tap on "MIUI version" to get into +developer mode if the phone is not already in developer mode. +Navigate to "Additional settings" and "Developer options". +Enable "OEM unlocking" and "USB debugging". +Now add your Xiaomi account to your device. +To do so navigate to "Mi Unlock status" and agree then "Add account and device". +Shutdown your phone and boot into "Fastboot" by holding down the volume down button and the power +button. +Then connect it to a computer via USB. +The following steps have to take place on a [Windows](/wiki/windows.md) system or an emulation or +virtualization of it. +Download and start "Mi Unlock" - it is available on the +[article mentioned prior in this section](https://new.c.mi.com/global/post/101245). +Follow the steps of the software, select "Unlock" and confirm it multiple times. +It is possible that now 72 hours have to pass for the unlocking process to continue. +If that is the case wait the specified amount of time and repeat the last step. +Make sure to not apply for unlocking again and do not add your account to your phone again as this +will reset the timer. diff --git a/wiki/android/gadgetbridge.md b/wiki/android/gadgetbridge.md index 987aec4..10c8b94 100644 --- a/wiki/android/gadgetbridge.md +++ b/wiki/android/gadgetbridge.md @@ -42,16 +42,25 @@ Afterwards the device will be paired and connected. ### Add Weather Function For correct displaying of weather data an additional app is needed. -An example for this is the -[Weather notification app](https://f-droid.org/en/packages/ru.gelin.android.weather.notification/). -Install it, check the Gadgetbridge option inside the Weather notification app to on and set the -location. -Finally create an account at [OpenWeather](https://home.openweathermap.org). -On that website create an API key and paste it into the according setting in the Weather -notification app. -Finally set the desired location in the Gadgetbridge app inside the settings. +This section is based on the official documentation and recommendation that can be found on +[Gadgetbridges Codeberg page](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Weather#user-content-install-and-configure-openweatherprovider). + +An example for this is the [Breezy Weather app](https://github.com/breezy-weather/breezy-weather) +which is available on the F-Droid store. +Install and configure it to your needs. +Then check the Gadgetbridge option insdie the Breezy Weather app. Afterwards the weather function will be working. +In the past an application named +[Weather Notification](https://f-droid.org/en/packages/ru.gelin.android.weather.notification/) +was often used. +The installation and configuration process was similar but an +[OpenWeather](https://home.openweathermap.org) API key had to be specified in the Weather +Notification app. +For this an account on [OpenWeather](https://home.openweathermap.org) was needed. +Due to different API versions Weather Notification currently does not work. +However it is possible that an update to the application will bring a fix in the future. + ### Install Watchfaces Watchfaces can be installed by using Gadgetbridges `File Installer` option that is available in the @@ -60,3 +69,6 @@ Watchface files for Xiaomi/Amazfit devices can be downloaded on [amazfitwatchfaces.com](https://amazfitwatchfaces.com/). The same catalog is also available as an [Android app on the Google Play Store](https://play.google.com/store/apps/details?id=com.amazfitwatchfaces.st). + +This section is based on a +[Reddit post by myhairisawesome](https://www.reddit.com/r/Huawei/comments/1dexenl/watch_fit_3_is_there_a_way_to_create_custom_watch/). diff --git a/wiki/android/ir_remote.md b/wiki/android/ir_remote.md new file mode 100644 index 0000000..ed2f30b --- /dev/null +++ b/wiki/android/ir_remote.md @@ -0,0 +1,20 @@ +# IR Remote + +[IR Remote](https://gitlab.com/divested-mobile/irremote) is a free and open-source App developed +for [Android](/wiki/android.md) systems. +It can use a [smartphone](/wiki/smart_devices.md#smartphones-and-tablet-computers) that is capable +of sending [infrared](/wiki/infrared.md) signals to be used as an +[infrared remote control](/wiki/infrared.md#remote-controls) + +## Setup + +On [Android](/wiki/android.md) IR Remote is available on the +[F-Droid app store](/wiki/android/f-droid.md) in a package called +[IR Remote](https://f-droid.org/de/packages/us.spotco.ir_remote/). + +## Usage + +IR Remote features many preset remote controls for devices of major brands. +For devices not included in these presets the infrared codes can be searched on the web. +The [infrared article](/wiki/infrared.md) features a +[list of available resources](/wiki/infrared.md#remote-controls). diff --git a/wiki/android/launcher.md b/wiki/android/launcher.md new file mode 100644 index 0000000..1230e95 --- /dev/null +++ b/wiki/android/launcher.md @@ -0,0 +1,13 @@ +# Launcher + +A launcher is the software that controls the home screen and app drawer on an +[Android](/wiki/android.md) phone. + +## Software Options + +This section lists various possible launchers. + +- [Kvaesitso](https://kvaesitso.mm20.de/) is a free and open-source launcher. + It is available on [F-Droid](/wiki/android/f-droid.md) from its + [repository](https://f-droid.org/de/packages/de.mm20.launcher2.release/). + It focusses on a search but also has the option to label apps with tags. diff --git a/wiki/android/lineageos.md b/wiki/android/lineageos.md new file mode 100644 index 0000000..09f490a --- /dev/null +++ b/wiki/android/lineageos.md @@ -0,0 +1,22 @@ +# LineageOS + +[LineageOS](https://lineageos.org/) - or short Lineage - is a custom +[Android](/wiki/android.md)-ROM and operating system for +[Smartphones and Tablets](/wiki/smart_devices.md#smartphones-and-tablet-computers) with mostly free +and open-source software. +It was formerly known as CyanogenMod. + +## Compatible Devices and Installation + +Lineage is only available on specific devices that feature a maintained build of LineageOS. +A list of compatible devices sorted by vendor can be found on the +[official wiki](https://wiki.lineageos.org/devices/). + +For installation navigate to the [official wiki](https://wiki.lineageos.org/devices/) and select +the device LineageOS should be installed on. +A guide will be available to help users in the process of installation. +The device page also features any build file needed for the setup. +If Google Services should be installed on the device close attention has to be payed in the guide +section called "Installing Add-Ons". +The Google Apps packages for Lineage can be downloaded from the +[corresponding wiki page](https://wiki.lineageos.org/gapps/). diff --git a/wiki/audio.md b/wiki/audio.md index ff93d33..7f749d8 100644 --- a/wiki/audio.md +++ b/wiki/audio.md @@ -10,37 +10,29 @@ Podcasts need a so called Podcatcher. A Podcatcher is used to subscribe to podcasts and download them automatically. For Linux specific music software navigate to the corresponding [wiki entry](/wiki/linux/audio.md). -For voice based communication navigate to the [Communication article](/wiki/communication.md) and +For voice based communication navigate to the [communication article](/wiki/communication.md) and the corresponding [VoIP section](/wiki/communication.md#voip). +For headphones navigate to the [headphones article](/wiki/headphones.md): -## Media Software +## Technical Specifications -If you want to keep your system clean of much data, you can use this kind of -setup. -There are differences depending on your preffered software interface. +This section aswell as its subsections address all technical things about audio, like connections, +cables and devices. +The most frequently used audio formats are also addressed. -### Software for Music/Podcasts/Audiobooks +### Balanced & Unbalanced Audio -The following is a list of server software, that is featured in this wiki. -The corresponding client software is handled in the server softwares wiki entry. +Unbalanced audio uses a wire for the positive signal for audio transmission and one for ground. +This is the most frequently used type of cable bound audio transmission. +Usually they are connected with jack connections like 3.5mm and 6.25mm. -- [Subsonic](./subsonic.md) is a media streamer for music, podcasts and - audiobooks. - Subsonic is self-hostable. - Subsonic that can be dockerized and has a web-interface aswell as several - clients that can be used. - There are also the free and open-source implementations - that feature all the - same features and using its API - named [Airsonic](./airsonic.md) (no longer - maintained) and its inofficial successor [Airsonic-advanced](./airsonic.md). +Balanced audio uses one wire for the positive signal, one for negative and another one for the +ground. +Due to this extra cable a balanced connection can cancel out noise that entered the cable and +affected both the positive and the negative signal. +Balanced uses connectors like 4-pin XLR aswell as 2.5mm and 4.4mm jacks -### Software for Podcasts - -- [Podgrab](./podgrab.md) is a free and open-source podcatcher that can also be - used to listen to them. - It is self-hostable and can be dockerized. - It has a web-interface and does not feature client software. - -## Audio Formats +### Audio Formats and Encoding An audio format is an encoding of an audio file. There are lossy and lossless formats, the latter not compromising quality for @@ -58,8 +50,6 @@ Following is a list of often used formats: - ac3 is a compressed lossy codec usually found in DVDs - dts is a compressed lossy codec usually found in DVDs -### Lossy and Lossless Formats and Their Conversion - Music files can either be encoded lossy or lossless. Lossless formats can be converted from and to each other without loosing information. @@ -70,7 +60,70 @@ Additionally lossy formats should not be converted to lossless formats as it increases the file size without adding any audio information. These not recommended conversions are called bad conversions. -#### Detect Bad Conversions +### Cue Files + +`.cue` files act as a table of contents for a CD rip. +These can be created when the +[audio of a CD is extracted](#extract-audio-files-from-cds). +Usually this appears together with a single file for the whole CD. +The audio file can then be split according to the `.cue` file. +For splitting of `.flac` files on a Linux system check the +[a flac (package) entry](/wiki/linux/flac_(package).md#splitting-flac-file-according-to-cue-file) +for further informations. + +## Media Software + +If you want to keep your system clean of much data, you can use this kind of +setup. +There are differences depending on your preffered software interface. + +### Digital Audio Workstations + +Digital Audio Workstations - short DAWs - is an application that can be used to record, edit or +produce audio files. + +- [LMMS](https://lmms.io/) is a free and cross-platform DAW that is highly compatible with + [Linux-based systems](/wiki/linux.md). + +### Software for Music/Podcasts/Audiobooks + +The following is a list of server software, that is featured in this wiki. +The corresponding client software is handled in the server softwares wiki entry. + +- [Subsonic](./subsonic.md) is a media streamer for music, podcasts and + audiobooks. + Subsonic is self-hostable. + Subsonic that can be dockerized and has a web-interface aswell as several + clients that can be used. + There are also the free and open-source implementations - that feature all the + same features and using its API - named [Airsonic](./airsonic.md) (no longer + maintained) and its inofficial successor [Airsonic-advanced](./airsonic.md). + +### Software for Podcasts + +- [Podgrab](./podgrab.md) is a free and open-source podcatcher that can also be + used to listen to them. + It is self-hostable and can be dockerized. + It has a web-interface and does not feature client software. + +#### Obtaining Audio Files from Different Services + +[YouTube](/wiki/youtube.md) features a wide variety of uploaded music and audiobooks. +Using programs like [yt-dl](/wiki/youtube.md#downloading-youtube-videos) they can be downloaded. + +[Audible](https://www.audible.de/) is a popular service that makes sells audibooks. +After purchasing an audiobook it can be downloaded directly from Audible after navigating to the +`Library` tab and selecting `Download`. +Another option is to use [OpenAudible](/wiki/openaudible.md). +This program features various functions to manage Audible audiobooks that include download, +converting and splitting. + +## Digitalizing and Analyzing Physical Mediums + +This section focusses on physical audio mediums like CDs, their digitalization to a digital audio +file of [specific format](#audio-formats-and-encoding) and conversions between them. + +### Detect Bad Conversions The bitrate, format and the sample rate can be usually checked with simple tools. @@ -78,7 +131,7 @@ For Linux a simple software solution for this is the `file` command. Running it will display these features of a given audio file. This will however only display the format features. Bad convserions as described in -[the previous section](#lossy-and-lossless-formats-and-their-conversion) can not +[the previous section](#audio-formats-and-encoding) can not be detected by this. A spectral analysis can detect bad conversions. For this a audio analyzer like @@ -91,7 +144,7 @@ If the frequency extends up to at least 22kHz the file is lossless for sure. If the frequency is cut before and the file is encoded in a lossless file it has undergone a bad conversion and is not really lossless. -## Extract Audio Files from CDs +### Extract Audio Files from CDs You can convert your CDs to files on your computer. This way you don't have to search for your CDs all the time. @@ -106,20 +159,20 @@ This way you don't have to search for your CDs all the time. - [MusicBrainz Picard](./picard.md) for linux is a graphical user interface for tagging files of many different formats. -## Analysis of Different Versions of an Album +### Analysis of Different Versions of an Album While deciding on what version of an album is the best visit [Dynamic Range DB](https://dr.loudness-war.info). It shows dynamic range scorings of each version. -## Get Additional Data to an Album/Single +### Get Additional Data to an Album/Single If additional information for an album is needed, visit [Discogs](https://www.discogs.com). Discogs has tracklists, dates and more information to nearly all versions of albums and singles. -## Naming Convention +### Naming Convention It is suggested to place the audio files in a directory named after the album they belong to. @@ -129,18 +182,7 @@ Files can be named in the following scheme: - music: `[.].__-_` - audiobooks: `[<discnumber>.]<tracknumber>._<artist>_-_<album>_<tracknumber>` -## Cue Files - -`.cue` files act as a table of contents for a CD rip. -These can be created when the -[audio of a CD is extracted](#extract-audio-files-from-cds). -Usually this appears together with a single file for the whole CD. -The audio file can then be split according to the `.cue` file. -For splitting of `.flac` files on a Linux system check the -[a flac (package) entry](/wiki/linux/flac_(package).md#splitting-flac-file-according-to-cue-file) -for further informations. - -## Scoring Music +### Scoring Music Scoring music has moved more and more into the computer realm. An easy and intuitive software that can be used for this is diff --git a/wiki/bibliographic_software.md b/wiki/bibliographic_software.md new file mode 100644 index 0000000..89e4570 --- /dev/null +++ b/wiki/bibliographic_software.md @@ -0,0 +1,9 @@ +# Bibliographic Software + +A bibliographic software is software that manages a database of citation or bibliographic records. +It produces citations for the stored records that are used in scholarly research. + +## Software Solutions + +- [Papis](/wiki/linux/papis.md) is a [command-line based](/wiki/linux/shell.md) for + [Linux](/wiki/linux.md) bibliography manager that can be used for LaTeX using the BibTeX format. diff --git a/wiki/bind.md b/wiki/bind.md index 02a1ef1..cd765c0 100644 --- a/wiki/bind.md +++ b/wiki/bind.md @@ -95,7 +95,7 @@ $TTL 1D To make the server you operate on the nameserver select a subdomain for it and -subsitute `<servername>` for it and its IP address `<ip of server>`. +subsitute `<servername>` for it and its [IP address](/wiki/ip_address.md) `<ip of server>`. The following uses a filled in example with multiple subdomains. It uses CNAME records as a placeholder for the ip. In the last section the domain itself `home.server` is mapped to the ip diff --git a/wiki/calibre.md b/wiki/calibre.md index 6ead8b5..f8aaec0 100644 --- a/wiki/calibre.md +++ b/wiki/calibre.md @@ -31,6 +31,10 @@ thomas_schickinger;_angelika_steger/diskrete_strukturen_2/thomas_schickinger_&_a This assumes the sort author names and sort titles are set as described in [the following section](#changing-the-default-author-and-title-sort). +In the same view only the boxes `Save cover separately`, `Save metadata in a separate OPF file` and +`Save data file as well` should be unchecked. +All others are used to ensure a lowercase directory and file name without special characters. + ## Changing the Default Author and Title Sort Under `Preferences` and `Tweaks` the corresponding settings to change the title @@ -55,3 +59,45 @@ This entry is based on two posts on mobileread - one regarding the [sort author name](https://www.mobileread.com/forums/showthread.php?t=314663) and the other regarding the [sort title](https://www.mobileread.com/forums/showthread.php?t=249870). + +## Changing the Cover of a Book + +Changing covers of a book can be done by editing the metadata available via the right-click menu. +However this is not enough in some cases. +`.pdf` in contrast to `.epub` files won't save the cover just by this action. +After changing the cover in the metadata screen `.pdf` files have to be converted to correctly +display the cover since the first page of such a file is generally considered the cover. +An alternative to this is the `PDF Cover` Plugin which allows the insertion of the cover before all +other pages without an extra conversion. +Please note that it prepends the cover and does not delete any pages. + +## Transfer Books to a Device + +To transfer books to a device connect a e-reader to the computer. +After a while calibre should recognize the device which will be apparent by the appearance of +additional buttons on the top menu like the `Send to device`- and the `Device`-Button. +First make sure only the formats you want will be transfered. +This can be done by selecting `Device`, `File formats` and checking the formats as needed. +Afterwards select the books and press `Send to device` to start the process of transfering the +devices. +Alternatively only specific formats of the books can be send to the device by selecting +`Send specific format to` and `Main memory` under the `Send to device` menu. +If there are books that contain series metadata make sure to disconnect the e-reader once and +reconnect it. +Afterwards select `Update cached metadata on device` under `Device` to update the metadata +including the series. +Finally disconnect the device. + +## KEPUB Format + +The `.kepub` format is a format that is similar to a normal epub but has some performance +improvements for Kobo devices. +It is recommended to convert `.mobi` and `.epub` files to a `.kepub` file before +[transfering it to a Kobo device](#transfer-books-to-a-device). +For this the Plugin `KePub Output` by Joel Goguen [can be added](#adding-a-plugin) can be +installed. +Afterwards books can be converted the normal way, but now the output format `.kepub` is available. +Additionally the `Kobo Touch Extended` plugin is recommended to use since it makes sending books to +Kobo e-readers easier. +Finally `KePub Metadata Reader` and `KePub Metadata Reader` make it possible to read and write +metadata to `.kepub` files which is especially useful. diff --git a/wiki/chameleon.md b/wiki/chameleon.md new file mode 100644 index 0000000..f20e802 --- /dev/null +++ b/wiki/chameleon.md @@ -0,0 +1,14 @@ +# Chameleon + +[Chameleon](https://addons.mozilla.org/en-GB/firefox/addon/chameleon-ext/) is a +[Firefox](/wiki/firefox.md) [add-on](/wiki/firefox.md#list-of-useful-firefox-add-ons) that spoofs +your browser profile including user agent and screen size. +It also can be used to change the [IP address](/wiki/ip_address.md) + +## Spoofing the IP Address + +This add-on can also be used to avoid [geo-blocking](/wiki/ip_address.md#geo-blocking) by selecting +IP ranges in the `Headers` tab. +The following are example ranges that work well for specific countries. + +- Brazil: `124.81.64.0` to `124.81.127.255` diff --git a/wiki/communication.md b/wiki/communication.md index 4408df4..c0e64a9 100644 --- a/wiki/communication.md +++ b/wiki/communication.md @@ -9,7 +9,7 @@ This article bundles all of them. This section lists some of the most common Voice over IP (VoIP) platforms. - [Matrix](/wiki/matrix.md) is a decentralized and open-source social platform. -- [Discord](https://discord.com/) is a widely used, proprietary social platform. +- [Discord](/wiki/discord.md) is a widely used, proprietary social platform. ### Soundboards diff --git a/wiki/cups.md b/wiki/cups.md index 7580546..b50404a 100644 --- a/wiki/cups.md +++ b/wiki/cups.md @@ -21,3 +21,25 @@ For Linux computers follow these instructions: - Restart the CUPS service: `systemctl restart cups` - Test connectivity: `lpstat -r` - Check the detected printers with: `lpstat -v` + +## Usage + +This section addresses the usage of the CUPS. + +### Adding a Printer + +A printer can be added using the webinterface. +The webinterface is normally reachable on port 631. +This process is guided and should be self-explanatory. +However in some cases additional drivers have to be installed. +For example Brother label printers of the ptouch series feature drivers that are available for most +[Linux](/wiki/linux.md) distributions in a package named `printer-driver-ptouch`. +When adding the printer a network address has to be given. +For USB printers this can be done via the USB protocol. +Continuing the example Brother label Printer QL-600 the connection `usb://Brother/QL-600` is +sufficient. +When using multiple printers the serial number can be given in addition to this. +This is done by appending it the the mentioned connection string and will look like +`usb://Brother/QL-600?serial=000J1Z140282`. +The examples using the Brother printer are taken from a +[dwaves article](https://dwaves.de/2022/07/13/gnu-linux-debian-11-how-to-setup-brother-ql-600-labelprinter/). diff --git a/wiki/discord.md b/wiki/discord.md new file mode 100644 index 0000000..74c34d5 --- /dev/null +++ b/wiki/discord.md @@ -0,0 +1,23 @@ +# Discord + +[Discord](https://discord.com/) is an social platform that combines voice and video conferences as +well as instant messaging chats. + +## Usage + +This section addresses various features of Discord. + +### Disable Automatic Update Checks + +By default Discord performs an automatic check to see if it is up to date. +On [Linux](/wiki/linux.md)-based systems it can be disabled by adding `"SKIP_HOST_UPDATE": true` to +the `~/.config/discord/settings.json` file. + +### Setting Up a Music Bot + +For Discord there are various bots capable of playing music. +The following is a list of bots featured in this wiki that can do this. + +- [Sinusbot](/wiki/sinusbot.md) is a self-hosted bot for Discord that can play music and sounds. + It's closed-source and free of charge. + It also features [Teamspeak](/wiki/teamspeak.md) support. diff --git a/wiki/docker.md b/wiki/docker.md index b2e3e6b..42146c7 100644 --- a/wiki/docker.md +++ b/wiki/docker.md @@ -5,7 +5,7 @@ Due to easy handling and reproducable environments it is a useful tool. ## Setup -- Arch linux: run `pacman -S docker` to install docker +- [Arch Linux](/wiki/linux/arch-linux.md): run `pacman -S docker` to install docker - Ubuntu: visit [the official installation guide](https://docs.docker.com/engine/install/ubuntu/) Another possibility is to try the official convenience script. @@ -19,6 +19,14 @@ sudo sh get-docker.sh ## Usage +This section addresses various features of Docker. + +### virtualize Operating Systems + +Docker is a tool that can be used to virtualize different programs and softwares. +Especially for containerizing and virtualizing operating systems (mostly based on +[Linux](/wiki/linux.md)) can be handled by [distrobox](https://github.com/89luca89/distrobox). + ### Run Docker as non-root user To run docker as a non-root user you need to add your user to the `docker` group. @@ -32,7 +40,7 @@ After that relog into your machine and you should be able to run The programs below are useful docker-management systems in different style. - [ctop](https://github.com/bcicen/ctop): top-like cli interface for containers -- [portainer](./docker/portainer.md): web ui for managing docker and kubernetes +- [portainer](https://www.portainer.io/): web ui for managing docker and kubernetes ### Enable Nvidia GPUs @@ -57,7 +65,7 @@ publish ports to reverse proxy them. ### Dockerize a graphical application A graphical application can easily be dockerized and made available over both -the [web browser](/wiki/browser.md) or [VNC](/wiki/vnc.md). +the [web browser](/wiki/web_browser.md) or [VNC](/wiki/vnc.md). For this [jlesages baseimage-gui container](https://hub.docker.com/r/jlesage/baseimage-gui) can be used. diff --git a/wiki/docker/alexjustesen_-_speedtest-tracker.md b/wiki/docker/alexjustesen_-_speedtest-tracker.md new file mode 100644 index 0000000..f23a14b --- /dev/null +++ b/wiki/docker/alexjustesen_-_speedtest-tracker.md @@ -0,0 +1,67 @@ +# alexjustesen - speedtest-tracker + +This is a [Docker](/wiki/docker.md) container for a selfhosted internet speed +tracker. +The official container and documentation was made by +[alexjustesen](https://github.com/alexjustesen/speedtest-tracker). + +## Set-up + +Create the file `rebuild.sh`. +Change the settings according to your needs and run `./rebuild.sh` afterwards. +It is important to set a correct app key as described in +[the following section](#environment-variables). + +### Environment-variables + +Set the following variables with the -e tag. + +| Name | Usage | Default | +| -------------------- | -------------------------------------------------------------------------------------------------- | --------------- | +| `APP_KEY` | This is used for encryption and can be generated by `echo -n 'base64:'; openssl rand -base64 32;` | | +| `DB_CONNECTION` | Database connection type | | +| `PGID` | Group ID | | +| `PUID` | User ID | | +| `APP_TIMEZONE` | Timezone of the app | `Europe/London` | +| `DISPLAY_TIMEZONE` | Timezone of the display | `Europe/London` | +| `SPEEDTEST_SCHEDULE` | Cron-formatted schedule for speedtest (`6 */6 * * *`: 6 minutes after every 6th hour) | | + +### Volumes + +Set the following volumes with the -v tag. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | --------------- | -------------------- | +| `speedtest_config` | `/config` | storage for config | +| `speedtest_keys` | `/config/keys` | storage for ssl keys | + +### Ports + +Set the following ports with the -p tag. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | ------------------------- | +| `80` | `8765` | TCP | WebUI | +| `443` | `` | TCP | SSL-encrypted WebUI | + +### rebuild.sh + +```sh +#!/bin/sh +docker stop speedtest +docker rm speedtest +docker pull lscr.io/linuxserver/speedtest-tracker:latest +docker run --name speedtest \ + --restart unless-stopped \ + -p 8765:80 \ + -e PUID=1000 \ + -e PGID=1000 \ + -e APP_KEY="<generate>" \ + -e DB_CONNECTION=sqlite \ + -e SPEEDTEST_SCHEDULE="6 */6 * * *" \ + -e APP_TIMEZONE="Europe/Berlin" \ + -e DISPLAY_TIMEZONE="Europe/Berlin" \ + -v speedtest_config:/config \ + -v speedtest_keys:/config/keys \ + -d lscr.io/linuxserver/speedtest-tracker:latest +``` diff --git a/wiki/docker/alexta69_-_metube.md b/wiki/docker/alexta69_-_metube.md index e5517d1..fac021f 100644 --- a/wiki/docker/alexta69_-_metube.md +++ b/wiki/docker/alexta69_-_metube.md @@ -11,7 +11,7 @@ This docker-rebuild is made up by a `docker-compose.yml` file. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -19,7 +19,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | --------------- | ------------------------------------ | | `downloads` | `/downloads` | folder to download data to | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -27,7 +27,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `8881` | `8081` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -36,7 +36,7 @@ docker pull vim alexta69/metube docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" diff --git a/wiki/docker/awesometechnologies_-_synapse-admin.md b/wiki/docker/awesometechnologies_-_synapse-admin.md index a4e4660..a7a280e 100644 --- a/wiki/docker/awesometechnologies_-_synapse-admin.md +++ b/wiki/docker/awesometechnologies_-_synapse-admin.md @@ -1,6 +1,7 @@ # awesometechnologies - synapse-admin -This is a [Docker](/wiki/docker.md) container for a Synapse server of [Matrix](../matrix.md). +This is a [Docker](/wiki/docker.md) container for a Synapse administration server of +[Matrix](../matrix.md). The official container and documentation was made by [awesometechnologies](https://hub.docker.com/awesometechnologies/synapse-admin). This docker-rebuild is made up by a `docker-compose.yml` file. @@ -10,7 +11,7 @@ This docker-rebuild is made up by a `docker-compose.yml` file. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Ports +### Ports Set the following ports in the `ports:` section. @@ -18,7 +19,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `80` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -27,7 +28,7 @@ docker pull awesometechnologies/synapse-admin:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2" diff --git a/wiki/docker/axhilrex_-_podgrab.md b/wiki/docker/axhilrex_-_podgrab.md index 5f29171..43c6864 100644 --- a/wiki/docker/axhilrex_-_podgrab.md +++ b/wiki/docker/axhilrex_-_podgrab.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -18,7 +18,7 @@ Set the following variables with the -e tag. | ---------- | ----------------------------- | ------- | | `PASSWORD` | Password for `podgrab` user | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -27,7 +27,7 @@ Set the following volumes with the -v tag. | `podgrab_config` | `/config` | Configuration files | | `media_podcasts` | `/assets` | location for podcasts | -## Ports +### Ports Set the following ports with the -p tag. @@ -35,7 +35,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `8080` | `8080` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/b4bz_-_homer.md b/wiki/docker/b4bz_-_homer.md index 6680f85..a29cf8e 100644 --- a/wiki/docker/b4bz_-_homer.md +++ b/wiki/docker/b4bz_-_homer.md @@ -11,7 +11,7 @@ Place the file `config.yml` in the `homer` docker volume and change it to your needs. After that rerun `./rebuild.sh` to make update your config. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -19,7 +19,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ---------------------- | | `homer` | `/www/assets` | storage for icons, etc | -## Ports +### Ports Set the following ports with the -p tag. @@ -27,7 +27,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `8080` | `8080` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -41,7 +41,7 @@ docker run --name homer \ -d b4bz/homer:latest ``` -## config.yml +### config.yml ```yml title: "tmp" diff --git a/wiki/docker/bbilly1_-_tubearchivist.md b/wiki/docker/bbilly1_-_tubearchivist.md index af0b98a..783aef5 100644 --- a/wiki/docker/bbilly1_-_tubearchivist.md +++ b/wiki/docker/bbilly1_-_tubearchivist.md @@ -10,7 +10,7 @@ TubeArchivist specific version of Elasticsearch and one a [redis](/wiki/docker/r Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -36,7 +36,7 @@ The following table lists the environment variables for the image `bbilly1/tubea | `ELASTIC_PASSWORD` | Password for Elasticsearch | `` | | `ES_JAVA_OPTS` | Additional Java options | `` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -53,7 +53,7 @@ The following table lists the environment variables for the image `bbilly1/tubea | ------------------------- | ------------------------------- | --------------------------- | | `es` | `/usr/share/elasticsearch/data` | storage for elasticsearch | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -61,7 +61,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `8000` | `8881` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -69,7 +69,7 @@ docker-compose down docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: '3.3' diff --git a/wiki/docker/benbusby_-_whoogle-search.md b/wiki/docker/benbusby_-_whoogle-search.md index 71ae787..5e8e70a 100644 --- a/wiki/docker/benbusby_-_whoogle-search.md +++ b/wiki/docker/benbusby_-_whoogle-search.md @@ -14,7 +14,7 @@ just created folder. You can find the `docker-compose.yml` in the cloned directory. Set the variables, volumes and ports according and run the `rebuild.sh`. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -22,7 +22,7 @@ Set the following volumes with the -v tag. | ------------------------- | ---------------- | ---------------- | | `searx_config` | `/config` | configurations | -## Ports +### Ports Set the following ports with the -p tag. @@ -30,7 +30,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `5000` | `8000` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -40,7 +40,7 @@ docker-compose up -d cd .. ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2.2" diff --git a/wiki/docker/bilde2910_-_hauk.md b/wiki/docker/bilde2910_-_hauk.md index ff08a08..2f4f3ac 100644 --- a/wiki/docker/bilde2910_-_hauk.md +++ b/wiki/docker/bilde2910_-_hauk.md @@ -23,7 +23,7 @@ htpasswd -BC 10 /etc/hauk/users.htpasswd <other user name> Finally run `./rebuild.sh`. -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -31,7 +31,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | ------------------ | ------------------------------ | | `./config/hauk` | `/etc/hauk` | config and password location | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -39,7 +39,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ---------------------- | | `80` | `80` | TCP | Basic service | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -48,7 +48,7 @@ docker pull bilde2910/hauk docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2" diff --git a/wiki/docker/chocobozzz_-_peertube.md b/wiki/docker/chocobozzz_-_peertube.md index 506e373..19d01a6 100644 --- a/wiki/docker/chocobozzz_-_peertube.md +++ b/wiki/docker/chocobozzz_-_peertube.md @@ -14,7 +14,7 @@ Create the files `rebuild.sh`, `.env` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Ports +### Ports Set the following ports in the `ports:` section. @@ -22,7 +22,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `9000` | `9000` | TCP | WebUI | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -32,7 +32,7 @@ Set the following volumes with the -v tag. | `config` | `/config` | configuration data | | `data` | `/data` | further data storage | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -40,7 +40,7 @@ docker-compose down docker-compose up -d ``` -## .env +### .env ```sh TZ="Europe/Berlin" @@ -75,7 +75,7 @@ PEERTUBE_SMTP_TLS=false PEERTUBE_SMTP_DISABLE_STARTTLS=false ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3.3" diff --git a/wiki/docker/cloudrac3r_-_bibliogram.md b/wiki/docker/cloudrac3r_-_bibliogram.md index d00a22c..03f3fe2 100755 --- a/wiki/docker/cloudrac3r_-_bibliogram.md +++ b/wiki/docker/cloudrac3r_-_bibliogram.md @@ -14,7 +14,7 @@ a folder within the just created folder. You can find the `docker-compose.yml` in the cloned directory. Set the variables, volumes and ports according and run the `rebuild.sh`. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -22,7 +22,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ----------------------------------- | | `db` | `/app/db` | storage for the bibliogram database | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -30,7 +30,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `10407` | `10407` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -40,7 +40,7 @@ docker-compose up -d cd .. ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" diff --git a/wiki/docker/coturn_-_coturn.md b/wiki/docker/coturn_-_coturn.md new file mode 100644 index 0000000..45011a8 --- /dev/null +++ b/wiki/docker/coturn_-_coturn.md @@ -0,0 +1,72 @@ +# coturn - coturn + +This is a [Docker](/wiki/docker.md) container for a TURN/STUN server. +A server like this can be used in a [Matrix](../matrix.md) server configuration. +The official container and documentation was made by +[coturn](https://github.com/coturn/coturn). +This docker-rebuild is made up by a `docker-compose.yml` file. + +## Set-up + +Create the files `rebuild.sh`, `data/matrix/coturn/turnserver.conf` and `docker-compose.yml` at the +same place. +Change the settings according to your needs and run `./rebuild.sh` afterwards. +For the `data/matrix/coturn/turnserver.conf` file change the values for `static-auth-secret`, +`realm`, `cli-password` and `external-ip`. +For the passwords [OpenSSL](/wiki/linux/openssl.md#password-generator) can be used to create a +sufficiently random password. +The value of `external-ip` consists of the local IP (left side) and the public IP (right side). +To get the local IP the command `ip route get 1` can be used. +For the public IP the command `curl api.ipify.org` can be used. + + +### Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | ----------- | +| `3478` | `3478` | TCP/UDP | TURN/STUN | +| `5349` | `5349` | TCP/UDP | TURN/STUN | +| `49152-65535` | `49152-65535` | UDP | TURN/STUN | + +### rebuild.sh + +```sh +#!/bin/sh +docker-compose down +docker pull coturn/coturn:latest +docker-compose up -d +``` + +### docker-compose.yml + +```yml +version: "2" +services: + coturn: + image: "instrumentisto/coturn:latest" + restart: "unless-stopped" + volumes: + - "./data/matrix/coturn/turnserver.conf:/etc/coturn/turnserver.conf" + ports: + - "49160-49200:49160-49200/udp" + - "3478:3478" + - "5349:5349" +``` + +### data/matrix/coturn/turnserver.conf + +```txt +use-auth-secret +static-auth-secret=SomeSecretPasswordForMatrix +realm=matrix.example.com +listening-port=3478 +tls-listening-port=5349 +min-port=49160 +max-port=49200 +verbose +allow-loopback-peers +cli-password=SomePasswordForCLI +external-ip=192.168.0.2/123.123.123.123 +``` diff --git a/wiki/docker/dperson_-_torproxy.md b/wiki/docker/dperson_-_torproxy.md index 7160ee1..b781325 100644 --- a/wiki/docker/dperson_-_torproxy.md +++ b/wiki/docker/dperson_-_torproxy.md @@ -8,7 +8,7 @@ The container and documentation was made by [dperson](https://hub.docker.com/r/d Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -17,7 +17,7 @@ Set the following volumes with the -v tag. | `tor_var` | `/var/lib/tor` | Location for various files | | `tor_etc` | `/etc/tor` | Various other config | -## Ports +### Ports Set the following ports with the -p tag. @@ -26,7 +26,7 @@ Set the following ports with the -p tag. | `8118` | `8118` | HTTP | privoxy web proxy | | `9050` | `9050` | SOCKS | socks protocol proxy | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/dyonr_-_jackettvpn.md b/wiki/docker/dyonr_-_jackettvpn.md index 655cb43..6547349 100644 --- a/wiki/docker/dyonr_-_jackettvpn.md +++ b/wiki/docker/dyonr_-_jackettvpn.md @@ -15,7 +15,7 @@ Place the openvpn certificate in the `jacket_config` docker volume inside the `openvpn` folder. After that rerun `./rebuild.sh` to make update your config. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -24,7 +24,7 @@ Set the following volumes with the -v tag. | `jackett_config` | `/config` | storage for configs | | `jackett_blackhole` | `/blackhole` | storage for magnets | -## Ports +### Ports Set the following ports with the -p tag. @@ -32,7 +32,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `9117` | `9117` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh docker stop jackett diff --git a/wiki/docker/dyonr_-_qbittorrentvpn.md b/wiki/docker/dyonr_-_qbittorrentvpn.md index d746a69..36b9c72 100644 --- a/wiki/docker/dyonr_-_qbittorrentvpn.md +++ b/wiki/docker/dyonr_-_qbittorrentvpn.md @@ -14,7 +14,7 @@ The default username of the web interface is `admin`. The default password is `adminadmin`. Both can be changed in the web interface after setup. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -25,7 +25,7 @@ Set the following variables with the -e tag. | `VPN_PASSWORD` | Password for OpenVPN | ` ` | | `LAN_NETWORK` | Subnet of the local network | ` ` | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -34,7 +34,7 @@ Set the following volumes with the -v tag. | `qbittorrentvpn_config` | `/config` | Configuration files | | `qbittorrentvpn_data` | `/downloads` | Storage for data | -## Ports +### Ports Set the following ports with the -p tag. @@ -42,7 +42,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `9091` | `8080` | TCP | WebUI | -## Additional +### Additional There are some special variables to set. @@ -52,7 +52,7 @@ There are some special variables to set. | `--device` | connect devices | | `--sysctl` | configure systemctl | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/gitea_-_gitea.md b/wiki/docker/gitea_-_gitea.md index 0fa6b78..509c575 100644 --- a/wiki/docker/gitea_-_gitea.md +++ b/wiki/docker/gitea_-_gitea.md @@ -11,7 +11,7 @@ to it. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -26,7 +26,7 @@ docker-compose file. | `DB_USER` | Username for the database | | | `DB_PASSWD` | Password for the database | | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -36,7 +36,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `/etc/timezone` | `/etc/timezone:ro` | link timezone | | `/etc/localtime` | `/etc/localtime` | link localtime | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -45,7 +45,7 @@ Set the following ports in the `ports:` section. | `3000` | `3000` | TCP | WebUI | | `22` | `222` | TCP | ssh port of git server | -## Networks +### Networks Set the following networks in the `networks:` section of the docker-compose file. @@ -53,7 +53,7 @@ Set the following networks in the `networks:` section of the docker-compose file | ------- | --------------------- | | `gitea` | connect db with gitea | -## Dependencies +### Dependencies Set the following dependencies in the `depends_on:` section of the docker-compose file. @@ -62,7 +62,7 @@ docker-compose file. | ---- | -------------------- | | `db` | Ensure db is running | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -70,7 +70,7 @@ docker-compose down docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2" diff --git a/wiki/docker/gramps-project_-_grampsweb.md b/wiki/docker/gramps-project_-_grampsweb.md index 1d2a677..2c9345f 100644 --- a/wiki/docker/gramps-project_-_grampsweb.md +++ b/wiki/docker/gramps-project_-_grampsweb.md @@ -10,7 +10,7 @@ subcontainers - and one a [redis instance](/wiki/docker/redis.md). Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -22,7 +22,7 @@ docker-compose file. | `GRAMPSWEB_CELERY_CONFIG__result_backend` | Redis backend URL | `` | | `GRAMPSWEB_RATELIMIT_STORAGE_URI` | Storage URI | `` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -37,7 +37,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `gramps_media` | `/app/media` | storage for media | | `gramps_tmp` | `/tmp` | storage for temporary files | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -45,7 +45,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `5000` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -55,7 +55,7 @@ docker pull redis:alpine docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" diff --git a/wiki/docker/grimsi_-_gameyfin.md b/wiki/docker/grimsi_-_gameyfin.md index ff87d96..44c673b 100644 --- a/wiki/docker/grimsi_-_gameyfin.md +++ b/wiki/docker/grimsi_-_gameyfin.md @@ -11,7 +11,7 @@ gameyfin_config`. Make sure to run the following command on the config volume `chown -R 1000:root gameyfin_config`. Afterwards run `./rebuild.sh`. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -23,7 +23,7 @@ docker-compose file. | `GAMEYFIN_IGDB_API_CLIENT_ID` | id of twitch internet game database | | | `GAMEYFIN_IGDB_API_CLIENT_SECRET` | secret of twitch internet game database | | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -31,7 +31,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | ----------------------- | ------------------------------ | | `media_games` | `/opt/gameyfin-library` | storage for games and configs | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -40,7 +40,7 @@ Set the following ports in the `ports:` section. | `8080` | `8093` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -48,7 +48,7 @@ docker-compose down docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" diff --git a/wiki/docker/haugene_-_transmission-openvpn.md b/wiki/docker/haugene_-_transmission-openvpn.md index 1a15ec3..42bcf19 100644 --- a/wiki/docker/haugene_-_transmission-openvpn.md +++ b/wiki/docker/haugene_-_transmission-openvpn.md @@ -13,7 +13,7 @@ To see which providers are supported take a look at the [official documentation](https://haugene.github.io/docker-transmission-openvpn/supported-providers/). Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -26,7 +26,7 @@ Set the following variables with the -e tag. | `CREATE_TUN_DEVICE` | Use a tunnel device | ` ` | | `WEBPROXY_ENABLES` | Use a webproxy | ` ` | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -36,7 +36,7 @@ Set the following volumes with the -v tag. | `transmission data` | `/data` | Storage for data | | `/etc/localtime` | `/etc/localtime:ro` | Link to the systemtime | -## Ports +### Ports Set the following ports with the -p tag. @@ -44,7 +44,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `9091` | `9091` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/henrywhitaker3_-_speedtest-tracker.md b/wiki/docker/henrywhitaker3_-_speedtest-tracker.md index 6696dc8..afbfd8c 100644 --- a/wiki/docker/henrywhitaker3_-_speedtest-tracker.md +++ b/wiki/docker/henrywhitaker3_-_speedtest-tracker.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -19,7 +19,7 @@ Set the following variables with the -e tag. | `OOKLA_EULA_GDPR` | set to `true` to accept EULA | | | `AUTH` | set to `true` to enable login | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -27,7 +27,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ------------------ | | `speedtest` | `/config` | storage for config | -## Ports +### Ports Set the following ports with the -p tag. @@ -35,7 +35,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `80` | `8765` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/homeassistant_-_home-assistant.md b/wiki/docker/homeassistant_-_home-assistant.md index fd21a59..b595537 100644 --- a/wiki/docker/homeassistant_-_home-assistant.md +++ b/wiki/docker/homeassistant_-_home-assistant.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -18,7 +18,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ------------------------------- | | `homeassistant_data` | `/config` | configuration for devices, etc | -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -27,12 +27,12 @@ docker-compose file. | --------------------- | --------------------------- | ----------------------- | | `TZ` | specify the timezone | `` | -## Additional +### Additional The container needs acces to the host network. This will at the same time expose port 8123 as web interface. -## rebuild.sh +### rebuild.sh ```sh docker run --name homeassistant \ diff --git a/wiki/docker/itzg_-_minecraft-server.md b/wiki/docker/itzg_-_minecraft-server.md index fcc25a9..06d476f 100755 --- a/wiki/docker/itzg_-_minecraft-server.md +++ b/wiki/docker/itzg_-_minecraft-server.md @@ -10,7 +10,7 @@ The container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -24,7 +24,7 @@ Set the following variables with the -e tag. | `ICON` | Link the Icon of the Server | | | `MOTD` | Set the Message of the day | "A Paper Minecraft Server powered by Docker" | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -32,7 +32,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ------------------------------ | | `minecraft` | `/data` | location for all relevant data | -## Ports +### Ports Set the following ports with the -p tag. @@ -40,7 +40,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | --------- | ------------------ | | `25565` | `25565` | Minecraft | Port for Minecraft | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -60,3 +60,25 @@ docker run --name minecraft \ -e MOTD="Message of the day" \ -d itzg/minecraft-server ``` + +## Usage + +This section addresses the usage of the minecraft-server container. + +### Installing Mods + +Mods can be installed as described in the +[corresponding article of the official documentation](https://github.com/itzg/docker-minecraft-server/blob/master/docs/mods-and-plugins/index.md). +For this set the server type by using the `-e TYPE=<type>` flag. +`<type>` is the API that is used as the core library. +Most notably this value could be `FABRIC` or `FORGE`. +After this the mods (as `.jar` files) can be placed in the `mods` directory of the +[Docker](/wiki/docker.md) volume. +Afterwards run the [`rebuild.sh`](#rebuildsh) to restart the server with loaded mods. + +#### Installing Datapacks + +The installation of datapacks is done similar to the described process in the +[corresponding section of the minecraft entry](/wiki/games/minecraft.md#installing-datapacks). +The only difference is the path to place the `.zip` datapack files in which is `world/datapacks` in +case of this [Docker](/wiki/docker.md) image. diff --git a/wiki/docker/iv-org_-_invidious.md b/wiki/docker/iv-org_-_invidious.md index b762bd0..2625087 100755 --- a/wiki/docker/iv-org_-_invidious.md +++ b/wiki/docker/iv-org_-_invidious.md @@ -17,7 +17,7 @@ just created folder. You can find the `docker-compose.yml` in the cloned directory. Set the variables, volumes and ports according and run the `rebuild.sh`. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -39,7 +39,7 @@ docker-compose file. | `popular_enabled` | enable the popular section | `true` | | `registration_enabled` | enable registration for new users | `true` | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -47,7 +47,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `3000` | `3000` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -59,7 +59,7 @@ docker-compose up -d cd .. ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" diff --git a/wiki/docker/jkarlos_-_git-server-docker.md b/wiki/docker/jkarlos_-_git-server-docker.md index c584a20..7c7c202 100644 --- a/wiki/docker/jkarlos_-_git-server-docker.md +++ b/wiki/docker/jkarlos_-_git-server-docker.md @@ -9,7 +9,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -18,7 +18,7 @@ Set the following volumes with the -v tag. | `git-server_repos` | `/git-server/repos` | storage for git repos | | `git-server_keys` | `/git-server/keys` | storage for user ssh keys | -## Ports +### Ports Set the following ports with the -p tag. @@ -26,7 +26,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ------------------------------------- | | `22` | `2222` | TCP | ssh port for accessing the git server | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/johnktims_-_folding-at-home.md b/wiki/docker/johnktims_-_folding-at-home.md index 51be612..f19c1a9 100644 --- a/wiki/docker/johnktims_-_folding-at-home.md +++ b/wiki/docker/johnktims_-_folding-at-home.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Ports +### Ports Set the following ports with the -p tag. @@ -18,7 +18,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `7396` | `7396` | TCP | WebUI | -## Additional +### Additional There are some special variables to set. @@ -28,11 +28,7 @@ There are some special variables to set. | `--power` | set the default power to fold at home | | `--team` | set your teamid to contribute points | -### GPU - -GPU support is documented in [the docker article](../docker.md). - -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -48,3 +44,9 @@ docker run --name folding-at-home \ --power=full \ --team=000000 ``` + +## Usage + +### GPU-Support + +GPU support is documented in [the docker article](../docker.md). diff --git a/wiki/docker/jonohill_-_docker-openvpn-proxy.md b/wiki/docker/jonohill_-_docker-openvpn-proxy.md index 630688f..176c6ba 100644 --- a/wiki/docker/jonohill_-_docker-openvpn-proxy.md +++ b/wiki/docker/jonohill_-_docker-openvpn-proxy.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -18,7 +18,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ------------------------ | | `ovpn-proxy` | `/config` | storage for openvpn data | -## Ports +### Ports Set the following ports with the -p tag. @@ -26,7 +26,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ------------ | | `9050` | `8080` | HTTP | proxy port | -## Environment-Variables +### Environment-Variables Set the following variables with the -e tag. @@ -36,7 +36,7 @@ Set the following variables with the -e tag. | `OPENVPN_USERNAME` | username for OpenVPN | ` ` | | `OPENVPN_PASSWORD` | password for OpenVPN | ` ` | -## Additional +### Additional There are some special variables to set. @@ -46,7 +46,7 @@ There are some special variables to set. | `--device` | connect devices | | `--sysctl` | configure systemctl | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/kylemanna_-_openvpn.md b/wiki/docker/kylemanna_-_openvpn.md index 2a76302..73b8b64 100644 --- a/wiki/docker/kylemanna_-_openvpn.md +++ b/wiki/docker/kylemanna_-_openvpn.md @@ -22,21 +22,7 @@ docker run -v openvpn:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki Afterwards run `./rebuild.sh`. -## Usage - -### Create Certificates - -Each device that connects to the [OpenVPN](/wiki/openvpn.md) server should -have a certificate to connect by. -Create a certificate and retrieve it by running the following commands. -Change all occurences of `<CLIENTNAME>` to the name of the client. - -```sh -docker run -v openvpn:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full <CLIENTNAME> nopass -docker run -v openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient <CLIENTNAME> > <CLIENTNAME>.ovpn -``` - -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -44,7 +30,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ------------------------ | | `ovpn` | `/etc/openvpn` | storage for openvpn data | -## Ports +### Ports Set the following ports with the -p tag. @@ -52,7 +38,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ------------ | | `1194` | `1194` | UDP | openvpn port | -## Additional +### Additional There are some special variables to set. @@ -60,7 +46,7 @@ There are some special variables to set. | ----------- | ---------------------- | | `--cap-add` | add linux capabilities | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -74,3 +60,17 @@ docker run --name openvpn \ -v ovpn:/etc/openvpn \ -d kylemanna/openvpn ``` + +## Usage + +### Create Certificates + +Each device that connects to the [OpenVPN](/wiki/openvpn.md) server should +have a certificate to connect by. +Create a certificate and retrieve it by running the following commands. +Change all occurences of `<CLIENTNAME>` to the name of the client. + +```sh +docker run -v openvpn:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full <CLIENTNAME> nopass +docker run -v openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient <CLIENTNAME> > <CLIENTNAME>.ovpn +``` diff --git a/wiki/docker/linuxserver_-_airsonic-advanced.md b/wiki/docker/linuxserver_-_airsonic-advanced.md index a24e229..6c063eb 100644 --- a/wiki/docker/linuxserver_-_airsonic-advanced.md +++ b/wiki/docker/linuxserver_-_airsonic-advanced.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -20,7 +20,7 @@ Set the following variables with the -e tag. | `PGID` | GroupID | | | `TZ` | Timezone | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -33,7 +33,7 @@ Set the following volumes with the -v tag. | `media_audiobooks` | `/audiobooks` | Location for audiobooks | | `media_podcasts` | `/podcasts` | location for podcasts | -## Ports +### Ports Set the following ports with the -p tag. @@ -41,7 +41,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `4040` | `4040` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/linuxserver_-_airsonic.md b/wiki/docker/linuxserver_-_airsonic.md index 32b6f8a..34db6f3 100644 --- a/wiki/docker/linuxserver_-_airsonic.md +++ b/wiki/docker/linuxserver_-_airsonic.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -20,7 +20,7 @@ Set the following variables with the -e tag. | `PGID` | GroupID | | | `TZ` | Timezone | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -33,7 +33,7 @@ Set the following volumes with the -v tag. | `media_audiobooks` | `/audiobooks` | Location for audiobooks | | `media_podcasts` | `/podcasts` | location for podcasts | -## Ports +### Ports Set the following ports with the -p tag. @@ -41,7 +41,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `4040` | `4040` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/linuxserver_-_freshrss.md b/wiki/docker/linuxserver_-_freshrss.md index 86ad719..d01e97f 100644 --- a/wiki/docker/linuxserver_-_freshrss.md +++ b/wiki/docker/linuxserver_-_freshrss.md @@ -11,7 +11,7 @@ This docker-rebuild is made up by a `docker-compose.yml` file. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -22,7 +22,7 @@ docker-compose file. | `PGID` | Groupid to run the container | | | `TZ` | specify the timezone | | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -30,7 +30,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | --------------- | ------------------------------------ | | `config` | `/config` | storage for config files of jellyfin | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -38,7 +38,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `7008` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -47,7 +47,7 @@ docker pull lscr.io/linuxserver/freshrss:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2.1" diff --git a/wiki/docker/linuxserver_-_jellyfin.md b/wiki/docker/linuxserver_-_jellyfin.md index 852cb3e..1a8d5eb 100644 --- a/wiki/docker/linuxserver_-_jellyfin.md +++ b/wiki/docker/linuxserver_-_jellyfin.md @@ -11,7 +11,7 @@ This docker-rebuild is made up by a `docker-compose.yml` file. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -22,7 +22,7 @@ docker-compose file. | `PGID` | Groupid to run the container | | | `TZ` | specify the timezone | | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -40,7 +40,7 @@ it is recommended to use them as external volumes (volumes section: To use the rebuild the volumes have to exist before creating the container (`docker volume create media_movies` and tvshows accordingly). -## Ports +### Ports Set the following ports in the `ports:` section. @@ -48,7 +48,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `8096` | `8096` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -57,7 +57,7 @@ docker pull linuxserver/jellyfin:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2" diff --git a/wiki/docker/linuxserver_-_lidarr.md b/wiki/docker/linuxserver_-_lidarr.md index 06f0bf3..c2662bc 100644 --- a/wiki/docker/linuxserver_-_lidarr.md +++ b/wiki/docker/linuxserver_-_lidarr.md @@ -21,7 +21,7 @@ This namely causes the following line in the - /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional ``` -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -32,7 +32,7 @@ docker-compose file. | `PGID` | group id for container user | `1000` | | `TZ` | specify the timezone | `Etc/UTC` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -41,7 +41,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `config` | `/config` | directory for config | | `complete` | `/music` | directory for music | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -49,7 +49,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ------------ | | `8686` | `8686` | TCP | webUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -58,7 +58,7 @@ docker pull lscr.io/linuxserver/lidarr:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2.1" diff --git a/wiki/docker/linuxserver_-_radarr.md b/wiki/docker/linuxserver_-_radarr.md index 7eeefc9..60d6f24 100644 --- a/wiki/docker/linuxserver_-_radarr.md +++ b/wiki/docker/linuxserver_-_radarr.md @@ -21,7 +21,7 @@ This namely causes the following line in the - /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional ``` -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -32,7 +32,7 @@ docker-compose file. | `PGID` | group id for container user | `1000` | | `TZ` | specify the timezone | `Etc/UTC` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -41,7 +41,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `config` | `/config` | directory for config | | `complete` | `/movies` | directory for music | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -49,7 +49,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ------------ | | `7878` | `7878` | TCP | webUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -58,7 +58,7 @@ docker pull lscr.io/linuxserver/radarr:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2.1" diff --git a/wiki/docker/linuxserver_-_sonarr.md b/wiki/docker/linuxserver_-_sonarr.md index b95a299..ba1710f 100644 --- a/wiki/docker/linuxserver_-_sonarr.md +++ b/wiki/docker/linuxserver_-_sonarr.md @@ -21,7 +21,7 @@ This namely causes the following line in the - /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional ``` -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -32,7 +32,7 @@ docker-compose file. | `PGID` | group id for container user | `1000` | | `TZ` | specify the timezone | `Etc/UTC` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -41,7 +41,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `config` | `/config` | directory for config | | `complete` | `/tv` | directory for music | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -49,7 +49,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ------------ | | `8989` | `8989` | TCP | webUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -58,7 +58,7 @@ docker pull lscr.io/linuxserver/sonarr:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2.1" diff --git a/wiki/docker/linuxserver_-_syncthing.md b/wiki/docker/linuxserver_-_syncthing.md index 09424e6..6ce9b4b 100644 --- a/wiki/docker/linuxserver_-_syncthing.md +++ b/wiki/docker/linuxserver_-_syncthing.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -21,7 +21,7 @@ Set the following variables with the -e tag. | `TZ` | Timezone | | | `UMASK_SET` | setting usermask | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -29,7 +29,7 @@ Set the following volumes with the -v tag. | ------------------ | --------------- | ----------------------------------------------- | | `syncthing_config` | `/config` | storage for config and possible downloaded data | -## Ports +### Ports Set the following ports with the -p tag. @@ -39,7 +39,7 @@ Set the following ports with the -p tag. | `22000` | `22000` | TCP | Syncthing internal | | `21027` | `21027` | UDP | Syncthing internal | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/linuxserver_-_tvheadend.md b/wiki/docker/linuxserver_-_tvheadend.md index 9312344..07eb145 100644 --- a/wiki/docker/linuxserver_-_tvheadend.md +++ b/wiki/docker/linuxserver_-_tvheadend.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -22,7 +22,7 @@ docker-compose file. | `TZ` | specify the timezone | `Europe/London` | | `RUN_OPTS` | specify the timezone | ` ` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -31,7 +31,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `config` | `/config` | directory for config | | `tvdvr` | `/recordings` | directory for storage | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -49,7 +49,7 @@ docker pull lscr.io/linuxserver/tvheadend:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2.1" diff --git a/wiki/docker/mailserver_-_docker-mailserver.md b/wiki/docker/mailserver_-_docker-mailserver.md index 555e891..2dfd60a 100644 --- a/wiki/docker/mailserver_-_docker-mailserver.md +++ b/wiki/docker/mailserver_-_docker-mailserver.md @@ -38,7 +38,7 @@ Finally if a reverse proxy is used check the Afterwards you're ready to go by once again running the `rebuild.sh` file. -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/mariadb.md b/wiki/docker/mariadb.md index 9197f08..4e9a5f1 100644 --- a/wiki/docker/mariadb.md +++ b/wiki/docker/mariadb.md @@ -5,7 +5,15 @@ The official container and documentation was made by [mariadb](https://hub.docke The Docker container is mainly used in combination with other containers. To achieve this in the easiest way use a docker-compose file. -## Environment-variables +## Set-Up + +The mariadb Docker container is dependent on another container most of the time. +The exact setup will be described in the regarding entry. +Nevertheless both environment variables and volumes are listed in the sections below. +Nevertheless both environment variables and volumes and networks are listed in the sections below. +These are needed most often. + +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -17,10 +25,15 @@ docker-compose file. | `MYSQL_PASSWORD` | set the mysql user password | | | `MYSQL_Database` | specify mysql database to use | | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. | Outside mount/volume name | Container mount | Description | | ------------------------- | ---------------- | ------------------------- | | `mysql` | `/var/lib/mysql` | storage for owncloud data | + +### Networks + +You can set networks in the `networks:` part of a docker-compose file to connect +the database with other docker containers. diff --git a/wiki/docker/massivedecks_-_client.md b/wiki/docker/massivedecks_-_client.md new file mode 100644 index 0000000..b9d19fa --- /dev/null +++ b/wiki/docker/massivedecks_-_client.md @@ -0,0 +1,97 @@ +# massivedecks - client + +This is a [Docker](/wiki/docker.md) container for a [Massive Deecks](/wiki/games/massive_decks.md) +client. +Due to ease of use this entry will also feature the server container. +The official container and documentation was made by +[Lattyware](https://github.com/Lattyware/massivedecks). +This docker-rebuild is made up by a `docker-compose.yml` file. +In addition to the client and server containers a [postgres container](/wiki/docker/postgres.md) +needs to be connected. + +## Set-up + +Create the files `rebuild.sh`, `.env` and `docker-compose.yml` at the same +place. +Make sure to set `POSTGRES_PASSWORD`. +Change the settings according to your needs and run `./rebuild.sh` afterwards. + +### Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | ----------- | +| `8080` | `8080` | TCP | WebUI | + +### Environment-variables + +Set the following environment-variables in the `environment:` section of the +docker-compose file. + +| Name | Usage | Default | +| ----------- | ----------------------- | ----------------- | +| `NODE_ENV` | Setting the environment | `production` | + +### rebuild.sh + +```sh +#!/bin/sh +docker-compose down +docker pull postgres:14 +docker pull ghcr.io/lattyware/massivedecks/server:latest-release +docker pull ghcr.io/lattyware/massivedecks/client:latest-release +docker-compose up -d +``` + +### docker-compose.yml + +```yml +version: "3.3" +services: + storage: + image: "postgres:14" + restart: unless-stopped + environment: + - POSTGRES_USER=massivedecks + - POSTGRES_PASSWORD=<password> + networks: + - internal + volumes: + - storage-volume:/var/lib/postgresql/data + + server: + image: "ghcr.io/lattyware/massivedecks/server:latest-release" + restart: unless-stopped + environment: + - NODE_ENV=production + depends_on: + - storage + networks: + - internal + configs: + - source: md_server_config + target: /md/config.json5 + + client: + image: "ghcr.io/lattyware/massivedecks/client:latest-release" + restart: unless-stopped + depends_on: + - server + networks: + - internal + ports: + - "8080:8080" + +networks: + internal: + external: false + +volumes: + storage-volume: + driver: local + +configs: + md_server_config: + external: true +``` diff --git a/wiki/docker/matrixdotorg_-_synapse.md b/wiki/docker/matrixdotorg_-_synapse.md index 113b346..b27b08b 100644 --- a/wiki/docker/matrixdotorg_-_synapse.md +++ b/wiki/docker/matrixdotorg_-_synapse.md @@ -11,7 +11,7 @@ This docker-rebuild is made up by a `docker-compose.yml` file. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -24,7 +24,7 @@ docker-compose file. | `GID` | group id for synapse user | `1000` | | `TZ` | specify the timezone | `Europe/London` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -32,7 +32,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | --------------- | --------------------------------- | | `synapse` | `/data` | directory for storage and configs | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -40,7 +40,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ---------------------- | | `8008` | `443` | TCP | matrix homeserver port | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -49,7 +49,7 @@ docker pull matrixdotorg/synapse:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml services: diff --git a/wiki/docker/mikenye_-_picard.md b/wiki/docker/mikenye_-_picard.md index aac2fce..ac1c163 100644 --- a/wiki/docker/mikenye_-_picard.md +++ b/wiki/docker/mikenye_-_picard.md @@ -11,7 +11,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -22,7 +22,7 @@ Set the following variables with the -e tag. | `DISPLAY_WIDTH` | Width of software | `1280` | | `DISPLAY_HEIGHT` | Height of software | `768` | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -31,7 +31,7 @@ Set the following volumes with the -v tag. | `config` | `/config` | Configuration files | | `media_music` | `/storage` | Location for audio files | -## Ports +### Ports Set the following ports with the -p tag. @@ -41,7 +41,7 @@ Set the following ports with the -p tag. | `5900` | `5900` | TCP | VNC | | `8000` | `8000` | TCP | Picard browser integration | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/mysql.md b/wiki/docker/mysql.md index 3ab043b..d9265b1 100644 --- a/wiki/docker/mysql.md +++ b/wiki/docker/mysql.md @@ -6,7 +6,14 @@ The official container and documentation was made by The Docker container is mainly used in combination with other containers. To achieve this in the easiest way use a docker-compose file -## Environment-variables +## Set-Up + +The mysql Docker container is dependent on another container most of the time. +The exact setup will be described in the regarding entry. +Nevertheless both environment variables and volumes and networks are listed in the sections below. +These are needed most often. + +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -18,7 +25,7 @@ docker-compose file. | `MYSQL_PASSWORD` | set the mysql user password | | | `MYSQL_Database` | specify mysql database to use | | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -26,7 +33,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | ---------------- | ------------------------- | | `mysql` | `/var/lib/mysql` | storage for owncloud data | -## Networks +### Networks You can set networks in the `networks:` part of a docker-compose file to connect the database with other docker containers. diff --git a/wiki/docker/nextcloud.md b/wiki/docker/nextcloud.md index 9ea7ac1..3cab747 100644 --- a/wiki/docker/nextcloud.md +++ b/wiki/docker/nextcloud.md @@ -23,7 +23,7 @@ mariadb:9 Make sure to substitute all the occurences of the `:latest` tag accordingly. Updating has to be done manually so nothing breaks. -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -31,7 +31,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | --------------- | ---------------------------------------- | | `nextcloud` | `/var/www/html` | storage for nextcloud plugins and config | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -39,7 +39,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `80` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -49,7 +49,7 @@ docker pull mariadb:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: '2' diff --git a/wiki/docker/nginx.md b/wiki/docker/nginx.md index 00e027a..532e40c 100644 --- a/wiki/docker/nginx.md +++ b/wiki/docker/nginx.md @@ -11,7 +11,7 @@ This docker-rebuild is made up by a `docker-compose.yml` file. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -19,7 +19,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | -------------------- | --------------------------- | | `nginx` | `/etc/nginx/conf.d/` | directory for nginx configs | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -28,7 +28,7 @@ Set the following ports in the `ports:` section. | `80` | `80` | TCP | http port | | `443` | `443` | TCP | https port | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -37,7 +37,7 @@ docker pull nginx:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2" diff --git a/wiki/docker/olbat_-_cupsd.md b/wiki/docker/olbat_-_cupsd.md index 55c476b..27ddb0c 100644 --- a/wiki/docker/olbat_-_cupsd.md +++ b/wiki/docker/olbat_-_cupsd.md @@ -9,7 +9,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -18,7 +18,7 @@ Set the following volumes with the -v tag. | `cups` | `/etc/cups` | configuration for printers, etc | | `/var/run/dbus` | `/var/run/dbus` | connection to host dbus | -## Ports +### Ports Set the following ports with the -p tag. @@ -26,11 +26,11 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------------- | | `631` | `631` | TCP | cups server webui | -## Additional +### Additional The default username is `print`, the default password is `print`. -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/owncloud.md b/wiki/docker/owncloud.md index 0f95d86..ba025b3 100644 --- a/wiki/docker/owncloud.md +++ b/wiki/docker/owncloud.md @@ -13,7 +13,7 @@ Docker container. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -22,7 +22,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `owncloud` | `/var/www/html` | storage for owncloud plugins | | `config` | `/var/www/html/config` | storage for owncloud config | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -30,7 +30,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `80` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -40,7 +40,7 @@ docker pull mariadb docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3.1" diff --git a/wiki/docker/oznu_-_docker-cloudflare-ddns.md b/wiki/docker/oznu_-_docker-cloudflare-ddns.md index c215bcf..9a90f10 100644 --- a/wiki/docker/oznu_-_docker-cloudflare-ddns.md +++ b/wiki/docker/oznu_-_docker-cloudflare-ddns.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment variables +### Environment variables Set the following variables with the -e tag. @@ -20,7 +20,7 @@ Set the following variables with the -e tag. | `ZONE=` | append your domain (for example `main.com`) | | `SUBDOMAIN` | append your subdomain (for example `dynamic`) | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/oznu_-_onedrive.md b/wiki/docker/oznu_-_onedrive.md index 671b083..08ed8bb 100644 --- a/wiki/docker/oznu_-_onedrive.md +++ b/wiki/docker/oznu_-_onedrive.md @@ -8,7 +8,7 @@ The official container and documentation was made by [oznu](https://hub.docker.c Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -17,7 +17,7 @@ Set the following variables with the -e tag. | `PUID` | UserID | | | `PGID` | GroupID | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -26,7 +26,7 @@ Set the following volumes with the -v tag. | `onedrive_config` | `/config` | configuration storage for the server connection | | `onedrive_doc` | `/documents` | storage for downloaded documents | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/portainer_-_agent.md b/wiki/docker/portainer_-_agent.md index bf8783c..75b2614 100644 --- a/wiki/docker/portainer_-_agent.md +++ b/wiki/docker/portainer_-_agent.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -19,7 +19,7 @@ Set the following volumes with the -v tag. | `/var/run/docker.sock` | `/var/run/docker.sock` | connect your running docker containers | | `/var/lib/docker/volumes` | `/var/lib/docker/volumes` | connect running docker volumes | -## Ports +### Ports Set the following ports with the -p tag. @@ -27,7 +27,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | -------------------- | | `9001` | `9001` | TCP | Portainer agent port | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/portainer_-_portainer.md b/wiki/docker/portainer_-_portainer.md index 1e9f474..46b9a62 100644 --- a/wiki/docker/portainer_-_portainer.md +++ b/wiki/docker/portainer_-_portainer.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -19,7 +19,7 @@ Set the following volumes with the -v tag. | `portainer` | `/data` | configuration directory | | `/var/run/docker.sock` | `/var/run/docker.sock` | connection to local docker containers and volumes | -## Ports +### Ports Set the following ports with the -p tag. @@ -27,7 +27,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `9000` | `9000` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/postgres.md b/wiki/docker/postgres.md index 2254d4a..4bae69a 100644 --- a/wiki/docker/postgres.md +++ b/wiki/docker/postgres.md @@ -1,4 +1,4 @@ -# Postgres +# postgres This is a [Docker](/wiki/docker.md) container for a postgresql database. The official container and documentation was made by @@ -6,7 +6,15 @@ The official container and documentation was made by The Docker container is mainly used in combination with other containers. To achieve this in the easiest way use a docker-compose file -## Environment-variables +## Set-Up + +The postgres Docker container is dependent on another container most of the time. +The exact setup will be described in the regarding entry. +Nevertheless both environment variables and volumes are listed in the sections below. +Nevertheless both environment variables and volumes and networks are listed in the sections below. +These are needed most often. + +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -18,7 +26,7 @@ docker-compose file. | `POSTGRES_PASSWORD` | set the postgres user password | | | `POSTGRES_DB` | specify postgres database to use | | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -27,7 +35,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `postgres` | `/var/lib/postgresql/data` | storage for owncloud data | | `postgres_config` | `/config/sql` | initial sql setup and config | -## Networks +### Networks You can set networks in the `networks:` part of a docker-compose file to connect the database with other docker containers. diff --git a/wiki/docker/prologic_-_golinks.md b/wiki/docker/prologic_-_golinks.md index bcb397e..be24f57 100644 --- a/wiki/docker/prologic_-_golinks.md +++ b/wiki/docker/prologic_-_golinks.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -18,7 +18,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | -------------------------- | | `golinks` | `/search.db` | database with all commands | -## Ports +### Ports Set the following ports with the -p tag. @@ -26,7 +26,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `8000` | `8000` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -35,7 +35,7 @@ docker pull prologic/golinks:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3.1" diff --git a/wiki/docker/prologic_-_gopherproxy.md b/wiki/docker/prologic_-_gopherproxy.md index f585bdd..642bcdd 100644 --- a/wiki/docker/prologic_-_gopherproxy.md +++ b/wiki/docker/prologic_-_gopherproxy.md @@ -9,7 +9,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Ports +### Ports Set the following ports with the -p tag. @@ -17,7 +17,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ---------------------------------------- | | `8000` | `8000` | TCP | port to proxy the gopher site as http to | -## Additional +### Additional There are some special variables to set. @@ -25,7 +25,7 @@ There are some special variables to set. | ------ | ------------------------------------------------------------- | | `-uri` | define the gopher site to proxy (just 'domain.tld' is enough) | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/prologic_-_todo.md b/wiki/docker/prologic_-_todo.md index 73f4c2e..f6922a9 100644 --- a/wiki/docker/prologic_-_todo.md +++ b/wiki/docker/prologic_-_todo.md @@ -9,7 +9,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -17,7 +17,7 @@ Set the following volumes with the -v tag. | ------------------------- | ---------------------- | ---------------------- | | `todo` | `/go/src/todo/todo.db` | Database for todo list | -## Ports +### Ports Set the following ports with the -p tag. @@ -25,7 +25,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `8000` | `8000` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/rblsb_-_synctube.md b/wiki/docker/rblsb_-_synctube.md index ed204a6..55d49a0 100644 --- a/wiki/docker/rblsb_-_synctube.md +++ b/wiki/docker/rblsb_-_synctube.md @@ -15,7 +15,7 @@ Then build the image inside the git folder with `docker build -t synctube .`. Set the variables, volumes and ports according and run the `rebuild.sh`. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -23,7 +23,7 @@ Set the following volumes with the -v tag. | ------------------------- | ------------------- | ------------------- | | `synctube` | `/usr/src/app/user` | Configuration files | -## Ports +### Ports Set the following ports with the -p tag. @@ -31,7 +31,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `4200` | `4200` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/redis.md b/wiki/docker/redis.md index ee551fa..7e93a3e 100644 --- a/wiki/docker/redis.md +++ b/wiki/docker/redis.md @@ -6,10 +6,23 @@ The official container and documentation was made by The Docker container is mainly used in combination with other containers. To achieve this in the easiest way use a docker-compose file. -## Volumes +## Set-Up + +The redis Docker container is dependent on another container most of the time. +The exact setup will be described in the regarding entry. +Nevertheless both volumes and networks are listed in the sections below. +These are needed most often. + +### Volumes + Set the following volumes in the `volumes:` section of the docker-compose file. | Outside mount/volume name | Container mount | Description | | ------------------------- | --------------- | -------------------- | | `redis` | `/data` | storage for all data | + +### Networks + +You can set networks in the `networks:` part of a docker-compose file to connect +the database with other docker containers. diff --git a/wiki/docker/rlister_-_hastebin.md b/wiki/docker/rlister_-_hastebin.md index 7cc3ae0..2f27c47 100644 --- a/wiki/docker/rlister_-_hastebin.md +++ b/wiki/docker/rlister_-_hastebin.md @@ -9,7 +9,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -17,7 +17,7 @@ Set the following variables with the -e tag. | -------------- | ----------------------- | ------- | | `STORAGE_TYPE` | Type to store the datas | `file` | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -25,7 +25,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | -------------------------- | | `hastebin` | `/app/data` | storage directory for data | -## Ports +### Ports Set the following ports with the -p tag. @@ -33,7 +33,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `7777` | `7777` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/samba.md b/wiki/docker/samba.md index b2b2c79..a36fb24 100644 --- a/wiki/docker/samba.md +++ b/wiki/docker/samba.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -23,7 +23,7 @@ Set the following volumes with the -v tag. | `samba_etc` | `/etc` | etc directory of samba server | | `samba_log` | `/var/log/samba` | storage for samba logs | -## Ports +### Ports Set the following ports with the -p tag. @@ -32,7 +32,7 @@ Set the following ports with the -p tag. | `139` | `139` | TCP | Samba internal | | `445` | `445` | TCP | Samba internal | -## Additional +### Additional There are some special variables to set. @@ -42,7 +42,7 @@ There are some special variables to set. | `-w \<workgroup\>` | define workgroup | | `-s \<name;path\>(;browse;readonly;guest;users;admins;writelist;comment)` | define shares | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/searx_-_searx.md b/wiki/docker/searx_-_searx.md index b244da4..b4847e3 100644 --- a/wiki/docker/searx_-_searx.md +++ b/wiki/docker/searx_-_searx.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -19,7 +19,7 @@ Set the following volumes with the -v tag. | `searx_etc` | `/etc/searx` | storage for etc | | `searx_log` | `/var/log/uwsgi` | storage for logs | -## Ports +### Ports Set the following ports with the -p tag. @@ -27,7 +27,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `8080` | `8080` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -35,7 +35,7 @@ docker-compose down docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```sh version: "2.1" diff --git a/wiki/docker/sinusbot_-_docker.md b/wiki/docker/sinusbot_-_docker.md new file mode 100644 index 0000000..220a9ff --- /dev/null +++ b/wiki/docker/sinusbot_-_docker.md @@ -0,0 +1,116 @@ +# sinusbot - docker + +This is a [Docker](/wiki/docker.md) container for a [Sinusbot](/wiki/sinusbot.md). +The Server consists of a single Docker container. + +## Set-up + +Create the files `rebuild.sh` and `docker-compose.yml` at the same place. + +The `docker-compose.yml` file includes a network section. +This is only needed if the [Teamspeak](/wiki/teamspeak.md) server is set up on the same machine. +If it is not the network `teamspeak` may be removed. +If it Teamspeak and Sinusbot are set up on the same machine make sure to include the `teamspeak` +network in the [Teamspeak Docker container](/wiki/docker/teamspeak.md) and set an alias. +Include the follwing lines in your teamspeak `docker-compose.yml` file under the `teamspeak3` +service. + +```yml +networks: + teamspeak: + aliases: + - ts3.docker.local +``` + +Add the following lines at the end of the `docker-compose.yml` or add it to the definition of +already existing networks. + +```yml +networks: + teamspeak: + external: true +``` + +Finally make sure to create the external network `teamspeak` before starting the containers. +This can be done by running the following command. + +```sh +docker network create teamspeak +``` + +The Teamspeak server can then be found by Sinusbot under host `ts3.docker.local` and port `9987`. + +Change the other settings according to your needs and run `./rebuild.sh` afterwards. + +### Environment-variables + +Set the following environment-variables in the `environment:` section of the +docker-compose file. + +| Name | Usage | Default | +| ----------- | ------------------------------ | ------- | +| `UID` | User userid to run gitea | | +| `GID` | User groupid to run gitea | | + +### Volumes + +Set the following volumes in the `volumes:` section of the docker-compose file. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | ----------------------- | ------------------------------------- | +| `sinusbot_scripts` | `/opt/sinusbot/scripts` | storage for the sinusbot scripts | +| `sinusbot_data` | `/opt/sinusbot/data` | storage for the most of sinusbot data | + +### Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | ---------------------- | +| `8087` | `8087` | TCP | WebUI | + +### Networks + +Set the following networks in the `networks:` section of the docker-compose file. + +| Name | Usage | +| ----------- | ---------------------------- | +| `teamspeak` | connect with local teamspeak | + + +### rebuild.sh + +```sh +#!/bin/sh +docker-compose down +docker pull sinusbot/docker:latest +docker-compose up -d +``` + +### docker-compose.yml + +```yml +version: "3.3" +services: + sinusbot: + image: "sinusbot/docker:latest" + restart: unless-stopped + environment: + - UID=1000 + - GID=1000 + networks: + - teamspeak + volumes: + - sinusbot_scripts:/opt/sinusbot/scripts + - sinusbot_data:/opt/sinusbot/data + +networks: + teamspeak: + external: true + +volumes: + sinusbot_scripts: + driver: local + sinusbot_data: + driver: local +``` diff --git a/wiki/docker/sissbrueckner_-_linkding.md b/wiki/docker/sissbrueckner_-_linkding.md index 2aa136d..8c07fd4 100644 --- a/wiki/docker/sissbrueckner_-_linkding.md +++ b/wiki/docker/sissbrueckner_-_linkding.md @@ -18,7 +18,7 @@ docker exec -it linkding python manage.py createsuperuser --username=joe --email You will be asked for a password via the commandline. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -26,7 +26,7 @@ Set the following volumes with the -v tag. | ------------------------- | ---------------------- | --------------------------- | | `linkding` | `/etc/linkding/data` | storage for persistent data | -## Ports +### Ports Set the following ports with the -p tag. @@ -34,7 +34,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `9090` | `9090` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/spikecodes_-_libreddit.md b/wiki/docker/spikecodes_-_libreddit.md index cac448c..3b4365f 100755 --- a/wiki/docker/spikecodes_-_libreddit.md +++ b/wiki/docker/spikecodes_-_libreddit.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Ports +### Ports Set the following ports with the -p tag. @@ -18,7 +18,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `8080` | `8080` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/teamspeak.md b/wiki/docker/teamspeak.md index 6de1d12..553d7bc 100644 --- a/wiki/docker/teamspeak.md +++ b/wiki/docker/teamspeak.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -18,7 +18,7 @@ Set the following variables with the -e tag. | ------------------- | ---------------------------- | ------- | | `TS3SERVER_LICENSE` | accept the license agreement | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -26,7 +26,7 @@ Set the following volumes with the -v tag. | ------------------------- | ---------------- | --------------------------- | | `teamspeak3` | `/var/ts3server` | storage for ts3-server data | -## Ports +### Ports Set the following ports with the -p tag. @@ -36,7 +36,7 @@ Set the following ports with the -p tag. | `10011` | `10011` | TCP | ts3-intern | | `30033` | `30033` | TCP | ts3-intern | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/tetricz_-_mordhau-server.md b/wiki/docker/tetricz_-_mordhau-server.md index 7362119..22d3c87 100644 --- a/wiki/docker/tetricz_-_mordhau-server.md +++ b/wiki/docker/tetricz_-_mordhau-server.md @@ -11,7 +11,7 @@ Change the settings according to your needs and run `./start.sh` to start the server. With `stop.sh` you can stop it. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -30,7 +30,7 @@ Set the following variables with the -e tag. | `SERVER_PASSWORD` | set a password | | | `ADMIN_PASSWORD` | set an admin password | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -39,7 +39,7 @@ Set the following volumes with the -v tag. | `mordhau` | `/serverdata/mordhau` | storage for mordhau server relevant data | | `mordhau_steamcmd` | `/serverdata/steamcmd` | storage for steam related data | -## Ports +### Ports Set the following ports with the -p tag. | Container Port | Recommended outside port | Protocol | Description | @@ -48,7 +48,7 @@ Set the following ports with the -p tag. | `15000` | `15000` | UDP | mordhau internal | | `27015` | `27015` | UDP | mordhau internal | -## start.sh +### start.sh ```sh #!/bin/sh @@ -75,7 +75,7 @@ docker run --name=mordhau \ tetricz/mordhau-server ``` -## stop.sh +### stop.sh ```sh #/bin/sh diff --git a/wiki/docker/tombursch_-_kitchenowl.md b/wiki/docker/tombursch_-_kitchenowl.md index 77b494d..c885c04 100644 --- a/wiki/docker/tombursch_-_kitchenowl.md +++ b/wiki/docker/tombursch_-_kitchenowl.md @@ -1,6 +1,6 @@ # tombursch - kitchenowl -This is a [Docker](/wiki/docker.md) container for a [kitchenowl](kitchenowl) +This is a [Docker](/wiki/docker.md) container for a [kitchenowl](/wiki/kitchenowl.md) server. The official container and documentation was made by [tombursch](https://github.com/tombursch/kitchenowl). @@ -14,7 +14,7 @@ place. Make sure to change `JWT_SECRET_KEY`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Ports +### Ports Set the following ports in the `ports:` section. @@ -22,7 +22,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `7890` | `80` | TCP | WebUI | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -30,7 +30,7 @@ Set the following volumes with the -v tag. | ------------------------- | -------------------------- | ------------------------ | | `kitchenowl_data` | `/data` | storage for all data | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -40,7 +40,7 @@ docker pull tombursch/kitchenowl:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" diff --git a/wiki/docker/tomsquest_-_docker-radicale.md b/wiki/docker/tomsquest_-_docker-radicale.md index 58f7401..a6ee7ca 100644 --- a/wiki/docker/tomsquest_-_docker-radicale.md +++ b/wiki/docker/tomsquest_-_docker-radicale.md @@ -14,7 +14,7 @@ Create a volume with the name `radicale_config`. Then create the `config` file in the volume `radicale_config`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -23,7 +23,7 @@ Set the following volumes with the -v tag. | `radicale_data` | `/data` | storage for caldav | | `radicale_config` | `/config` | storage for radicale config | -## Ports +### Ports Set the following ports with the -p tag. @@ -31,7 +31,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ------------- | | `5232` | `5232` | TCP | WebUI, caldav | -## Additional +### Additional There are some special variables to set. @@ -39,7 +39,7 @@ There are some special variables to set. | ------------- | ---------------------------------------------------------------------- | | `--read-only` | make radicale read-only, caldav can still be changed and used normally | -## rebuild.sh +### rebuild.sh ```sh #/bin/sh @@ -55,7 +55,7 @@ docker run --name radicale \ -d tomsquest/docker-radicale:2.1.11.4 ``` -## radicale\_config/\_data/config +### radicale\_config/\_data/config ```txt # -*- mode: conf -*- diff --git a/wiki/docker/traefik.md b/wiki/docker/traefik.md index 83190a4..3f1421b 100644 --- a/wiki/docker/traefik.md +++ b/wiki/docker/traefik.md @@ -13,7 +13,7 @@ Place the files `data/traefik.yml` and `data/config/dynamic.yml` in the according directories. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -25,7 +25,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | `./data/acme.json` | `/acme.json` | place to store certificates for https | | `./data/config` | `/configurations` | place for dynamically changable configs | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -34,7 +34,7 @@ Set the following ports in the `ports:` section. | `80` | `80` | TCP | http | | `443` | `443` | TCP | https | -## Networks +### Networks Set the following networks in the `networks:` section of the docker-compose file. @@ -42,7 +42,7 @@ Set the following networks in the `networks:` section of the docker-compose file | ------- | -------------------------------------- | | `proxy` | network to expose http and https ports | -## Labels +### Labels Set the following labels in the `labels:` section. @@ -58,7 +58,7 @@ Set the following labels in the `labels:` section. The first five lines are for publishing traefik under `traefik.<domain>`. The last line is to add authentication. -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -67,7 +67,7 @@ docker pull traefik:v2.4 docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" @@ -104,7 +104,7 @@ networks: ``` -## data/traefik.yml +### data/traefik.yml ```yml api: @@ -143,7 +143,7 @@ certificatesResolvers: entryPoint: web ``` -## data/config/dynamic.yml +### data/config/dynamic.yml In the config replace `username:htpasswd` with the output of `echo $(htpasswd -nb <user> <pasword>) | sed -e s/\\$/\\$\\$/g`. @@ -164,6 +164,18 @@ http: users: - "username:htpasswd" + redirect-non-www-to-www: + redirectregex: + permanent: true + regex: "^https?://(?:www\\.)?(.+)" + replacement: "https://www.${1}" + + redirect-www-to-non-www: + redirectregex: + permanent: true + regex: "^https?://www\\.(.+)" + replacement: "https://${1}" + tls: options: default: @@ -177,7 +189,13 @@ tls: minVersion: VersionTLS12 ``` -## Create reverse proxies +The sections called `redirect-non-www-to-www` and `redirect-www-to-non-www` are adapted from a +article by Benjamin Rancourt on his +[website](https://www.benjaminrancourt.ca/how-to-redirect-from-non-www-to-www-with-traefik/). + +## Usage + +### Create reverse proxies To create a reverse proxy from a docker container add the following lines in the `labels:` section of the `docker-compose.yml` of the service to proxy. @@ -195,8 +213,36 @@ This configuration automatically redirects http to https. When using this configuration the port specified in the latter lines can be ommitted in the `ports:` section if not used directly. This ensures access only via https and restricts access via ip and port. +Change `<service name>` according to the service you want to publish and `<subdomain>` aswell as +`<domain>` to the domain you intent to publish the service to. +Additionally if you want to redirect domains not starting with `www` to one that does not append +the following line. + +```yml + - "traefik.http.routers.<service name>.middlewares=redirect-non-www-to-www" +``` + +If the opposite is the case and it should always be redirected to a domain not starting with `www` +add the following line. + +```yml + - "traefik.http.routers.<service name>.middlewares=redirect-www-to-non-www" +``` + +In both of those cases the line of the first code block in this section that specifies the domain +and subdomain needs to include both the www and the non-www domains. +This should look something like the following + +Make sure to add the domain that will be redirected to the labels aswell. +For redirection to www domains this will look something like the following. + +```yml + - "traefik.http.routers.<service name>.rule=Host(`<subdomain>.<domain>`)" +``` + +In the opposite case the domain will be `www.<subdomain>.<domain>`. -## Setup Mailserver +### Setup Mailserver If setting up a [docker-mailserver by mailserver](./mailserver_-_docker-mailserver.md) no http diff --git a/wiki/docker/vabene1111_-_recipes.md b/wiki/docker/vabene1111_-_recipes.md index cba8db8..314d664 100644 --- a/wiki/docker/vabene1111_-_recipes.md +++ b/wiki/docker/vabene1111_-_recipes.md @@ -15,7 +15,7 @@ place. Make sure to set `SECRET_KEY` and `POSTGRES_PASSWORD`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Ports +### Ports Set the following ports in the `ports:` section. @@ -23,7 +23,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `8083` | `8080` | TCP | WebUI | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -32,7 +32,7 @@ Set the following volumes with the -v tag. | `staticfiles` | `/opt/recipes/staticfiles` | storage for static files | | `mediafiles` | `/opt/recipes/mediafiles` | storage for media files | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -42,7 +42,7 @@ docker pull postgres:15-alpine docker-compose up -d ``` -## .env +### .env ```sh # only set this to true when testing/debugging @@ -218,7 +218,7 @@ REVERSE_PROXY_AUTH=0 # EXPORT_FILE_CACHE_DURATION=600 ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3" diff --git a/wiki/docker/vectorim_-_riot-web.md b/wiki/docker/vectorim_-_riot-web.md index e5cb20d..4c1e8ed 100644 --- a/wiki/docker/vectorim_-_riot-web.md +++ b/wiki/docker/vectorim_-_riot-web.md @@ -11,7 +11,7 @@ This docker-rebuild is made up by a `docker-compose.yml` file. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -19,7 +19,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | --------------------- | ----------- | | `./config.json` | `/app/config.json:ro` | config file | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -27,7 +27,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `80` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -36,7 +36,7 @@ docker pull vectorim/riot-web:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "2" diff --git a/wiki/docker/ventz_-_bind.md b/wiki/docker/ventz_-_bind.md index 942e0a2..fc22a83 100644 --- a/wiki/docker/ventz_-_bind.md +++ b/wiki/docker/ventz_-_bind.md @@ -10,7 +10,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -19,7 +19,7 @@ Set the following volumes with the -v tag. | `bind_cache` | `/var/cache/bind` | cache for DNS | | `bind_etc` | `/etc/bind` | configuration for DNS | -## Ports +### Ports Set the following ports with the -p tag. @@ -28,7 +28,7 @@ Set the following ports with the -p tag. | `53` | `53` | TCP | DNS protocol port | | `53` | `53` | UDP | DNS protocol port | -## Additional +### Additional There are some special variables to set. @@ -36,7 +36,7 @@ There are some special variables to set. | ------- | ------------------------------------------------------- | | `--dns` | set two of these flags for specific DNS forward servers | -## Rebuild +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/wallabag_-_wallabag.md b/wiki/docker/wallabag_-_wallabag.md index a7c7e0e..9af9d33 100644 --- a/wiki/docker/wallabag_-_wallabag.md +++ b/wiki/docker/wallabag_-_wallabag.md @@ -12,7 +12,7 @@ and a [redis container](./redis.md) to it. Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following environment-variables in the `environment:` section of the docker-compose file. @@ -34,7 +34,7 @@ docker-compose file. | `SYMFONY__ENV__DOMAIN_NAME` | URL to wallabag instance | `https://your-wallabag-url-instance.com` | | `SYMFONY__ENV__SERVER_NAME` | Name for the wallabag server | `Your wallabag instance` | -## Volumes +### Volumes Set the following volumes in the `volumes:` section of the docker-compose file. @@ -42,7 +42,7 @@ Set the following volumes in the `volumes:` section of the docker-compose file. | ------------------------- | ------------------------------------- | -------------------------------- | | `wallabag_wallabag` | `/var/www/wallabag/web/assets/images` | storage for wallabag config data | -## Ports +### Ports Set the following ports in the `ports:` section. @@ -50,7 +50,7 @@ Set the following ports in the `ports:` section. | -------------- | ------------------------ | -------- | ----------- | | `80` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -61,7 +61,7 @@ docker pull redis:alpine docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: '3' diff --git a/wiki/docker/xy2z_-_pinedocs.md b/wiki/docker/xy2z_-_pinedocs.md index 9aed653..c98b0da 100644 --- a/wiki/docker/xy2z_-_pinedocs.md +++ b/wiki/docker/xy2z_-_pinedocs.md @@ -9,7 +9,7 @@ The official container and documentation was made by Create the file `rebuild.sh`. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -17,7 +17,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | -------------------- | | `pinedocs` | `/data` | storage for pinedocs | -## Ports +### Ports Set the following ports with the -p tag. @@ -25,7 +25,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `80` | `80` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh diff --git a/wiki/docker/yourls.md b/wiki/docker/yourls.md index cae39b3..1ebd0c8 100644 --- a/wiki/docker/yourls.md +++ b/wiki/docker/yourls.md @@ -11,7 +11,7 @@ In addition to the main container you need to connect a Create the files `rebuild.sh` and `docker-compose.yml` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Environment-variables +### Environment-variables Set the following variables with the -e tag. @@ -22,7 +22,7 @@ Set the following variables with the -e tag. | `YOURLS_USER` | username for yourls admin | | | `YOURLS_PASS` | password for yourls admin | | -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -30,7 +30,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | -------------------- | | `yourls` | `/var/www/html` | yourls specific html | -## Ports +### Ports Set the following ports with the -p tag. @@ -38,7 +38,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------------- | | `80` | `80` | TCP | dns protocol port | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -46,7 +46,7 @@ docker-compose down docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```yml version: "3.1" diff --git a/wiki/docker/zedeus_-_nitter.md b/wiki/docker/zedeus_-_nitter.md index 1bdf300..0ab46a3 100755 --- a/wiki/docker/zedeus_-_nitter.md +++ b/wiki/docker/zedeus_-_nitter.md @@ -11,7 +11,7 @@ Create the file `rebuild.sh`, `docker-compose.yml` and `nitter.conf` at the same place. Change the settings according to your needs and run `./rebuild.sh` afterwards. -## Volumes +### Volumes Set the following volumes with the -v tag. @@ -19,7 +19,7 @@ Set the following volumes with the -v tag. | ------------------------- | --------------- | ------------------------- | | `nitter` | `/data` | storage for all of nitter | -## Ports +### Ports Set the following ports with the -p tag. @@ -27,7 +27,7 @@ Set the following ports with the -p tag. | -------------- | ------------------------ | -------- | ----------- | | `8080` | `8080` | TCP | WebUI | -## rebuild.sh +### rebuild.sh ```sh #!/bin/sh @@ -36,7 +36,7 @@ docker pull awesometechnologies/synapse-admin:latest docker-compose up -d ``` -## docker-compose.yml +### docker-compose.yml ```txt version: "3" @@ -89,7 +89,7 @@ volumes: ``` -## nitter.conf +### nitter.conf ```txt [Server] diff --git a/wiki/firefox.md b/wiki/firefox.md index 545b09e..8cef401 100644 --- a/wiki/firefox.md +++ b/wiki/firefox.md @@ -24,17 +24,20 @@ The add-ons are grouped thematically The following add-ons increase the security or privacy. -- [Cameleon](https://addons.mozilla.org/en-GB/firefox/addon/chameleon-ext/) +- [Chameleon](/wiki/chameleon.md) spoofs your browser profile including user agent and screen size. - [ClearURLs](https://addons.mozilla.org/en-GB/firefox/addon/clearurls) removes tracking elements from URLs. - [Consent-O-Matic](https://addons.mozilla.org/en-GB/firefox/addon/consent-o-matic) automatically refuses GDPR consent to a bunch of platforms. + An alternative to this is an addon named I don't care about cookies. - [Firefox Multi-Account Containers](https://addons.mozilla.org/en-GB/firefox/addon/multi-account-containers) lets you separate cookies in different containers on a per site base. With this add-on a proxy can be selected for each container which enables usage of a [VPN](/wiki/vpn.md) that acts as a Proxy like a [OpenVPN Proxy](/wiki/openvpn.md#proxy). +- [I don't care about cookies](https://addons.mozilla.org/en-US/firefox/addon/i-dont-care-about-cookies/) + is an even faster alternative to Consent-O-Matic. - [Temporary Containers](https://addons.mozilla.org/en-GB/firefox/addon/temporary-containers) opens tabs and websites, that are not already managed by `Firefox Multi-Account Containers` in a new container. @@ -66,6 +69,9 @@ The following add-ons provide changes to the default style. an automatic dark mode for sites without native dark mode. - [hide-scrollbars](https://addons.mozilla.org/en-GB/Firefox/addon/hide-scrollbars) hides scrollbars. +- [Midnight Lizard](https://addons.mozilla.org/de/firefox/addon/midnight-lizard-quantum/) is a + add-on similar to Dark Reader. + It is slightly more customizable but has worse default settings. #### Tool Add-ons @@ -88,14 +94,23 @@ The following add-ons add various functions. The following add-ons provide translation options. - [Firefox Translations](https://addons.mozilla.org/en-US/firefox/addon/firefox-translations) - is a add-on made by Mozilla itself that gives an option for marked text to display its + is an add-on made by Mozilla itself that gives an option for marked text to display its translations quickly from the extension menu but can also translate whole sites. -- [Simple Translate](https://addons.mozilla.org/en-US/firefox/addon/simple-translate) is a add-on +- [Simple Translate](https://addons.mozilla.org/en-US/firefox/addon/simple-translate) is an add-on supporting both DeepL and Google Translate to translate marked text in various different ways that can be automatically displayed. - [To DeepL translation](https://addons.mozilla.org/en-US/firefox/addon/to-deepl/) gives an option for marked text to display its translation in a pop-up window using DeepL. +#### Shopping Add-ons + +The following add-ons add information to online shops. + +- [Fakespot](https://www.fakespot.com/) is an add-on made by Mozilla which displays additional + information on online shops, ebay and amazon. + It can give shops, vendors and products a trust score which can be used as an alternative to + reviews, which might be fake. + ### Add a new search engine You can add a new search engine with the add-on `Add custom search engine`. diff --git a/wiki/games.md b/wiki/games.md index 6e459a3..8951e85 100644 --- a/wiki/games.md +++ b/wiki/games.md @@ -22,6 +22,20 @@ Furthermore [Gameyfin](/wiki/games/gameyfin.md) is a game manager that can be ea through a web interface. Games can then be downloaded from the website. +## Selection of Cross Platform Games + +Some online and mostly multiplayer games can be played via the [web browser](/wiki/web_browser.md). +A notable amount of this group of games uses the top-level domain `.io`. +Some examples for these are [territorial.io](https://territorial.io/) and +[slither.io](http://slither.io/). + +Another online game is [Massive Decks](/wiki/massivedecks.md) which is the online take on a similar +popular tabletop game. + +For Windows there is the popular old-school pinball game 3d Pinball Space Cadet. +This game has been [reverse engineered and ported](https://github.com/k4zmu2a/SpaceCadetPinball) to +various platforms and operating systems. + ## Syncing Game Saves Across Systems By using [Syncthing](../syncthing.md) game saves can be synchronized. diff --git a/wiki/games/guild_wars_2.md b/wiki/games/guild_wars_2.md index 2ee2723..3b564e3 100644 --- a/wiki/games/guild_wars_2.md +++ b/wiki/games/guild_wars_2.md @@ -23,7 +23,7 @@ The second group provides guides and builds. - [MetaBattle](https://metabattle.com/wiki/MetaBattle_Wiki) provides guides and builds. Another interesting page of it is the best [spending of WvW points](https://metabattle.com/wiki/Guide:How_to_spend_WvW_Ability_Points). -- [Snowcrows](https://snowcrows.com/builds) is a guild that provides guides and builds that are +- [Snow Crows](https://snowcrows.com/builds) is a guild that provides guides and builds that are especially well suited for instanced PvE content. Finally the this groupd provides various guides and gives information on in-game mechanics. diff --git a/wiki/games/magic:_the_gathering.md b/wiki/games/magic:_the_gathering.md index 702dd23..89c3112 100644 --- a/wiki/games/magic:_the_gathering.md +++ b/wiki/games/magic:_the_gathering.md @@ -7,6 +7,8 @@ reffered to as Wizards. In Magic: The Gathering there are many different formats that are all listed on [the official website](https://magic.wizards.com/en/formats). Rules can also be found on [Wizards website](https://magic.wizards.com/en/rules). +MTG is a notoriously complex game and proven to be +[Turing Complete](https://arxiv.org/pdf/1904.09828.pdf). ## Playing Online @@ -36,6 +38,9 @@ The first group of websites and apps provide a management interface aswell as a functionality. Many of them also feature public decks. +- [Archidekt](https://archidekt.com/) is another popular deck building site. + With the option to build commander decks based on a specific commander. + It additionally features the display of public decks. - [deckbox](https://deckbox.org/) is a very clean deck builder website. - [deckstats.net](https://deckstats.net/) gives the option to build and analyze MTG(A) decks. - [Delver Lens](https://www.delverlab.com/) is an [Android](/wiki/android.md) application for @@ -44,6 +49,9 @@ Many of them also feature public decks. - [Dragon Shield MTG Card Manager](https://mtg.dragonshield.com/) is a collection and deck manager available both as an apple and [Android](/wiki/android.md) app and as a website. It features a card scanner for easy population of the collection +- [MTG Collection Builder](https://mtgcollectionbuilder.com/) is a website to organize and analyze + your magic cards. + It was specially made for collectors rather than players. - [MTG Desktop Companion](https://www.mtgcompanion.org/) is a collection manager for MTG that includes prices, stats and a deck builder, aswell as the option to import and export to most of the used MTG deck formats. @@ -52,17 +60,20 @@ Many of them also feature public decks. [GitHub Page](https://github.com/nicho92/MtgDesktopCompanion). - [Moxfield](https://www.moxfield.com/) is a popular deck building site. It also displays public decks. -- [Archidekt](https://archidekt.com/) is another popular deck building site. - With the option to build commander decks based on a specific commander. - It additionally features the display of public decks. + If a deck is entered into Moxfield tokens that are needed to play the deck can be displayed. +- [MTG CSV Helper](https://stepkie.github.io/MtgCsvHelper/) is a CSV format conversion tool to + convert between the different formats used by collection managers. The second group is about giving resources for building decks. This can be done by providing public decks or showing which decks or cards are popular in which format. +- [CubeCobra](https://cubecobra.com/explore) is a website that is based around the creation of + draft cubes. + For booster box alternatives cassete cases can be used. - [Tapped Out](https://tappedout.net/) is a website that among other things can suggest decks based on owned cards. -- [MTGGOLDFISH](https://www.mtggoldfish.com/) is a website for different topics regarding MTG. +- [MTGGoldFish](https://www.mtggoldfish.com/) is a website for different topics regarding MTG. It features various decks including budget variants of it. Additionally it lists tournaments with decks played which can be a useful resource to understand the metagame. @@ -71,8 +82,16 @@ The following websites provide useful information on cards or rulings of MTG. - [EDHREC](https://edhrec.com/) is a website that can recommend cards based on an already existing commander or improve existing commander decks. +- [Hyperlinked Magic](https://yawgatog.com/resources/magic-rules/) is a website that features a + hyperlinked HTML-version of MTG rules. - [Scryfall](https://scryfall.com/) is a website to search and display Magic cards in specific printings. + Scryfall can query advanced patterns using + [their specific syntax](https://scryfall.com/docs/syntax). + Among others this site can be used to check for cards that create tokens. + An example for this is running a search with the term `o:create o:golem` to find cards that + create a golem token. + For other advan - [What's in Standard?](https://whatsinstandard.com/) lists the sets that are currently legal in the standard format. - [Magic Judges](https://chat.magicjudges.org/mtgrules/) is a live chat with judges to clarify the @@ -101,13 +120,23 @@ This group of resources are websites on which MTG cards and supply can be bought - [TCGPlayer](https://www.tcgplayer.com) is a trading post for tabletop cards that is used world-wide. -The following sites sell MTGO tix and rent cards. +The following websites can be used to design or obtain images for proxies or print them. + +- [Printers Studio](https://www.printerstudio.de/machen/komplett-individualisierbare-spielkarten-geschenke.html) + can be used to print custom proxies. +- [Card Conjurer](https://cardconjurer.onrender.com/) is a website to design custom MTG-style + cards. +- [MPC Fill](https://mpcfill.com/) can be used to obtain front and back images for non-custom proxy + cards. + +The following sites sell MTGO tix and sell or rent cards. -- [Cardhoarder](https://www.cardhoarder.com/) is a MTGO card renting service. +- [Cardhoarder](https://www.cardhoarder.com/) is a MTGO card selling site with renting service. +- [Goatbots](https://www.goatbots.com) is an MTGO website that sells cards and tix. - [Mana Traders](https://www.manatraders.com/) is a renting service for MTGO cards, aswell as a way to buy tix. -Lastly [decklist.org](https://decklist.org/) can be used to neatly print out decklists. +Lastly [decklist.org](https://decklist.org/) can be used to neatly print out deck lists. ## Deck Building @@ -115,7 +144,7 @@ A central part of MTG is the composition of cards to a deck. This section addresses the act of building a deck and important topics regarding deck composition. Starting with the general topics of deck building this section will then split into multiple subsections for building decks of different deck size. -This following general part is mainly based on a +This following general part is mainly based on a [YouTube](/wiki/youtube.md) [video by Pompeius IIb.](https://www.youtube.com/watch?v=a37dLTiV58o). It is generally recommended to stick with the minimum number of allowed cards in a format for a @@ -175,14 +204,18 @@ Sometimes it can be useful to increase the mana color of cards that are needed v game to ensure they can be played. In non-mono decks double lands are useful but their restrictions they come with should be noted. Approximately 1/3 of a deck should be reserved for land cards. +A guide for a budget mana base in the modern format was written by +[SaffronOlive on MTGGoldFish](https://www.mtggoldfish.com/articles/brewer-s-minute-building-a-budget-mana-base-in-modern). -### Building a 60 Card Deck +For many archetypes of decks in most formats there are staples. +Staples are cards of a given color or type that are generally considered good in a deck. -This section will focus on the building of a 60 card deck. +### Tipps on Building a Modern, Pauper or Standard Deck + +This section will focus on the building of a 60 card modern, pauper or standard deck. 60 cards per deck is the minimum requirement for most formats like standard, modern and more. -For 100 card decks navigate to the [following section](#building-a-100-card-deck) -This section is also mainly based on a -[video by german YouTuber Pompeius IIb.](https://www.youtube.com/watch?v=a37dLTiV58o). +This section is also mainly based on a [YouTube](/wiki/youtube.md) +[video by Pompeius IIb.](https://www.youtube.com/watch?v=a37dLTiV58o). All tipps that are in the [above section](#deck-building) are to be considered in this section too. @@ -192,22 +225,23 @@ As a rule of thumb the number of lands in a 60 card deck should be around It is recommended to use playsets (4 cards) of cards or use multiple cards that are similar to reduce the possibilities of draws. -### Building a 100 Card Deck +### Tipps on Building a Commander Deck -This section will focus on the building of a 100 card deck. +This section will focus on the building of a 100 card commander deck. 100 cards per deck is most notably the minimum requirement for the commander format. Therefor this section will mostly focus on commander -For 60 card decks navigate to the [previous section](#building-a-60-card-deck) All tipps that are in the [above section](#deck-building) are to be considered in this section too. For commander decks it is also important to select a commander to build the deck around. Selecting the commander should be done in a step before choosing the strategy. -There are four main templates to build a commander. +There are five main templates to build a commander. The first three templates are fairly similar and will be explained as one in the [following section](#9x7-8x8-and-7x9-deck-templates). The last in the [section thereafter](#the-command-zone-deck-template). +The last template is based on an article by +[Tomer Abramovici on MTGGoldFish](https://www.mtggoldfish.com/articles/the-power-of-a-deckbuilding-checklist-commander-quickie). #### 9x7, 8x8 and 7x9 Deck Templates @@ -250,7 +284,8 @@ categories with 5 cards are considered to make 1 card of that category appear in #### The Command Zone Deck Template -The fourth template is a template made by [Command Zone](https://www.youtube.com/@commandcast). +The fourth template is a template made by the [YouTube](/wiki/youtube.md) channel named +[Command Zone](https://www.youtube.com/@commandcast). This section is therefore based on the corresponding [video by Command Zone](https://www.youtube.com/watch?v=3K9PEeLG_6M). diff --git a/wiki/games/massive_decks.md b/wiki/games/massive_decks.md new file mode 100644 index 0000000..e7edc3a --- /dev/null +++ b/wiki/games/massive_decks.md @@ -0,0 +1,9 @@ +# Massive Decks + +[Massive Decks](https://md.rereadgames.com/) is a selfhostable comedy party game with a web +interface. + +## Setup + +Massive Decks can be set up via [Docker](/wiki/docker.md) with the +[massivedecks image](/wiki/docker/massivedecks_-_client.md). diff --git a/wiki/games/minecraft.md b/wiki/games/minecraft.md index 4eae7fc..6933809 100644 --- a/wiki/games/minecraft.md +++ b/wiki/games/minecraft.md @@ -18,6 +18,8 @@ There are different Minecraft Clients available: - The standard (Java) Minecraft Client can be downloaded at the [official website](https://minecraft.net/en-us/get-minecraft) - [MultiMC5](./multimc5.md) is a custom Minecraft launcher that allows multiple installations at once. + This entry also addresses forks of MultiMC5 like Prism Launcher that are similar in usage and + settings for the most part. ### Usage @@ -48,3 +50,290 @@ scoreboard. /scoreboard objectives add Deaths deathCount /scoreboard objectives setdisplay list Deaths ``` + +#### Updating a Server World to a New Version + +An existing Minecraft world of a server can be updated simply by updating the server itself. +Chunks that have been loaded will not be affected by the update, but blocks that have not been +loaded will be. +For safety reasons it is advised to back up the instance before updating the version number. + +#### Installing Mods + +Mods can be installed client- and server-side. +For client-side mods most [up-to-date clients](#client) feature an easy installation process. +Especially [MultiMC5 and its derivatives](/wiki/games/multimc5.md) have an easy way to achieve +this. +For the installation of server-side mods the process can vary slightly depending on the +[server host](#server). +For the [itzgs minecraft server](/wiki/docker/itzg_-_minecraft-server.md) running on +[Docker](/wiki/docker.md) visit the +[mod section of that entry](/wiki/docker/itzg_-_minecraft-server.md#installing-mods). + +#### Installing Datapacks + +The installation of datapacks is to be done for a specific world or a specific server. +This section will describe a process that works for both single-player worlds aswell as multiplayer +servers. +First the installation of datapacks on single player worlds will the addressed. +Navigate to minecrafts folder that corresponds to the world you want to add the datapack to. +Then place the `.zip` archive containing the datapack inside the `datapacks` folder. +The resulting path is `saves/<world name>/datapacks` where `<world name>` is the name of the single +player world. +For the installation of datapacks on servers please navigate to the entry of the server since there +can be differences. +Most notably itzgs minecraft server is mentioned here which features a +[section regarding datapacks](/wiki/docker/itzg_-_minecraft-server.md#installing-datapacks). + +#### Recommended Mods and Resource Packs + +This section addresses modifications and resource packs that are recommended or were tested and +found to be useful or good. +This section will be split into two categories. +These are client-side and server-side mods. +The installation of [mods](#installing-mods) and [datapacks](#installing-datapacks) is addressed +in the corresponding sections. +The following resources have been used to find and select modifications and resource packs. + +- [The UsefulMods list](https://github.com/TheUsefulLists/UsefulMods/blob/main/Performance/Performance121.md) + is a list of useful performance mods for the 1.21.x. + Newer and older versions could be found in the file browser on the left side of the website. +- [Vanilla Tweaks](https://vanillatweaks.net/) is a website that provides various resource packs + to improve the quality of life in minecraft. + Goal of these is a slight change of the vanilla experience. + +The first category that will be discussed are the server mods. +The following changes are recommended to install server-side to improve performance. + +- "Concurrent Chunk Management Engine" is a mod that introduces a concurrently working chunk + management engine. +- "Clumps" is a mod that groups together experience orbs that are close to another. +- "Get It Together, Drops!" is a mod that groups together items that are close to another. +- "FerriteCore" is a mod that reduces memory usage. +- "Krypton" is a mod that optimizes minecrafts networking stack. +- "Let Me Despawn" is a mod that enables mods with a picked up or equipped item to despawn to + reduce entity lag. +- "Lithium" is a mod that introduces various general optimizations. +- "ModernFix" is a mod that introduces more general optimizations. +- "Noisium" is a mod that speeds up the world generation function. +- "spark" is a mod that does not improve performance but enables operators to monitor it. +- "Chunky" is a mod that adds commands to pregenerate chunks. + +After the performance mods have been listed the next mods that will be discussed are focussed on +gameplay. +The following changes are recommended to install on the server for gameplay reasons. + +- "Anti Enderman Grief" is a datapack that stops the endermen from picking up and setting down any + blocks. +- "Audarki Cart Engine (Fast Minecarts)" is a mod that enables the operators of a server to change + the minecarts speed. + This can be done for different types of minecarts (player, non-player, etc). +- "Sit!" is a mod that enables players to sit on specific blocks. + The key to use can be changed on a per user basis by installing the mod client-side. +- "Cycle Paintings" is a mod that lets player cycle through the motifs of a painting by + right-clicking it with another painting. +- "NetherPortalFix" is a mod that fixes some behaviour for Nether Portals that overlap. +- "Beautified Chat (Server)" is a mod that changes style and color of the chat. +- "AfkPlus" is a mod that adds AFK functionality that allows ignoring AFK players in the sleep + percentage. +- "Scaffolding Drops Nearby" is a mod that makes all scaffolding be dropped on the place of the + broken scaffolding. +- "Glowing Eyeblossom" is a mod that makes eyeblossoms glow. +- "Glowing Torchflower" is a mod that makes torchflowers glow. + +Finally for the server-side mods the following ones are focussed on graphical changes. + +- "Skin Shuffle" is a mod that allows players to instantly change the skin they use. + Please note that the same mod needs to be installed on the client too. + +The client-side mods are now being discussed. +The following modifications are recommended client-side performance mods. + +- "Concurrent Chunk Management Engine" is a mod that introduces a concurrently working chunk + management engine. +- "Dynamic FPS" is a mod that reduces the FPS when the program is running in the background. +- "EntityCulling" is a mod that disables the rendering of hidden entities. +- "FerriteCore" is a mod that reduces memory usage. +- "ImmediatelyFast" is a mod that optimizes rendering. +- "Lithium" is a mod that introduces various general optimizations. +- "Sodium" is a mod that optimizes the rendering engine. This is a common and with newer versions more popular + alternative to OptiFine. +- "Sodium Extra" is a mod that introduces an extension to Sodiums optimizations. +- "Reese's Sodium Options" is a (sub-)mod for Sodium that adds functions to the video options like + a search bar. + A similar mod to this is "Xander's Sodium Options". +- "Xander's Sodium Options" is a (sub-)mod for Sodium that adds functions to the video options + like a search bar. + Additionally it changes the look of the video options to be more in line with Minecrafts other + options. + A similar mod to this is "Reese's Sodium Options". +- "More Culling" is a mod that introduces more culling. + +The following are recommended client-side graphical mods. + +- "3d-Skin-Layers" is a mod that makes the outer layers of skins look more 3-dimensional. +- "Blur+" is a mod that adds blur to the background when opening a chest. +- "Bobby" is a mod that caches chunks to increase the render distance beyond the maximum server + distance of servers. +- "Chat Heads" is a mod that adds an image of the players head to chat messages. +- "Dark Loading Screen" is a mod that changes the mojang loading screen into dark mode. +- "Make Bubbles Pop" is a mod that lets water bubbles - like the ones above soulsand - pop at the + surface. +- "Visuality" is a mod that adds various particles to entities. +- "Better Hoppers" is a resource pack that adds arrows to hoppers. +- "Blobs Enchant Icons" is a resource pack that adds small icons to the tooltip of enchanted + icons. +- "Consistent Blank Decorated Pot" from Vanilla Tweaks is a resource pack that fixes the decorated + pot skin to use the decoration on all sides. +- "Consistent Buckets" from Vanilla Tweaks is a resource pack that fixes the bucket icon to be in + line for filled and empty buckets. +- "Directional Dispensers" from Vanilla Tweaks is a resource pack that adds arrows to dispensers. +- "Directional Observers" from Vanilla Tweaks is a resource pack that adds arrows to observers. +- "Double Slab Fix" from Vanilla Tweaks is a resource pack that fixes the double slabs look to + look like two slabs in contrast to a normal block. +- "Even Better Enchants" is a resource pack that changes the look of enchanted books to be more + unique and easily recognizable. +- "Groovy Levers" from Vanilla Tweaks is a resource pack that adds a groove to indicate the state + to levers. +- "Lower Shield" from Vanilla Tweaks is a resource pack that lowers the shield to increase the + players vision. +- "Mob Crates" is a resource pack that changes the icon of spawn eggs. +- "Nautilus 3D" is a resource pack that completely retextures all blocks in the game. +- "No More Christmas Chests" is a resource pack that disables the christmas chests. +- "No Java Subtitle" from Vanilla Tweaks is a resource pack that hides the Java Version-Subtitle + in the title screen. +- "Pumpkin or Melon" is a resource pack that makes the stem of melons and pumpkins easily + distinguishable. +- "Redstone Power Levels" from Vanilla Tweaks is a resource pack that displays the level of + redstone signal on the dust. +- "Rethoughted Infested Stones" is a resource pack that slightly changes the skin of infested + stones. +- "Slightly Improved Font" is a resource pack that makes the font a bit smoother. +- "Sticky Piston Sides" is a resource pack that makes the slime on sticky pistons visible from the + side. +- "Subtle Suspicious Sand and Gravel" is a resource pack that slightly changes the skin of + suspicious sand and gravel. +- "White Enchantment Glint" from Vanilla Tweaks is a resource pack that changes the default + enchantment glint to a white one. +- "Alternative Bedrock" from Vanilla Tweaks is a resource pack that changes the look of bedrock. +- "Circular Log Tops" from Vanilla Tweaks is a resource pack that changes the look of logs to be + more circular. +- "Golden Crown" from Vanilla Tweaks is a resource pack that changes the look of golden helmets to + crowns. +- "Moss Carpet Overhang" from Vanilla Tweaks is a resource pack that changes the look of moss + carpets slightly so that they overhang a bit on the sides. +- "Skin Shuffle" is a mod that allows you to change your skin in-game. + Please note that for this mod to work on servers the same mod needs to be installed on the server + too, otherwise you will need to log out and reconnect. +- "Visible Powdered Snow" slightly changes the texture of powdered snow to distinguish between it + and normal snow. +- "Variants-CIT" is a mod that allows to change the look of variants of the same item like potions + or enchanted books. + This mod needs corresponding resource packs that can be found on the mod page to download. +- "3D Crops Revamped" is a resource pack that changes the look of crops to be more 3 dimensional. + It is similar to "Florescent" but focusses only on crops. +- "Florescent" is a resource pack that changes the look of flowers, crops and mushrooms to be more + 3 dimensional. + It is similar to "3D Crops Revamped" which only includes crops. +- "Continuity" is a mod that enables connected textures like glass without borders and more. +- "Better Statistics Screen" is a mod that changes the look and feel of the statistics screen to + make it more intuitive. +- "Remove Reloading Screen" is a mod that removes the loading screen and instead display only the + additional loading bar. +- "More Heart Types" is a mod that changes the heart style based on the type of damage the player + is taking. +- "Endless End Rods" from Vanilla Tweaks is a resource pack that removes the base off of end rods. +- "Brighter Nether" from Vanilla Tweaks is a resource pack that increases the brightness of the + nether blocks. +- "Variated Villagers" from Vanilla Tweaks is a resource pack that changes the skin of villagers + depending on the biome. +- "Quieter Villagers" from Vanilla Tweaks is a resource pack that sets the volume of villagers + much lower. +- "Quieter Cows" from Vanilla Tweaks is a resource pack that sets the volume of cows much lower. +- "Quieter chicken" from Vanilla Tweaks is a resource pack that sets the volume of chicken much + lower. +- "Clear Banner Patterns" from Vanilla Tweaks is a resource pack that changes the appearance of + banner patterns to be more clear. +- "Music Disc Redstone Level Preview" from Vanilla Tweaks is a resource pack that displays the + redstone level of a music disc in game. +- "Rename 'Stem' to 'Log'" from Vanilla Tweaks is a resource pack that changes the Nether woods to + use 'Stem' instead of 'Log'. +- "Icons" is a ressource pack that adds icons into the menu and game. + Additionally "Icons Advertisement Removal" removes the logo of the "Icons" ressource pack. +- "Hoffen's Minimal Armor" is a ressource pack that minimizes the look of armor. +- "Vertical Nuggets" is a ressource pack that flips all nuggets to be vertical. +- "Colorful Canines" is a ressource pack that makes dog armor more colorful. +- "Colorful Sheared Sheep" is a ressource pack that makes the color of sheep wool visible even + after the shearing. +- "Real Arrrow Tip" is a ressource pack that makes the look of arrows correct ingame. + +The following are recommended client-side audio mods. + +- "No Cave Ambience" is a resource pack that disables the ambience sounds in caves. +- "Quieter Dispensers" from Vanilla Tweaks is a resource pack that reduces the volume of + dispensers. +- "Quieter Minecarts" from Vanilla Tweaks is a resource pack that reduces the volume of minecarts. +- "Quieter Pistons" from Vanilla Tweaks is a resource pack that reduces the volume of pistons. + +The following are recommended client-side HUD and other UI modifications + +- "AppleSkin" is a mod that adds the saturation information to the hunger HUD. +- "BetterF3" is a mod that makes the F3-menu more customizable and more easily readable. +- "Bundle Inventory" is a mod that improves the usability of bundles. +- "Durability Tooltip" is a mod that adds a durability number to the tooltip of items. + It is similar to "Durability Plus" but doesn't feature color. +- "Durability Plus" is a mod that shows the durability as a number. + It is similar to "Durability Tooltip" but has color. +- "FPS Display" is a mod that displays the FPS on the screen. + When using "Sodium" this mod is not needed as it adds the same functionality. +- "Inventory Profiles Next" is a mod that adds inventory profiles and allows to lock specific item + slots. + It also replaces placed blocks in the inventory or replaces used tools. +- "MiniHUD" is a mod that adds the possibility to show various information on screen or render + chunks, light levels, etc in game. +- "Show Durability" is a mod that shows the durability as a number additionally to the bar. + It is similar to "Till It Breaks" but is more lightweight and has less options. +- "Till It Breaks" is a mod that shows the durability as a number. + It is similar to "Show Durability" but has more features like color, the displaying of the number + of arrows or the option to hide of the durability bar. +- "Shulker Box Tooltip" is a mod that more easily shows the contents of a shulker box. +- "Simple armor hud" is a mod that adds a HUD to show the durability and type of armor that the + player wears. +- "Status Effect Bars" is a mod that adds status effect bars to the screen. +- "Better Boss Bars" is a resource pack that improves the look of boss bars. +- "NH-Just a numbered hotbar" is a resource pack that shows numbers on the hotbar. +- "Boss Crosshair" is a collection of resource packs that changes the look of the crosshair. +- "GUI Perfected" is a resource pack that changes the look of the buttons aswell as crafting + tables, anvils and more to be more unique. + It is similar to "Colorful Containers GUI" but doesn't include chests, etc. +- "Colorful Containers GUI" is a resource pack that changes the look of the buttons aswell as crafting + tables, anvils and more to be more unique. + This also has a dark mode named "Colourful Containers Dark Mode GUI". + It is similar to "GUI Perfected" but also includes chests, etc. +- "Scribble" is a mod that makes editing books easier by adding buttons for color, bold font and + more. +- "Chat Patches" is a mod that extends the chat history and adds some more tweaks. +- "Armor Chroma for Fabric" is a ressource pack that shows the type of armor in the bar. +- "Colorful Ping" is a ressource pack that shows the ping symbol in color. + +The following are possible client-side mods that change the gameplay or give other information in +the game. +Please note that these can possibly lead to a ban on a server depending on the prohibited mods of +that server. + +- "Bridging Mod" is a mod that allows to place blocks under, next to and above a block despite not + seeing this side of the block. +- "Freecam" is a mod that allows to move the cam freely similar to the spectator mode. +- "Fullbright" is a mod that increases brightness at night or in caves. +- "Mob Health Indicators" is a mod that displays the health of mobs above their head. +- "Replanter Plus" is a mod that makes it possible to simultaneously harvest and replant plants. +- "Xaero's Minimap" is a mod that adds a minimap to the screen. +- "Xaero's World Map" is a mod that adds a map to the game that can be viewed at any time. +- "Brewing Guide" from Vanilla Tweaks is a resource pack that adds an easy brewing guide to the UI + of the brewing stand. + It is similar to "GUIdes" but is only made for brewing. +- "GUIdes" is a mod resource similar to "Brewing Guide" that adds guides to many menus like + brewing menus and more. + It is similar to "Brewing Guid" and "Smelting Guide" but is adds guides for more tools. +- "Smelting Guide" is a resource pack that adds a guide to all types of furnaces that shows the + usability of items as fuel. diff --git a/wiki/games/multimc5.md b/wiki/games/multimc5.md index c5de963..5018bba 100644 --- a/wiki/games/multimc5.md +++ b/wiki/games/multimc5.md @@ -2,6 +2,10 @@ [MultiMC5](https://multimc.org) is a custom launcher that allows multiple instances of the [game](/wiki/games.md) [Minecraft](./minecraft.md) to be installed at once. +In recent times there have been problems with the maintainer of MultiMC5. +Due to this similar launchers like the [Prism Launcher](https://prismlauncher.org/) have gotten +popular. +Since they don't differ greatly from MultiMC5s interface, this entry discusses them too. ## Usage @@ -26,3 +30,19 @@ OptiFine available. to your Minecraft version - Navigate to `Loader Mods` and press `Add`, then select the downloaded OptiFine file + +OptiFine works best on older [Minecraft](/wiki/games/minecraft.md) versions. +Some people recommend [Sodium](https://modrinth.com/mod/sodium/versions) or other optimization mods +to use on newer versions. + +## Troubleshooting + +This section addresses various errors that can happen when using MultiMC5 and its forks. + +### Narrator not Available + +Sometimes when running MultiMC5 on [Linux](/wiki/linux.md)-based operating systems an error occurs +in the logs saying `Error while loading the narrator`. +To fix this a package is needed called `flite` on most Linux-distributions. +This solution was provided on Github by +[Mephodio](https://github.com/PrismLauncher/PrismLauncher/issues/2683). diff --git a/wiki/games/steam.md b/wiki/games/steam.md index cfbf302..d62e260 100644 --- a/wiki/games/steam.md +++ b/wiki/games/steam.md @@ -62,6 +62,8 @@ work with [SGDBoop](https://www.steamgriddb.com/boop) for the game. The [Steam Cloud](https://partner.steamgames.com/doc/features/cloud) allows games and the platform to utilize cloud storage hosted by Steam. Games can use this to store data including game settings and saves. +The data stored this way can be accessed on the +[corresponding website](https://store.steampowered.com/account/remotestorage). Games can also be synchronized without the Steam Cloud by using [Syncthing](/wiki/syncthing.md) as described in [the games entry](/wiki/games.md#syncing-game-saves-across-systems). diff --git a/wiki/git.md b/wiki/git.md index 223f058..34b72a3 100644 --- a/wiki/git.md +++ b/wiki/git.md @@ -1,7 +1,8 @@ # Git Git is probably the best version control system (VCS) there is. -It's easy and can be lightweight, but also has tons of possibilities for using graphical (/web) user interfaces. +It's easy and can be lightweight, but also has tons of possibilities for using graphical (including +web) user interfaces. ## Setup diff --git a/wiki/headphones.md b/wiki/headphones.md new file mode 100644 index 0000000..5420699 --- /dev/null +++ b/wiki/headphones.md @@ -0,0 +1,33 @@ +# Headphones + +Headphones are a pair of drivers that converts electronic signals into [audio](/wiki/audio.md). +Headphones are available in different forms: for example headphones and in-ear monitors. +All types are addressed in this article. + +## Audio Profiles and Reviews + +Headphones have different frequency responses. +[AutoEq](https://github.com/jaakkopasanen/AutoEq/tree/master) can be used to normalize these to a +harman curve. +AutoEq also has a [website](https://autoeq.app/) on which headsets can be searched and equalizer +presets can be exported more easily. + +An extensive list of in-ear monitor reviews was made by crinacle. +It is called [crinacle's ranking list IEMs & Earphones](https://crinacle.com/rankings/iems/). +A similar list for headphones was also made by crinacle. +It is called [crinacle's ranking list Headphones](https://crinacle.com/rankings/headphones/). + +## Modifications + +Headphones can be modified. +The most done modifications include detachable cables or a +[balanced](/wiki/audio.md#balanced-unbalanced-audio) conversion. +For every modification that changes the wires on the driver it is important to check the polarity, +aswell as the left and right side to avoid having to resolder any connection. + +The following is a list of resources that can be used to mod headphones. + +- Balanced conversion (includes detachable cable) on a Beyerdynamic Pro X DT900: + A detailed example and explanation video can be found in + [a video by Custom Cans](https://www.youtube.com/watch?v=HLfxeyZOQW0) on + [YouTube](/wiki/youtube.md). diff --git a/wiki/images.md b/wiki/images.md index f292784..9572591 100644 --- a/wiki/images.md +++ b/wiki/images.md @@ -2,11 +2,13 @@ An image is a visual representation of something. In the computer context it is a file with an extension like `png`, `jpg`, `gif` among others. +This entry also features medicinal image and visual formats such as DICOM. ## Clients - [sxiv](https://github.com/xyb3rt/sxiv) is an image viewer for [Linux'](/wiki/linux.md) [X window system](/wiki/linux/x_window_system.md). +- [Weasis](https://github.com/nroduit/Weasis) is a cross-platform DICOM viewer. ## Editing diff --git a/wiki/infrared.md b/wiki/infrared.md new file mode 100644 index 0000000..da5a6c6 --- /dev/null +++ b/wiki/infrared.md @@ -0,0 +1,25 @@ +# Infrared + +Infrared - short IR - is electromagnetic radiation that is used in many technical applications. + +## Remote Controls + +Many remote controls use infrared. +A simple explanation for the widely used pronto format was explained in an +[article by hifi-remote](http://www.hifi-remote.com/infrared/IR-PWM.shtml). +A more technical explanation of the signals of different formats can be found in an +[article by vishay](https://www.vishay.com/docs/80071/dataform.pdf). + +Devices by different vendors usually use different codes. +There are different databases. +The following is a list of resources. + +- [JP1 Forum](https://www.getzweb.net/jp1/) is a community that shares files for different devices. + Some like the + [Dyson codes](http://www.hifi-remote.com/forums/viewtopic.php?t=101540&sid=807339ebbff2ee3938d6d3784cecd24e) + are a bit more hidden in forum posts. +- [Remote Central](https://www.remotecentral.com/cgi-bin/codes/) also has a huge database. +- [ghartwells SMSL repository](https://github.com/ghartwell/SMSL/tree/master) features many SMSL + IR codes. +- [RCoid](https://www.rcoid.de/remotefiles.html) features some ready made rcf files. + Despite this format they can be opened with a text editor and searched for codes by hand. diff --git a/wiki/ip_address.md b/wiki/ip_address.md new file mode 100644 index 0000000..448d6db --- /dev/null +++ b/wiki/ip_address.md @@ -0,0 +1,22 @@ +# IP Address + +The IP address is a numerical label for a computer that is connected to a network using the +Internet Protocol (IP). +There are two versions of IP addresses: IPv4 and IPv6. + +## Geo-blocking + +Geo-blocking is the practice that restricts access to internet sites or content using information on +the users location. +This location is often obtained using the IP address. + +Geo-blocking can be evaded by using a [VPN service](/wiki/vpn.md). +Sometimes the IP addresses that are used by VPNs are blocked by websites. +To avoid this a spoofing tool like [Chameleon](/wiki/chameleon.md) for [Firefox](/wiki/firefox.md) +can be used. +[cybernews](https://cybernews.com) +describes this in an +[article](https://cybernews.com/de/online-schauen/bundesliga-auf-onefootball-brasilien-streamst/) +using the German Bundesliga in Brazil as an example. +Please note that using the VPN for this may violate terms and services accepted by subscribing to +a VPN service. diff --git a/wiki/jellyfin.md b/wiki/jellyfin.md index 8d3fba8..d47089d 100644 --- a/wiki/jellyfin.md +++ b/wiki/jellyfin.md @@ -11,7 +11,7 @@ The software can be setup via [Docker](/wiki/docker.md) with the ## Usage -This section addresses various features of invidious. +This section addresses various features of Jellyfin. ### Live TV and DVR @@ -59,3 +59,11 @@ Finally run `Refresh Guide Data` under `Dashboard > Live TV > Live TV` to load the guide data for the next 7 days aswell as to refresh the TV channels. Afterwards the channels [mapped in TVHeadend](./tvheadend.md#adding-channels) should appear in the `Live TV` Library. + +### Client + +It is possible to use different clients. +The following list contains a selection of clients. + +- [Feishin](https://github.com/jeffvli/feishin) will be a free and open-source client for MacOS, + [Linux](/wiki/linux.md) that also features a web ui. diff --git a/wiki/linux/7-zip.md b/wiki/linux/7-zip.md index 752e045..65bdf06 100644 --- a/wiki/linux/7-zip.md +++ b/wiki/linux/7-zip.md @@ -11,6 +11,8 @@ from the [AUR](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay). ## Usage +The following section describes various ways of usage of 7-zip. + ### Compressing and Uncompressing a Directory For directories to be compressed the Lempel–Ziv–Markov chain algorithm is recommended. diff --git a/wiki/linux/arch-linux.md b/wiki/linux/arch-linux.md index 345ac56..5536b7c 100644 --- a/wiki/linux/arch-linux.md +++ b/wiki/linux/arch-linux.md @@ -61,3 +61,61 @@ initrd /<installed microcode package>.img ``` `<installed microcode package>` is either `amd-ucode` or `intel-ucode`. + +## Troubleshooting + +This section addresses problems that can occur when using Arch Linux. + +### Troubleshooting Setup for not Bootable Systems + +This section focusses on a basic guide to troubleshoot systems that are not bootable. +To access the files of the system an Arch Linux boot stick has to be created as explained in +[a previous section](#iso-medium). +After booting into it set your keymap layout using the `loadkeys` setup similar to +[the installation preparation](/wiki/linux/arch-linux/installation.md#1-preparation). +Afterwards [mount](/wiki/linux/disk-management.md#mounting) the partition that contains the root +file system to the `/mnt` directory. +It is possible that LUKS encrypted file systems need to be +[opened](/wiki/linux/dm-crypt.md#openclose-an-encrypted-volume) and then mounted using the +`/dev/mapper` symbolic link. +On some systems there are home or boot file system that have to be mounted on `/mnt/boot` or +`/mnt/home` after mounting the root file system. +Afterwards use `arch-chroot /mnt` to get into the not bootable system. +Now the command line of the system can be accessed for troubleshooting. +After troubleshooting `exit` the system and [unmount](/wiki/linux/disk-management.md#mounting) all previously +mounted file systems and try to boot back into the system. + +If the system broke during an update then the easiest way to fix it, is by running the same update +command again. +The used command can be found in `/var/log/pacman.log`. +Make sure to run exactly this command. +Afterwards try to reboot into the system. + +Another common source for not bootable systems is +[the initial ramdisk](#problems-with-the-initial-ramdisk). + +### Problems with the Initial Ramdisk + +A common problem (especially after a interrupted update lies in the initial ramdisk environment). +An error like this will mean that the system is +[not bootable](#troubleshooting-setup-for-not-bootable-systems). +To fix this generate the initial ramdisk manually as described in +[the mkinitcpio entry](/wiki/linux/mkinitcpio.md#manually-generate-initial-ramdisk). + +### Stuck in Boot Screen + +There is a known problem described in the Arch Linux forums by +[TheRealNubby](https://bbs.archlinux.org/viewtopic.php?id=300292) where the system goes into a +perceived freeze after the boot process. +This problem seems to be most prevalent on systems that use an [Nvidia](/wiki/nvidia.md) GPU +since its only known occurences were found on Nvidia GTX 1080 GPUs. +The boot screen will not show any errors and when +[troubleshooting using a installation medium](#troubleshooting-setup-for-not-bootable-systems) +logs like [the ones of SystemD](/wiki/linux/systemd.md#retrieving-the-systemd-logs) will look +normal and won't show any errors. + +In this case there is the possibility that logging into Arch Linux blindly will work. +For this type in user name and password some moments after the perceived freeze as you normally +would do if the login screen came up. +If the graphical interface still does not work, the command to start the graphical interface (like +`startx` for [X11](/wiki/linux/x_window_system.md) systems) can also work. diff --git a/wiki/linux/audio.md b/wiki/linux/audio.md index fde01d6..3f258da 100644 --- a/wiki/linux/audio.md +++ b/wiki/linux/audio.md @@ -34,3 +34,11 @@ With additional software it can also be used to control audio/music by pressing hotkeys. This is explained in the [PlayerCTL entry](/wiki/linux/playerctl.md#using-hotkeys). + +## Sound Board + +There are various available software solutions for sound boards. +One option is [CasterSoundboard](https://github.com/JupiterBroadcasting/CasterSoundboard). +Another is the cue player +[Linux Show Player](https://linux-show-player-users.readthedocs.io/en/latest/index.html) which +should be installed using [flatpak](/wiki/linux/flatpak.md) (`org.linuxshowplayer.LinuxShowPlayer`). diff --git a/wiki/linux/display_control.md b/wiki/linux/display_control.md new file mode 100644 index 0000000..71dfc3a --- /dev/null +++ b/wiki/linux/display_control.md @@ -0,0 +1,14 @@ +# Display Control + +Display control describes the process of controlling the display with means other than the hardware +buttons. + +## DDC + +DDC - short for Display Data Channel - is a specific way to control the display. +On [Linux](/wiki/linux.md)-based Systems this can be achieved by using the +[`ddcutil`](https://github.com/rockowitz/ddcutil) command line interface that can be found in the +package of the same name. +For a graphical user interface [`ddcui`](https://github.com/rockowitz/ddcui) can be used. +After installation it is possible that the system needs to be restarted due to the i2c-dev kernel +module. diff --git a/wiki/linux/flatpak.md b/wiki/linux/flatpak.md index 0187b5f..687a7dc 100644 --- a/wiki/linux/flatpak.md +++ b/wiki/linux/flatpak.md @@ -6,7 +6,7 @@ linux systems. ## Setup The `flatpak` package can be installed by most distribution specific package -managers (e.g. [pacman or yay](./arch-linux/package_manager.md)). +managers (e.g. [pacman or yay](/wiki/linux/package_manager.md#arch-linux-pacman-and-yay)). 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 diff --git a/wiki/linux/font_configuration.md b/wiki/linux/font_configuration.md index ca3d567..84d31b6 100644 --- a/wiki/linux/font_configuration.md +++ b/wiki/linux/font_configuration.md @@ -45,7 +45,7 @@ A configuration typically looks like the following lines. This configuration requires some fonts that are not necessarily present in any Linux installation so they may have to be installed. -Follow the section on [adding new fonts](#adding-new-font) and +Follow the section on [adding new fonts](#adding-new-font-to-configuration) and [recommended fonts](#recommended-fonts) as needed. ## Usage @@ -53,6 +53,33 @@ Follow the section on [adding new fonts](#adding-new-font) and This section addresses important commands and packages for the configuration of fonts. +### Show Characters Of A Font + +Using [FontForge](https://fontforge.org/en-US/) all characters of a given `.ttf` file can be shown. +The following shows the structure of a command to call FontForge with a file. + +```ssh +fontforge arial.ttf +``` + +### Add TTF Font + +A font can be added to the local users fonts using a `.ttf` file. +The file has to be copied into the local fonts directory `~/.local/share/fonts`. +Afterwards the [cache should be reloaded](#reload-the-cache). +Finally the font can be [found](#list-or-find-font-family). + +### Reload the Cache + +The cache needs to be reloaded in certain situations like after a new font +has been added. +This can be achieved by the following command. + + +```sh +fc-cache -f -c +``` + ### List or Find Font Family A list of all fonts can be displayed using the command `fc-match -a`. @@ -63,17 +90,18 @@ For matching the command `fc-match -s <search term>` is be used. This will display a list of font families that match best with the given search term. -### Adding New Font +### Adding New Font to Configuration A new font can be added by placing its name inside `<family>`/`</family>`-tags. Make sure to place it inside the correct [font family](/wiki/font.md#typefaces). If you want to add a font into the configuration make sure its name [matches](#list-or-find-font-family) correctly. + ### Recommended Fonts In this section various fonts are listed for the different typefaces. -Make sure to follow [the adding new fonts section](#adding-new-font) after +Make sure to follow [the adding new fonts section](#adding-new-font-to-configuration) after installing new fonts. #### Monospace @@ -119,3 +147,14 @@ displayed properly. [JoyPixels](https://joypixels.com) feature many emoji icons. The fonts can be obtained from their [website](https://joypixels.com/download) or for most distributions from the `ttf-joypixels` package. + +#### Special Fonts + +This section lists some fonts that are good in certain situations but are not +intended to be used as day-to-day font. + +- [MagicMedieval & MagicSymbols](http://www.thealmightyguru.com/GameFonts/Series-MagicTheGathering.html) + are fonts that are similar to the font used in the game + [Magic: The Gathering](/wiki/games/magic%3A_the_gathering.md). + An overview of the glyphs can be found in a + [StackExchange post by Cicada](https://tex.stackexchange.com/questions/570890/how-can-i-typeset-magic-the-gathering-symbols-using-the-pifont-package-in-latex). diff --git a/wiki/linux/git_(client).md b/wiki/linux/git_(client).md index f1818f8..465e3a7 100644 --- a/wiki/linux/git_(client).md +++ b/wiki/linux/git_(client).md @@ -22,6 +22,8 @@ This section addresses various use cases of git. There is also an interactive [fixup guide by Seth Robertson](https://sethrobertson.github.io/GitFixUm/fixup.html). +Robertson also made guides on [post production](https://github.com/SethRobertson/GitPostProduction) +and [best practices](http://sethrobertson.github.io/GitBestPractices). ### Ignore files having local changes diff --git a/wiki/linux/ip.md b/wiki/linux/ip.md index 6333231..e7a08a2 100644 --- a/wiki/linux/ip.md +++ b/wiki/linux/ip.md @@ -28,10 +28,10 @@ Disabling works accordingly by running: ip link set wlan0 down ``` -### Get Outside IP +### Get Outside IP Address For VPN and other applications using a tunnel it can be useful to check the -outside IP of your system. +outside [IP address](/wiki/ip_address.md) of your system. The following command uses the `dig` command. It is either bundled in the `dig` package - like in [Arch Linux](/wiki/linux/arch-linux.md) - or in the `dnsutils` diff --git a/wiki/linux/netplan.md b/wiki/linux/netplan.md index 404c48d..5d013b2 100644 --- a/wiki/linux/netplan.md +++ b/wiki/linux/netplan.md @@ -8,7 +8,7 @@ linux system via YAML files. ### Add more IP addresses to a system In the file `/etc/netplan/50-cloud-init.yaml` create an `addresses:` section -for a device (for example an ethernet device) and list the IP addresses you +for a device (for example an ethernet device) and list the [IP addresses](/wiki/ip_address.md) you want to add to the system to it. It has to be noted, that the added addresses should be outside of the DHCP range of your router. diff --git a/wiki/linux/openssl.md b/wiki/linux/openssl.md index f463537..445bfbc 100644 --- a/wiki/linux/openssl.md +++ b/wiki/linux/openssl.md @@ -25,3 +25,13 @@ where `plaintext.txt` is the message to encrypt and `encrypted.txt` is the encrypted message. You can decrypt the message using the private key `private.key` as follows `openssl rsautl -decrypt -inkey private.key -in encrypted.txt -out plaintext.txt`. + +### Password Generator + +OpenSSL can be used to create a password. +For this use the following command. +It will create a hexadecimal password with 32 characters. + +```ssh +openssl rand -hex 32 +``` diff --git a/wiki/linux/package_manager.md b/wiki/linux/package_manager.md index f9ae863..b1da4ea 100644 --- a/wiki/linux/package_manager.md +++ b/wiki/linux/package_manager.md @@ -17,9 +17,31 @@ It features the same syntax. ### Usage -This section addresses various uses of the pacman and yay package managers. +This section addresses various usages of the arch linux package managers. + +#### Manual Installation of a `PKGBUILD` File + +A `PKGBUILD` file is a [shell](/wiki/linux/shell.md) script that contains the installation +information that is required by the Arch Linux. +Using the `makepkg` command it can be installed like the following command shows. + +```sh +makepkg -sirc +``` + +Afterwards it is installed on the system and can be further managed (especially uninstalled) by the +Pacman package manager. -#### Clean Cache +#### Installing an AUR Program with a Specific Version + +The installation of a specific version of an AUR program can be easily achieved. +For this navigate to the AUR page of the program to install. +On the right-hand side click on `View Changes` and select the version you want to install in the +commit list. +Next to `download` a `.tar.gz` file can be downloaded which includes a `PKGBUILD` file. +Afterwards it needs to be [uncompressed](/wiki/linux/tar.md#uncompressing-a-tar-archive). + +#### Clear Cache The cache of all packages except the one installed can be deleted by running the following command. @@ -27,6 +49,10 @@ The cache of all packages except the one installed can be deleted by running the pacman -Sc ``` +### Troubleshooting + +This section addresses various uses of the pacman and yay package managers. + #### Update Mirrorlist After a while not updating the system it is possible for the mirrorlist to be diff --git a/wiki/linux/papis.md b/wiki/linux/papis.md new file mode 100644 index 0000000..c3ce0e4 --- /dev/null +++ b/wiki/linux/papis.md @@ -0,0 +1,133 @@ +# Papis + +[Papis](/wiki/linux/papis.md) is a [command-line based](/wiki/linux/shell.md) for +[Linux](/wiki/linux.md) [bibliography manager](/wiki/bibliographic_software.md) that can be used +for LaTeX using the BibTeX format. + +## Setup + +Papis can be installed on most distributions by acquiring the `papis` package. +Alternatively it can be downloaded from [the GitHub page](https://github.com/papis/papis). + +### Configuration + +To use Papis a config file needs to be created. +The path of the global config file is `~/.config/papis/config`. +A minimal config can look like the following. +Make sure to change the path of the papers directory. + +```txt +[papers] +dir = ~/cloud/bibliography/papis + +[settings] +default-library = papers +``` + +## Usage + +The following section describes various ways of usage of Papis. + +### Adding, Removing, Editing and Browsing Entries + +An entry can be added by running a command similar to the following. +The values for the different keys needs to be changed, added or omitted accordingly. + +```sh +papis add ~/Documents/interesting.pdf \ + --folder-name interesting-paper-2021 \ + --set author 'John Smith' \ + --set title 'The interesting life of bees' \ + --set year 1985 \ + --set tags 'biology interesting bees' +``` + +Papis can also add sources directly via their DOI code. + +```sh +papis add --from doi 10.10763/1.3237134 +``` + +For the most well known journals are also recognized by Papis + +```sh +papis add https://arxiv.org/abs/1712.03134 +``` + +To remove an entry the following command can be run. +Afterwards the entry that should be removed can be easily selected via the terminal user interface. + +```sh +papis rm +``` + +Entries can be edited by using the following command. + +```sh +papis edit +``` + +Entries can be browsed and viewed either in the terminal or via a local website. +For the first run the following command. + +```sh +papis browse +``` + +For the latter the following command can be run to start the server. +The command-line output will show the address to reach the service. + +```sh +papis serve +``` + +### Create a BibTeX file + +A BibTeX file containing all the entries of all the libraries can be created by running the +following command. +For this the command will create a file called `lib.bib`. + +```sh +papis export --all --format bibtex --out lib.bib +``` + +### Clearing the Cache + +The cache of Papis can be cleared by running the following command. + +```sh +papis --cc +``` + +### Import Entries from a BibTeX File + +This section will discuss the way to add the contents of a BibTeX file to the database. +First the BibTeX file (in this case called `mylib.bib`) will be used to create a new database +inside the folder `tmp-db`. + +```sh +papis bibtex read mylib.bib import -a -o tmp-db +``` + +Afterwards the contents of the temporary database should be checked to be correctly imported. + +```sh +papis -l tmp-db edit +``` + +Afterwards the contents of the temporary library should be moved to the actualy directory where +papis stores its entries. +The path for that can be found in the [config file](#configuration). + +```sh +mv tmp-db/* /path/to/your/library/folder/ +``` + +Finally the cache needs to be cleared for Papis to display the new entries correctly. + +```sh +papis --cc +``` + +Finally the cache needs to be [cleared](#clearing-the-cache) for Papis to display the new entries +correctly. diff --git a/wiki/linux/pipewire.md b/wiki/linux/pipewire.md index 2e85bb5..8723cb3 100644 --- a/wiki/linux/pipewire.md +++ b/wiki/linux/pipewire.md @@ -10,18 +10,212 @@ For clients that use the [PulseAudio](/wiki/linux/pulseaudio.md) API packages on other distros) can be installed. It will automatically remove unneeded and conflicting PulseAudio packages. Additionally `pipewire-alsa` and `pipewire-jack` for JACK and Alsa clients are -available. +available and recommended to install for full compatibility with most software. Make sure to restart to be sure everything is running correctly. ## Usage +This section will focus on the usage of Pipewire. + +### Mixing + For simple sound processing in the form of volume adjustment as well as setting the default input and output devices [`pavucontrol`](https://freedesktop.org/software/pulseaudio/pavucontrol/) can be used as a simple mixer. + +### Routing + +This section focusses on graph-based interfaces also called patchbays. For more advanced routing [qpwgraph](https://github.com/rncbc/qpwgraph) can be used, but the -GTK-based [Helvum](https://gitlab.freedesktop.org/pipewire/helvum) is recommended. -Both are graph-based interface also called patchbays. +GTK-based [Helvum](https://gitlab.freedesktop.org/pipewire/helvum) is also available. +The third available option is [Patchance](https://github.com/Houston4444/Patchance) - this is the +currently recommended software of this wiki. + +### Equalizer, Noise Reduction, etc + For further sound processing the easiest way to do so is using [easyeffects](/wiki/linux/easyeffects.md) which features a wide range of effects to apply to sound streams including noise reduction. + +### Get ID of an Input or Output + +Using the following command a list of all connected input and output aswell as streams and devices +can be displayed. + +```sh +wpctl status +``` + +Under the `Sinks` the outputs are displayed and under `Sources` the inputs. +Defaults are noted with an asterix. +The identificator is displayed prior to the name of the input, output, device or stream. + +If a device name is known (in this case `"Starship/Matisse HD Audio Controller Analog Stereo"`). +The following command will return its identificator. + +```sh +NAME=$(wpctl status | grep "Starship/Matisse HD Audio Controller Analog Stereo") +ID=$( echo $NAME | cut -d '.' -f 1 | cut -c 11-) + +echo ID: $ID +``` + +### Loopback Input + +An input can be output to the default output by using the following command. +In that command `<id>` is the identificator of the input that should be looped back. +It needs to be set accordingly. + +```sh +pw-loopback -C <id> +``` + +### Virtual Devices + +This section focusses on the temporary and permanent creation and removal of virtual devices like +virtual sinks and sources aswell as coupled nodes like loopbacks. + +#### Creating a Null Device + +This section will focus on the creation of a dummy device. +That is a virtual device that can be selected as output but is not used by default. +This can be useful to record applications as their sound can cleanly be passed to the dummy device +which will eliminate other applications sounds. +If the goal is to record and listen to an application at the same time navigate to +[the application loopback section](#creating-an-application-loopback) + +The source for this section of the entry is derived by +[Pipewire Gitlab site](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#single-nodes). + +A dummy device, or null sink, can be created permanently by creating a `.conf` file inside the +`~/.config/pipewire/pipewire.conf.d` directory with the following lines. + + +```txt +context.objects = [ + { factory = adapter + args = { + factory.name = support.null-audio-sink + node.name = "null-sink-0" + node.description = "Null Sink 0" + media.class = Audio/Sink + audio.position = [ FL FR ] + monitor.channel-volumes = true + monitor.passthrough = true + adapter.auto-port-config = { + mode = dsp + monitor = true + position = preserve + } + } + } +] +``` + +Multiple devices can be created by creating different files in the directory. + +If the null sink is only needed temporarily (until the next restart) the following line can be used +to create it. +Use different `sink_name`s to create multiple dummy devices. + +```sh +pactl load-module module-null-sink media.class=Audio/Sink sink_name=null-sink-0 channel_map=stereo +``` + +This will return an id that can be used to remove the sink with the following command. + +```sh +pactl unload-module <id> +``` + +#### Creating a Device Loopback + +In this section a device loopback is defined as a loopback that takes a device as input. +This can be useful to listen to input devices, such as audio interfaces with connected microphones, +instruments, etc. + +The source for this section of the entry is derived by +[Pipewire Gitlab site](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#single-nodes) +and [the official website](https://docs.pipewire.org/page_module_loopback.html). + +A device loopback can be created permanently by creating a `.conf` file inside the +`~/.config/pipewire/pipewire.conf.d` directory with the following lines. + +```txt +context.modules = [ + { + name = libpipewire-module-loopback + args = { + audio.position = [ FL FR ] + capture.props = { + media.class = "Stream/Input/Audio" + node.name = "device-loopback-1-recording" + node.description = "Device-Loopback 1 Recording" + } + playback.props = { + media.class = "Stream/Output/Audio" + node.name = "device-loopback-1-playback" + node.description = "Device-Loopback 1 Playback" + } + audio.volume = 0.5 + audio.mute = true + } + } +] +``` + +The created device loopback is made up by two parts that can be found in different places inside a +mixer like [pavucontrol](#volume-control). +The part called `Device-Loopback 1 Recording` in the example config can be found in the `Recording` +tab. +There the device to loopback can be selected. +The second part called `Device-Loopback 1 Playback` is available under the `Playback` tab and +allows to switch the selection of the output device. + +#### Creating an Application Loopback + +This section will focus on the creation of an application loopback. +In this section an application loopback is defined as a loopback that takes an application as input. +This can be useful to record applications as their sound can cleanly be passed to the sink sink of +the applicatino loopback which will eliminate other applications sounds. +If the goal is to record and not listen to the application at the same time navigate to +[the null device section](#creating-a-null-device). +Alternatively the null device can also be selected as a output device for the playback part of the +application loopback which makes it easily and seemlessly possible to switch between listening in +and not listening without changing the device that is recorded by the capturing program. + +The source for this section of the entry is derived by +[Pipewire Gitlab site](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#single-nodes) +and [the official website](https://docs.pipewire.org/page_module_loopback.html). + +An application loopback can be created permanently by creating a `.conf` file inside the +`~/.config/pipewire/pipewire.conf.d` directory with the following lines. + +```txt +context.modules = [{ + name = libpipewire-module-loopback + args = { + audio.position = [ FL FR ] + capture.props = { + media.class = "Audio/Sink" + node.name = "application-loopback-1-sink" + node.description = "Application-Loopback 1 Sink" + } + playback.props = { + media.class = "Stream/Output/Audio" + node.name = "application-loopback-1-playback" + node.description = "Application-Loopback 1 Playback" + } + } +}] +``` + +The created device loopback is made up by two parts that can be found in different places inside a +mixer like [pavucontrol](#volume-control). +The part called `Application-Loopback 1 Sink` in the example config can be found in the `Output +Devices` tab. +The second part called `Application-Loopback 1 Playback` is available under the `Playback` tab and +allows to switch the selection of the output device. +Also in the `Playback` tab `Application-Loopback 1 Sink` can be selected as an output for currently +running applications which will loopback the sound to the selected output device. diff --git a/wiki/linux/pulseaudio.md b/wiki/linux/pulseaudio.md index 2447a50..7544b62 100644 --- a/wiki/linux/pulseaudio.md +++ b/wiki/linux/pulseaudio.md @@ -6,8 +6,10 @@ ## Usage +This section will discuss the usage of PulseAudio. + ### Mixing For simple sound processing in the form of volume adjustment as well as setting -the default input and output devices `pavucontrol` can be used as a simple -mixer. +the default input and output devices [`pavucontrol`](/wiki/linux/pipewire.md#mixing) can be +used as a simple mixer. diff --git a/wiki/linux/qt.md b/wiki/linux/qt.md new file mode 100644 index 0000000..dac1dca --- /dev/null +++ b/wiki/linux/qt.md @@ -0,0 +1,27 @@ +# Qt + +[Qt](https://www.qt.io/) is an application and widget toolkit. + +## Setup + +On most linux distributions different Qt versions are installed as a dependency of various programs +that use graphical user interfaces. + +### Configuration + +The configuration can easily be achieved by using the programs +[qt5ct](https://github.com/desktop-app/qt5ct) or [qt6ct](https://github.com/trialuser02/qt6ct) +the latter working with the current version of Qt. +qt5ct is officially archived and qt6ct is the recommended program to use and will mainly be +discussed in this article. +These programs can sometimes be found as [package](/wiki/linux/package_manager.md) of the same +name. +Afterwards `qt6ct` can be run to get a graphical user interface to set the theme and icons of Qt +applications. +This will create or edit a configuration file located at `~/.config/qt6ct/qt6ct.conf`. +To make this config apply for all Qt applications the following line needs to be inserted into the +`~/.profile` file. + +```sh +export QT_QPA_PLATFORMTHEME="qt6ct" +``` diff --git a/wiki/linux/shell.md b/wiki/linux/shell.md index c48ca78..90fc4ce 100644 --- a/wiki/linux/shell.md +++ b/wiki/linux/shell.md @@ -26,6 +26,12 @@ This section addresses various different functions by and actions that can be taken with shell commands. The focus is mostly on POSIX-compliant shells and scripts that are compatible with POSIX. +A helpful resource for shell scripts is +[the pure sh bible](https://github.com/dylanaraps/pure-sh-bible). +There are similar repositories and resources for functions that are outside the scope of POSIX +shells. +Because of that and their issue regarding compatibility they will not be mentioned here. + ### Symbolic Links using `ln` `ln` is a command to create links between files and folders. diff --git a/wiki/linux/systemd.md b/wiki/linux/systemd.md index 99d97ac..9ec857c 100644 --- a/wiki/linux/systemd.md +++ b/wiki/linux/systemd.md @@ -43,7 +43,7 @@ Alternatively it can be enabled to start at every boot by running: sudo systemctl enable unturned ``` -## Start/Stop/Enable/Disable a service +### Start/Stop/Enable/Disable a service and Retrieve its Logs Services can be started by running `systemctl start <service-name>`. They respectively can be stopped by replacing the `start` @@ -51,3 +51,15 @@ keyword for `stop`. To start the service after boot it has to be enabled. This works accordingly with the keyword `enable`. The `disable` keyword stops the service from starting automatically. + +Logs of the last start of the service can be found by running `systemctl status <service-name>`. + +### Retrieving the SystemD Logs + +SystemD logs can easily be found using the `journalctl` command. +One of the most notable usages of the command is for checking the logs of the previous boot. +This can be achieved by running the following command. + +```sh +journalctl -b-1 +``` diff --git a/wiki/linux/tar.md b/wiki/linux/tar.md new file mode 100644 index 0000000..a9a3570 --- /dev/null +++ b/wiki/linux/tar.md @@ -0,0 +1,16 @@ +# tar + +tar is a package that acts a an archiving utility. + +## Usage + +This section addresses the usage of the tar package. + +### Uncompressing a tar Archive + +A tar archive (`.tar`, `.tar.gz`, etc.) can be uncompressed by running the following command. +In this command `<tar archive>` stands in as a placeholder for the path of the tar archive. + +```sh +tar -xf <tar archive> +``` diff --git a/wiki/linux/watson.md b/wiki/linux/watson.md new file mode 100644 index 0000000..95782cd --- /dev/null +++ b/wiki/linux/watson.md @@ -0,0 +1,57 @@ +# Watson + +[Watson](https://tailordev.github.io/Watson) is a free and open-source time-tracker for +[Linux](/wiki/linux.md) that uses the [command-line interface](/wiki/linux/shell.md). + +## Setup + +On most Linux distributions Watson can be installed with the `watson` package. +Additionally Watson can be installed using Pythons pip package manager. +The pip package is called ´td-watson`. +Alternatively it can be installed via [GitHub](https://github.com/TailorDev/Watson). + +## Usage + +The following section describes various ways of usage of Watson. + +### Tracking Time and Displaying Tracked Time + +Time can be tracked by running the following command. +This example tracks time to a project called `world-domination` and uses the tag `cats` and `dogs`. +Additional tags can be appended or tags can be ommited if not needed. +This should be adapted to specific needs. + +```sh +watson start world-domination +cats +dogs +``` + +Alternatively the start time can be set in the past by adding the `--at` flag with a time. + +```sh +watson start world-domination +cats +dogs --at 13:37 +``` + +The tracking of the time can be stopped by running the following command. + +```sh +watson stop +``` + +Afterwards the summary of the tracked time can be displayed by running the following command. + +```sh +watson report +``` + +### Adding a Time Frame in Retrospect + +It can be useful to add time frames in retrospect if the starting and stopping of that task was +forgotten at that time. +For this the following command can be run. +It works similarly to starting a time frame as explained in the +[section above](#tracking-time-and-displaying-tracked-time). +Additionally the start and stop time are specified with the `--from` and `--to` flags. + +```sh +watson add --from "2018-03-20 12:00:00" --to "2018-03-20 13:00:00" programming +addfeature +``` diff --git a/wiki/linux/x_window_system.md b/wiki/linux/x_window_system.md index c160d49..957ad6d 100644 --- a/wiki/linux/x_window_system.md +++ b/wiki/linux/x_window_system.md @@ -151,3 +151,36 @@ This usually means that either the [Nvidia](/wiki/nvidia.md) kernel module is no This can be fixed by [installing Nvidia](/wiki/linux/nvidia.md#setup). If this is not the problem then the [initial ramdisk](/wiki/linux/mkinitcpio.md) should be [regenerated](/wiki/linux/mkinitcpio.md#manually-generate-initial-ramdisk). + +### File Picker Doesn't Work + +If the file picker doesn't work in applications like [Discord](/wiki/discord.md) for example first +check if the desktop portal is installed. +For that search for the package `xdg-desktop-portal` or a similar named one using your +[package manager](/wiki/linux/package_manager.md). +If it is installed check if it starts up correctly by using the command +`systemctl --user status xdg-desktop-portal` as described in the +[SystemD entry](/wiki/linux/systemd.md#startstopenabledisable-a-service-and-retrieve-its-logs). + +A possible error is `cannot open display` as it was described and fixed by rockzombie2 and V1del in +an [Arch Linux](/wiki/linux/arch-linux.md) +[forum post](https://bbs.archlinux.org/viewtopic.php?id=294808). +To fix this you can run the following commands to temporarily make the file picker work. + +```sh +systemctl --user import-environment DISPLAY XAUTHORITY +systemctl --user restart xdg-desktop-portal +``` + +If that works make sure the Xorg configs are sourced for users aswell. +It is possible that the following code block is missing in the local `.xinitrc`. +This would create similar errors to the ones experienced. + +```sh +if [ -d /etc/X11/xinit/xinitrc.d ] ; then + for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do + [ -x "$f" ] && . "$f" + done + unset f +fi +``` diff --git a/wiki/markup_language.md b/wiki/markup_language.md new file mode 100644 index 0000000..d5e8788 --- /dev/null +++ b/wiki/markup_language.md @@ -0,0 +1,18 @@ +# Markup Language + +A markup Language is way to encode text so that it has great amounts of structure and formatting. +The most common markup languages are [HTML](#html), Markdown, LaTeX and [XML](#xml). + +## HTML + +HTML is a markup language that is mostly used in the internet via the hypertext system and accessed +via [web browsers](/wiki/web_browser.md). +For styling HTML accordingly CSS is used most of the time. +HTML can be quite challenging to write, read and check for validity. +An easy way to do the latter one is a validation service. +One of the most used ones is the +[Markup Validation Service by W3C](https://validator.w3.org/#validate_by_input). + +## XML + +XML is a markup language often used together with [RSS Feeds](/wiki/rss.md). diff --git a/wiki/matrix.md b/wiki/matrix.md index 780a63b..4e0e0ca 100644 --- a/wiki/matrix.md +++ b/wiki/matrix.md @@ -14,15 +14,19 @@ This setup guide follows a modified version of the Furthermore this guide will assume you already have a [traefik v2.4](./traefik.md) instance setup as described in the [traefik docker image article](./docker/traefik.md). +The Matrix server created by this article will be able to use federation, VoIP using the +[TURN/STUN protocoll from a self-hosted server](#coturn), screen share and video telephony using +jitsi, [a web client using a self-hosted Element server](#element-web-client) and an +[administration interface thats also self-hosted](#administration-interface). -### DNS records +### DNS Records You will need to create some [DNS](./dns.md) entries in order for synapse to function correctly. Additionally you will need 2 subdomains (this guide will assume you use the domain `example.com` with the subdomains `matrix` and `synapse`). -Create the following DNS records: +Create the following DNS records. ```txt example.com. A <ip of your server> @@ -37,7 +41,7 @@ The docker-image used for the synapse matrix server can be found in the [docker-image directory](./docker/matrixdotorg_-_synapse.md). Create the `docker-compose.yml` file at a location of your choice (this guide will assume and recommend the file lies in a directory called matrix) with the -following contents: +following contents. ```yml version: "3.4" @@ -71,11 +75,14 @@ volumes: driver: local ``` -Now manually create the synapse volume you referenced in this file by running: -`docker volume create matrix_synapse` +Now manually create the synapse volume you referenced in this file by running. + +```txt +docker volume create matrix_synapse +``` After that you will need to create the basic configuration files for synapse by -running: +running. ```bash docker run -it --rm \ @@ -88,10 +95,13 @@ docker run -it --rm \ ``` If you want to enable/disable registration go to the `homeserver.yaml` -and add the following line either set to `true` or `false`: -`enable_registration: true`. +and add the following line either set to `true` or `false`. + +```txt +enable_registration: true +``` -Additionally create the following lines: +Additionally create the following lines. ``` federation_ip_range_blacklist: @@ -126,7 +136,7 @@ The docker-image used for the nginx instance can be found in the [docker-image directory](./docker/nginx.md). For federation to work properly an nginx container is needed aswell. In the directory containing your `docker-compose.yml` create the file -`data/matrix/nginx/matrix.conf` and fill in the following lines: +`data/matrix/nginx/matrix.conf` and fill in the following lines. ```txt server { @@ -149,7 +159,7 @@ server { ``` Create the file `data/matrix/nginx/www/.well-known/matrix/client` and set the -contents as follows: +contents as follows. ```json { @@ -160,7 +170,7 @@ contents as follows: ``` Create the file `data/matrix/nginx/www/.well-known/matrix/server` and set the -contents as follows: +contents as follows. ```json { @@ -169,7 +179,7 @@ contents as follows: ``` After that add the following lines in the `service` section in your -`docker-compse.yml`: +`docker-compse.yml`. ```yml nginx: @@ -204,21 +214,21 @@ You should see a green sign that indicates success. If one of these does not work (but synapse works) your nginx configuration is not correctly set up. -### Element web client +### Element Web Client The docker-image used for the web client can be found in the [docker-image directory](./docker/vectorim_-_riot-web.md). This section will add a self hosted Matrix web client in form of `Element` (which was previously called `riot`). -First you will need to create another DNS record: +First you will need to create another DNS record. ```txt chat. A <ip of your server> ``` In the directory containing your `docker-compose.yml` file create the file -`data/matrix/element/config.json` with the contents as follows: +`data/matrix/element/config.json` with the contents as follows. ```json { @@ -288,7 +298,7 @@ In the directory containing your `docker-compose.yml` file create the file ``` After that add the following lines to your `docker-compose.yml` in the `service` -section: +section. ```yml element: @@ -307,8 +317,11 @@ section: ``` Add the following line to the `homeserver.yaml` of the synapse server to -indicate your element domain: -`web_client_location: https://chat.example.com`. +indicate your element domain. + +```txt +web_client_location: https://chat.example.com +``` Start the container. You should now be able to navigate to `https://chat.example.com` where you are @@ -316,7 +329,7 @@ prompted with a log in window. If you already created an account you should be able to log in. If any of that is not working there is something wrong with your configuration. -### Administration interface +### Administration Interface The docker-image used for the administration interface can be found in the [docker-image directory](./docker/awesometechnologies_-_synapse-admin.md). @@ -324,13 +337,13 @@ This section will add a self hosted Matrix administration interface. This is especially useful if you have `enable_registration` set to `false` because you can dynamically create and administrate users and rooms. -First you will need to create another DNS record: +First you will need to create another DNS record. ```txt matrixadmin. A <ip of your server> ``` -Add the following lines in the `service` section to your `docker-compose.yml`: +Add the following lines in the `service` section to your `docker-compose.yml`. ```yml synapse-admin: @@ -350,3 +363,68 @@ Start the container. After that you should be able to navigate to `https://matrixadmin.example.com` and log into the interface with your administration account. Your `Homeserver URL` in that case is `https://synapse.example.com`. + +### Coturn + +The docker-image used for the TURN/STUN Server can be found in the +[docker-image directory](./docker/coturn_-_coturn.md). +This section will add a self hosted TURN/STUN VoIP server. + +In the directory containing your `docker-compose.yml` create the file +`data/matrix/coturn/turnserver.conf` and fill in the following lines. + +```txt +use-auth-secret +static-auth-secret=SomeSecretPasswordForMatrix +realm=matrix.example.com +listening-port=3478 +tls-listening-port=5349 +min-port=49160 +max-port=49200 +verbose +allow-loopback-peers +cli-password=SomePasswordForCLI +external-ip=192.168.0.2/123.123.123.123 +``` + +Make sure to change the values for `static-auth-secret`, `realm`, `cli-password` and `external-ip`. +For the passwords [OpenSSL](/wiki/linux/openssl.md#password-generator) can be used to create a +sufficiently random password. +The value of `external-ip` consists of the local IP (left side) and the public IP (right side). +To get the local IP the command `ip route get 1` can be used. +For the public IP the command `curl api.ipify.org` can be used. + +Then navigate to the `homeserver.yaml` inside the [Synapse volume](#synapse). +Add the following lines. + +```txt +turn_uris: + - "turn:matrix.example.com:3478?transport=udp" + - "turn:matrix.example.com:3478?transport=tcp" + - "turns:matrix.example.com:3478?transport=udp" + - "turns:matrix.example.com:3478?transport=tcp" + +turn_shared_secret: "SomeSecretPasswordForMatrix" +turn_user_lifetime: 86400000 +turn_allow_guests: True +``` + +Change `matrix.example.com` to match the value of `realm` in `data/matrix/coturn/turnserver.conf`. +Do the same for `turn_shared_secret` with the value of `static-auth-secret` in +`data/matrix/coturn/turnserver.conf`. + +Finally add the following lines in the `service` section to your `docker-compose.yml`. + +```yml + coturn: + image: "instrumentisto/coturn:latest" + restart: "unless-stopped" + volumes: + - "./data/matrix/coturn/turnserver.conf:/etc/coturn/turnserver.conf" + ports: + - "49160-49200:49160-49200/udp" + - "3478:3478" + - "5349:5349" +``` + +Afterwards if not done already restart the Matrix server and all its services. diff --git a/wiki/meshtastic.md b/wiki/meshtastic.md new file mode 100644 index 0000000..1cece6f --- /dev/null +++ b/wiki/meshtastic.md @@ -0,0 +1,63 @@ +# Meshtastic + +[Meshtastic](https://meshtastic.org/) is an off-grid protocol using LoRa. +To use Meshtastic a node and a phone using the corresponding Meshtastic app to connect to it is +needed. + +## Setting Up a Meshtastic Node + +To setup a Meshtastic Node a device that is capable of communicating via LoRa is needed. +Often used devices are [microcontrollers](/wiki/microcontroller.md) based on the +[ESP32-chip](/wiki/microcontroller.md#esp32) like the LILYGO TTGO T-BEAM or the Heltec V3, devices +based on the nRF52-chip like the RAK4631 and the LILYGO TTGO T-Echo or devices based on the +RP2040-chip like the Raspberry Pi Pico or the RAK11310 are needed. + +After the device acquisition the meshtastic firmware needs to be flashed on the device. +This can be done using the [official Meshtastic Web Flasher](https://flasher.meshtastic.org/). +After selection of the device and the firmware the flashing process can be started. +The flasher works especially well on [Chrome-based Browsers](/wiki/web_browser.md). + +The firmware can also be flashed using the command line. +To first check if the device is connected correctly the +[Python-package](/wiki/programming-languages/python.md) `esptool` can be used which can be +installed using [pip](/wiki/programming-languages/python.md#modules). +Some [package managers](/wiki/linux/package_manager.md) of +[Linux-based operating systems](/wiki/linux.md) also feature a standalone `esptool` package. +The following command will output the chip of the device connected. + +```sh +esptool chip_id +``` + +Please note that on Linux sometimes the command varies a bit. +`esptool.py chip_id` is also common depending on the used distribution. +Because the command needs hardware access it also is possible that `sudo`-rights are needed. + +After confirming that the device is recognized by esptool the flashing can be achieved by +downloading the firmware that corresponds with the selected device and running the +`device-install.sh` (for Linux and Mac) or the `device-install.bat` script (for +[Windows](/wiki/windows.md)). + +The firmware can be downloaded from the [official website](https://meshtastic.org/downloads/) or +[the GitHub page of the project](https://github.com/meshtastic/firmware/releases). +Make sure to select the firmware (starting with `firmware-`) `zip`-archive that corresponds with +your target device. +Afterwards unzip it and run one of the following commands depending on your operating system. +Make sure to adjust `<Board>` and `<Version>` accordingly. + +```sh +./device-install.sh -f firmware-<Board>-<Version>.bin +device-install.bat -f firmware-<Board>-<Version>.bin +``` + +To update a device to a newer firmware version one of the following commands can be used. + +```sh +./device-update.sh -f firmware-<Board>-<Version>-update.bin +./device-update.bat -f firmware-<Board>-<Version>-update.bin +``` + +After this the flashing of the firmware is done. +Connect the Meshtastic app of your mobile phone to the node via Bluetooth and continue by +configuring the node. +Then the node and you are ready to communicate with other nodes and users. diff --git a/wiki/microcontroller.md b/wiki/microcontroller.md new file mode 100644 index 0000000..c09bba6 --- /dev/null +++ b/wiki/microcontroller.md @@ -0,0 +1,42 @@ +# Microcontroller + +Microcontroller are small computers on an integrated circuit. +It contains a processor, memory and programmable in- and output. + +## ESP32 + +The ESP32 is a cheap and low-energy microcontroller made by Espressif Systems. +It features Wi-Fi and [Bluetooth](/wiki/bluetooth.md). +Some variants of this chip also include LoRa-capability and can be used to communicate via +[Meshtastic](/wiki/meshtastic.md). + +### Flash Firmware on the ESP32 + +This section especially focusses on the ESP32S3 microcontroller. +For other microcontroller of the ESP32-xx family the process should be similar. + +- Download [ESP RF Test Tool and Test Guide](https://www.espressif.com/en/support/download/other-tools) +- Download [Firmware of ESP32S3](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO-ESP32S3-firmware-20240814.zip) +- Open `EspRFTestTool_vX.X_Manual.exe` + - Select the `ESP32S3` as `ChipType` + - Select the correct `COM` for your ESP + - Set the `BaudRate` to 115200 + - Click `open` + - Click `Select Bin` and search for your ESP32S3 Firmware (probably named `xiao_esp32s3_firmware.bin` or similar) + - Left of the `Select Bin` button select `USB` and `Flash` for the two drop-down options + - Click `Load Bin` + - After the upload of the data a completion message should appear +- The ESP32S3 is completely flashed + +### Programming Mode + +When connecting an ESP32 to the computer it needs to be in programming mode. +If it is not in programming mode it will show up as port but will encounter `Write Timeout` Errors +when trying to flash programs or firmware onto it. +To put the ESP32 in the programming mode press and hold the Boot-Button (usually labeled `B`). +Then press and release the Reset-Button (usually labeled `R`). +Afterwards release the Boot-Button. +The board now should be in programming mode and it should be possible to upload and flash programs +or firmware onto it. +This section is based on a Reddit +[comment by cmatkin](https://www.reddit.com/r/esp32/comments/1g8gerg/getting_a_write_timeout_error_on_my_esp32s3/). diff --git a/wiki/mpv.md b/wiki/mpv.md new file mode 100644 index 0000000..e82525c --- /dev/null +++ b/wiki/mpv.md @@ -0,0 +1,47 @@ +# mpv + +[mpv](https://mpv.io/) is a cross-platform command line video player. +It is mainly used for [movies and tv shows](/wiki/video.md) but can handle any kind of local or +remote video file. + +## Setup + +On most [Linux](/wiki/linux.md) distributions mpv can be installed with the `mpv` package. +Alternatively and for [Windows](/wiki/windows.md) it can be installed via +[GitHub](https://github.com/mpv-player/mpv). + +## Usage + +This section addresses various features of mpv. + +### Enable Previews + +Using the [mpv thumbnail script](https://github.com/TheAMM/mpv_thumbnail_script) a preview can be +added to mpv. +This section will describe the Linux-way to install this feature. +It is also available in a similar way for MacOS and Windows. + +The scripts need to be compiled freshly to ensure they're working with the current mpv version. +Then they will be added to the corresponding folder of the mpv settings. + +```sh +git clone https://github.com/TheAMM/mpv_thumbnail_script +cd mpv_thumbnail_script +make +cp mpv_thumbnail_script_client_osc.lua mpv_thumbnail_script_server.lua ~/.config/mpv/scripts +``` + +Afterwards create the file `~/.config/mpv/script-opts/mpv_thumbnail_script.conf` with the following +text. + +```txt +autogenerate=yes +autogenerate_max_duration=14400 +mpv_no_sub=yes +``` + +And finally add the following lines to the file `~/.config/mpv/mpv.conf` + +```txt +osc=no +``` diff --git a/wiki/nativefier.md b/wiki/nativefier.md index 83e8c95..268069b 100644 --- a/wiki/nativefier.md +++ b/wiki/nativefier.md @@ -37,6 +37,22 @@ nativefier --name Mastodon \ --single-instance https://mastodon.technology ``` +By default URLs that are not belonging to the one that is given by `--single-instance` will be +blocked. +There is an unchangeable whitelist. +Single URLs that are not on the whitelist can be excluded and so not be blocked by using the +`--internal-urls` flag. +A complete example using this flag can look like the following. + +```sh +nativefier --name Mastodon \ +--platform linux --arch x64 \ +--width 1024 --height 768 \ +--tray --disable-dev-tools \ +--internal-urls 'outlook.office365.com/*' \ +--single-instance https://mastodon.technology +``` + ### Navigating Back and Forward In a normal [browser](/wiki/web_browser.md) there are buttons to navigate back and forth through diff --git a/wiki/openaudible.md b/wiki/openaudible.md new file mode 100644 index 0000000..eeaea68 --- /dev/null +++ b/wiki/openaudible.md @@ -0,0 +1,43 @@ +# OpenAudible + +[OpenAudible](https://openaudible.org/) is a cross-platform audiobook manager for the audible +audiobook and podcast service. + +## Setup + +The software can be setup via installation files for [Windows](/wiki/windows.md), Mac and +[Linux](/wiki/linux.md) that are available on the +[official website](https://openaudible.org/download). +Linux distributions may aswell feature a package. + +After the installation the user has to connect OpenAudible with Audible. +The `Connect to Audible` button is available under the `Controls` tab. + +## Usage + +This section describes various topics regarding the usage of OpenAudible. + +### Downloading, Converting and Splitting Audiobooks + +To download, convert or split an audiobook first make sure OpenAudible is connected with Audible as +described in the [setup section](#setup). +Also a library sync can be useful if the target audiobook doesn't show up in the list at the bottom +of the window. +A sync can be started by pressing the `Quick Audible Library Sync` button under the `Controls` tab. + +To download locate the audiobook in the list of audiobooks, right-click it and select `Download`. +After the download it can be converted to `.mp3` or `.m4b` by selecting the corresponding option in +the right-click menu. +The same way the audiobook can be split. + +### Licensing and Avoiding It + +OpenAudible is a licensed product. +The first year after installation the new versions can be downloaded and used without charge. +However the versions that come out after this year are subject to the purchase of a license to use +them. +This means that the last version that was released before the end of the first year can be used +indefinitely. +This effectively lets the user use all features like +[converting and splitting audiobooks](#downloading-converting-and-splitting-audiobooks) that are +otherwise bound to a valid license. diff --git a/wiki/programming-languages/python.md b/wiki/programming-languages/python.md index 202ddd2..3068be9 100644 --- a/wiki/programming-languages/python.md +++ b/wiki/programming-languages/python.md @@ -22,6 +22,50 @@ You can then set and install your preferred version of python globally with Analog to managing python versions, `pipenv` can manage pip and package versions. A guide and description of the usage can be found on [gioele.io](https://gioele.io/pyenv-pipenv). +### Manual Installation + +This section is based on a guide by [Linuxize](https://linuxize.com/post/how-to-install-python-3-9-on-ubuntu-20-04/). + +On [Linux-based systems](/wiki/linux.md) Python can be easily installed using make. +The following shows a process of installing Python 3.9.1. +When another Python version is needed the version number has to be adapted accordingly. + +First make sure all the dependencies are installed. +On a [Ubuntu](/wiki/linux.md#distributions) system or other systems using the apt +[package manager](/wiki/linux/package_manager.md) this can look like the following + +```sh +sudo apt update +sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev +``` + +Afterwards the python source code can be downloaded. + +```sh +wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz +tar -xf Python-3.9.1.tgz +cd Python-3.9.1 +``` + +Afterwards if OpenSSL should be enabled for Python uncomment all the corresponding lines in +`Modules/Setup`. +This part of the guide is taken from a +[StackOverflow post by Ironman](https://stackoverflow.com/questions/58309485/modulenotfounderror-no-module-named-ssl). + +Then proceed with the installation. + +```sh +./configure --enable-optimizations +make +sudo make altinstall +``` + +Afterwards you can check if the Pyhton version is installed using the following command. + +```sh +python3.9 --version +``` + ### Vim The steps to make Vim a python IDE are described in @@ -47,10 +91,19 @@ to it and run `pipreqs` (install it if not already done). There are various modules and package managers to install these for python like `pip`. - -## Pytorch - -### Setup Pytorch with Cuda for GPU usage +For this usually a virtual environment is needed - as it is described in +[the setup section](#setup). +Alternatively local package manager like the +[ones of various Linux distributions](/wiki/linux/package_manager.md) can sometimes be used to +install packages globally. +Due to different package versions (especially on rolling release distributions) this can fail. +If it doesnt work the packages can be installed globally using `pip` together with the +`--break-system-packages` flag. +This flag is to be used with care. + +### Pytorch + +#### Setup Pytorch with Cuda for GPU usage If you are on Arch Linux or a distribution based on it install `python-pytorch-cuda` via `pacman -S python-pytorch-cuda`. diff --git a/wiki/rss.md b/wiki/rss.md index 4334b2a..b653a9b 100644 --- a/wiki/rss.md +++ b/wiki/rss.md @@ -11,3 +11,10 @@ This sections lists various RSS clients. - [FreshRSS](/wiki/freshrss.md) is a self-hosted RSS aggregator with a web interface. - [Feeder](https://f-droid.org/de/packages/com.nononsenseapps.feeder/) is an RSS reader for [Android](/wiki/android.md) phones available on [F-Droid](/wiki/android/f-droid.md). + +## Validation + +RSS and XML are not very human-readable like other [Markup languages](/wiki/markup_language.md). +For this a validator can be used. +One of the most popular ones is the +[Feed Validation Service by W3C](https://validator.w3.org/feed/#validate_by_input). diff --git a/wiki/sinusbot.md b/wiki/sinusbot.md new file mode 100644 index 0000000..efc80a4 --- /dev/null +++ b/wiki/sinusbot.md @@ -0,0 +1,10 @@ +# Sinusbot + +[Sinusbot](https://www.sinusbot.com/) is a bot that can play music on both +[Teamspeak](/wiki/teamspeak.md) and [Discord](/wiki/discord.md) servers. +It is self-hostable, closed-source and free of charge. + +## Setup + +The software can be setup via [Docker](/wiki/docker.md) with the +[sinusbot image](/wiki/docker/sinusbot_-_docker.md). diff --git a/wiki/subsonic.md b/wiki/subsonic.md index 9e2b28c..033447a 100644 --- a/wiki/subsonic.md +++ b/wiki/subsonic.md @@ -30,3 +30,7 @@ The following list contains a selection of clients. - [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. +- [Feishin](https://github.com/jeffvli/feishin) will be a free and open-source client for MacOS, + [Linux](/wiki/linux.md) that also features a web ui. + Currently it only supports Navidrome and Jellyfin. + The Subsonic functionality is curently being worked on. diff --git a/wiki/teamspeak.md b/wiki/teamspeak.md index fa3dff0..8e7aed4 100644 --- a/wiki/teamspeak.md +++ b/wiki/teamspeak.md @@ -59,3 +59,12 @@ For Teamspeak3 on [Linux](/wiki/linux.md) systems this folder can be found at `/opt/teamspeak3/sound`. For Teamspeak5 on Linux the folder is available at `/opt/teamspeak/html/client_ui/sound`. Following this the sound pack is available after the next (re-)start of teamspeak. + +### Setting Up a Music Bot + +For Teamspeak there are various bots capable of playing music. +The following is a list of bots featured in this wiki that can do this. + +- [Sinusbot](/wiki/sinusbot.md) is a self-hosted bot for Teamspeak that can play music and sounds. + It's closed-source and free of charge. + It also features [Discord](/wiki/discord.md) support. diff --git a/wiki/tvheadend.md b/wiki/tvheadend.md index 2fedeb5..73e604f 100644 --- a/wiki/tvheadend.md +++ b/wiki/tvheadend.md @@ -24,7 +24,7 @@ This configuration includes the setup of different types of tuners. Using a Fritzbox as the router the build in SAT>IP tuner can be used. For this `--satip_xml http://192.168.178.1:49000/satipdesc.xml` needs to be -added as a run option with the IP address matching the one of your Fritzbox. +added as a run option with the [IP address](/wiki/ip_address.md) matching the one of your Fritzbox. For multiple tuners to work the hosting system has to have multiple IP addresses as only one address can be bound to one tuner at the time. @@ -71,7 +71,7 @@ Select them one-by-one, check `Enabled`, select your just set up network in `Networks` aswell as `DVB-C` as the network type. Set `Next tune delay in ms (0-2000)` to `200` and select `On` for `Pass specinv`. -Then put in one of the IP addresses added to your system in the previous step +Then put in one of the [IP addresses](/wiki/ip_address.md) added to your system in the previous step under `Tuner bind IP address`. Then click `Save`. diff --git a/wiki/video.md b/wiki/video.md index e9c539c..eee38f5 100644 --- a/wiki/video.md +++ b/wiki/video.md @@ -11,7 +11,15 @@ your needs. In general you need to consider if you want the video directly on your pc or access a server for it. -## Server/Client +## Video Editing + +There are various programs that can be used to edit videos. +The following is a list of programs that are deemed useful by this guide. + +- [Kdenlive](https://kdenlive.org/) is a is a free and open-source video editing software that is + available on [Windows](/wiki/windows.md), Mac and [Linux-based Systems](/wiki/linux.md). + +## Players If you want to keep your system clean of much data, you can use this kind of setup. There are differences depending on your preffered client interface. @@ -19,6 +27,10 @@ There are differences depending on your preffered client interface. - [Plex](https://www.plex.tv) is a dockerizable media streaming service with web-interface. - [Jellyfin](./jellyfin.md) is a foss dockerizable media streaming service with web-interface. +For local video files a simple video player can be used. + +- [mpv](./mpv.md) is a cross-platform command line video player. + ## Scan DVDs/Blu-Rays You can convert your DVDs and Blu-Rays to files on your computer. @@ -30,7 +42,7 @@ This way you don't have to search for your discs all the time. On Linux it is possible that the drive is not detected in MakeMKV. To fix this issue run the following lines and reboot afterwards. - ``` + ```sh su echo sg > /etc/modules-load.d/sg.conf ``` @@ -120,7 +132,7 @@ expressions for extras from the [extras section](#naming-extras). The `movies` folder is a folder containing all movies. An example looks like the following: -``` +```txt movies └── best_movie_ever_(2019) ├── best_movie_ever_(2019)-brd_uu.mp4 @@ -155,7 +167,7 @@ Specify the extras inside the `season_0` folder with the expressions from The `shows` folder is a folder containing all tv shows. An example looks like the following. -``` +```txt shows └── series_(2010) ├── season_0 diff --git a/wiki/vpn.md b/wiki/vpn.md index dbcc7bf..b05db49 100644 --- a/wiki/vpn.md +++ b/wiki/vpn.md @@ -2,8 +2,10 @@ A VPN is a virtual private network. It uses a secure connection between a computer and a network or two networks. -It can be used to display another IP address but does not make tracking or +It can be used to display another [IP address](/wiki/ip_address.md) but does not make tracking or fingerprinting of the device impossible. +For the latter a plugin like [Chameleon](/wiki/chameleon.md) for [Firefox](/wiki/firefox.md) +can be used. VPNs feature a server and a client side. ## VPN implementations diff --git a/wiki/windows/wsl.md b/wiki/windows/wsl.md new file mode 100644 index 0000000..8a94ab2 --- /dev/null +++ b/wiki/windows/wsl.md @@ -0,0 +1,62 @@ +# WSL + +[WSL](https://learn.microsoft.com/en-us/windows/wsl/) - short for Windows Subsystem for Linux - is +a Tool of [Windows](/wiki/windows.md) that allows users and developers to run a +[Linux](/wiki/linux.md) environment. + +## Setup + +WSL ist preinstalled on the newer Windows versions. +Then the distribution to run may have to be [installed](#installing-a-distribution). + +## Usage + +### Installing a Distribution + +First make sure to update WSL. +This can be done by running the following command. + +```powershell +wsl --update +``` + +If the Microsoft Store is disabled on the system the command needs to be adapted. + +```powershell +wsl --update --web-download +``` + +Then the distribution will be installed. +First get the name of the distribution to be installed. +This can be done by running the following command. + +```powershell +wsl.exe -l -o +``` + +Afterwards install the distribution. +`<Distribution Name>` is the name of the distribution obtained in the previous stepa. + +```powershell +wsl.exe --install -d <Distribution Name> +``` + +On systems that have the Microsoft store disabled the distribution needs to be imported instead. +For this a file system image of the distribution inside a tar archive is needed. +These archives can be found on the websites of the distribution. +For example Ubuntu file system images can be found +[on their cloud image site](https://cloud-images.ubuntu.com/wsl/noble/current/). +`<Distribution Name>` should be set to the name of the distribution. +`<Install Location>` is the path where the systems files will be stored. +`<Install TarFile>` is the path to the file obtained from the distributions website. + +```powershell +wsl --import <Distribution Name> <Install Location> <Install TarFile> +``` + +Afterwards the default distribution may have to be set. +Once again `<DistributionName>` is the name of the distribution to make the new default. + +```powershell +wsl --setdefault <DistributionName> +``` diff --git a/wiki/wireguard.md b/wiki/wireguard.md index 6d123f4..355475a 100644 --- a/wiki/wireguard.md +++ b/wiki/wireguard.md @@ -58,7 +58,7 @@ The following guide is based on a comments by the Reddit users To set up the usage of a local DNS the WireGuard configuration file needs to be changed. The following lines have to be appended under the `[Interface]` section and the -DNS IP address (in this case `192.168.178.1`) has to be changed as needed. +DNS [IP address](/wiki/ip_address.md) (in this case `192.168.178.1`) has to be changed as needed. `wg0` is the name of the configuration file (see [the usage section](#wg-usage)) for reference. diff --git a/wiki/work.md b/wiki/work.md new file mode 100644 index 0000000..099c46e --- /dev/null +++ b/wiki/work.md @@ -0,0 +1,23 @@ +# Work + +Work is a human activity that supports the needs of the wider community. +It generally is viewed as contributing towards goods or services in an economy. + +## Programs + +There are various programs that can be useful in a work setting. +The following are program types that are generally considered useful. + +- Office suites are an assortment programs that are similar to Microsofts Office suite. + - The original office programs are Microsofts Excel, Word, Powerpoint and more for + [Windows](/wiki/windows.md) + - [Apaches OpenOffice](https://www.openoffice.org/) is an open-source office suite for Windows + and [Linux](/wiki/linux.md). + - [LibreOffice](https://libreoffice.org/) is a free and open-source office suite for Windows and + Linux-based systems. LibreOffice can have problems with hardware-acceleration. + If it doesn't start due to it being enabled start LibreOffice in safe mode and disable it. +- Time-tracking software includes programs that allow its user to track the time they spent working + on a specific task or project. + - [Watson](/wiki/linux/watson.md) is a free and open-source time-tracker that uses + the [command-line interface](/wiki/linux/shell.md). + It is designed for Linux-based systems. diff --git a/wiki/youtube.md b/wiki/youtube.md index 30dbe63..c653812 100644 --- a/wiki/youtube.md +++ b/wiki/youtube.md @@ -6,9 +6,14 @@ There are some alternative frontends available that also feature user managament including subscriptions. -A self-hosting alternative is [Invidious](/wiki/invidious.md). -For [Android](/wiki/android.md) phones [NewPipe](https://github.com/TeamNewPipe/NewPipe) is -available in the [F-Droid Appstore](/wiki/android/f-droid.md). + +- [Invidious](/wiki/invidious.md) is self-hosted and provides a cross-platform web service. + This frontend allows the usage of [SponsorBlock](#automatically-skip-sponsorships). +- [FreeTube](https://freetubeapp.io/) is a alternative frontend that provides a local desktop + application for [Linux](/wiki/linux.md), Mac and [Windows](/wiki/windows.md) systems. + This application has [SponsorBlock](#automatically-skip-sponsorships) built in. +- [NewPipe](https://github.com/TeamNewPipe/NewPipe) for [Android](/wiki/android.md) phones is an + application that is available via the [F-Droid Appstore](/wiki/android/f-droid.md). ## Downloading YouTube Videos @@ -19,6 +24,8 @@ As a command line utility [yt-dl](https://github.com/ytdl-org/youtube-dl) can be used. Since yt-dl is stagnant its fork [yt-dlp](https://github.com/yt-dlp/yt-dlp) is recommended. +Another alternative is [streamrip](https://github.com/nathom/streamrip). +It should only be used for YouTube and other freely available sources like SoundCloud. [MeTube](/wiki/metube.md) and [TubeArchivist](/wiki/docker/bbilly1_-_tubearchivist.md) are self-hostable web user interfaces for [yt-dlp](https://github.com/yt-dlp/yt-dlp).