Merge branch 'master' of ssh://github/tiyn/wiki

master
TiynGER 10 months ago
commit 83ec160f33

@ -4,18 +4,18 @@
the usenet and [BitTorrent](/wiki/bittorrent.md) domain.
These applications include but are not limited to
[Sonarr](https://github.com/Sonarr/Sonarr) for
[TV shows](/wiki/movies_&_tv_shows.md),
[TV shows](/wiki/video.md),
[Radarr](https://github.com/Radarr/Radarr) for
[movies](/wiki/movies_&_tv_shows.md) and
[movies](/wiki/video.md) and
[Lidarr](https://github.com/Lidarr/Lidarr) for [music](/wiki/audio.md).
## Setup
For the different applications there are different [Docker](/wiki/docker.md)
containers for setup:
[Linuxservers Sonarr image](/wiki/docker-images/linuxserver_-_sonarr.md),
[Linuxservers Radarr image](/wiki/docker-images/linuxserver_-_radarr.md) and
[Linuxservers Lidarr image](/wiki/docker-images/linuxserver_-_lidarr.md).
[Linuxservers Sonarr image](/wiki/docker/linuxserver_-_sonarr.md),
[Linuxservers Radarr image](/wiki/docker/linuxserver_-_radarr.md) and
[Linuxservers Lidarr image](/wiki/docker/linuxserver_-_lidarr.md).
### Initial Configuration

@ -9,7 +9,7 @@ is a fork of [Subsonic](./subsonic.md).
## Setup
The software can be setup via docker with the
[linuxserver image](./docker-images/linuxserver_-_airsonic-advanced.md).
[linuxserver image](./docker/linuxserver_-_airsonic-advanced.md).
### Initial configuration

@ -10,7 +10,7 @@ A more modern implementation of it is
## Set up
The software can be setup via [Docker](/wiki/docker.md) with the
[linuxserver image](./docker-images/linuxserver_-_airsonic.md).
[linuxserver image](./docker/linuxserver_-_airsonic.md).
### Clients

@ -0,0 +1,23 @@
# Android
[Android](https://www.android.com/) is a mobile operating system based on a modified
[Linux](/wiki/linux.md) kernel.
It is designed primarily for mobile devices with touch screens like tablets or smart phones.
## App Store
The most used app store of android is the [Google Play Store](https://play.google.com/).
A free and open-source alternative to it is [F-Droid](/wiki/android/f-droid.md) which only features
open-source software.
## Multi-Factor Authentication
[Multi-factor authentication](/wiki/multi-factor_authentication.md) can easily be set up on android
systems.
For this the arguably most used app is
[Google Authenticator](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=de&gl=US).
A free and open-source alternative for it is FreeOTP+.
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/).

@ -0,0 +1,34 @@
# DroidCam
[DroidCam](https://www.dev47apps.com/) is an App developed and published
by Dev47Apps for [Android](/wiki/android.md) systems.
It enables a [smartphone](/wiki/smart_devices.md) to be used as [webcam](/wiki/webcams.md).
## Setup
DroidCam needs to be set up on the phone aswell as on the computer to be used.
On [Android](/wiki/android.md) DroidCam is available on the
[Google Play Store](/wiki/android.md#app-store) in a package called
[DroidCam Webcam](https://play.google.com/store/apps/details?id=com.dev47apps.droidcam).
On the computer setup files for both [Linux](/wiki/linux.md) and [Windows](/wiki/windows.md) can be
found on the [official website](https://www.dev47apps.com/).
Alternatively most [Linux systems](/wiki/linux/package_manager.md) feature a package named
`droidcam`.
## Usage
To initiate a connection between the [smartphone](/wiki/smart_devices.md) and the computer first
start the app on the smartphone.
Make sure to be connected to the same W-LAN as the computer or alternatively connect them with an
USB-cable.
After starting the application an IP and a port will be displayed.
These have to be pasted into the form that is shown on the computer after starting the corresponding
program.
After pressing `Connect` the link will be established.
The [video feed](/wiki/webcams.md) can then be used in other programs such as Discord or
[Matrix](/wiki/matrix.md).
Additionally it can be piped into [OBS](/wiki/obs.md) to edit it more or create a scene.
Despite the option the separate app [DroidCam OBS](https://www.dev47apps.com/obs/) is not
necessarily needed.

@ -1,7 +1,7 @@
# F-Droid
[F-Droid](https://f-droid.org) is an installable catalogue of free and open source
software for Android systems.
software for [Android](/wiki/android.md) systems.
## Setup

@ -0,0 +1,62 @@
# Gadgetbridge
[Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge/) is a free and open source software
for [Android](/wiki/android.md) systems.
It is a cloudless replacement for proprietary software for
[smart devices](/wiki/smart_devices.md), but is especially designed for
[smartwatches and smart bands](/wiki/smart_devices.md#smartwatches-and-smart-bands).
## Setup
Gadgetbridge is available on [F-Droid](/wiki/android/f-droid.md) in a package called
[gadgetbridge](https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/).
## Usage
The following section addresses different uses and the configuration of different devices in
Gadgetbridge.
### Configuration of Devices
Devices can be added to Gadgetbridge by clicking on the `+` in the main screen.
Afterwards the device can simply be paired.
A special pairing procedure is needed for Amazfit or Xiaomi devices.
The following describes the steps that need to be done.
- Download the
[Zepp app](https://play.google.com/store/apps/details?id=com.huami.watch.hmwatchmanager).
- Pair the device with the Zepp app.
- Use [huami-token](https://codeberg.org/argrento/huami-token/) to obtain the auth key by using the
command `python3 huami_token.py --method amazfit --email my_email --password password --bt_keys`
with adjusted values.
- Uninstall the Zepp app and unpair the device from inside the bluetooth settings of the smart
phone.
- Inside the Gadgetbridge app click on the `+`, find the device and enter the auth key by long
pressing on the devices name.
Afterwards navigate back to the scanning list.
- Pair the device by clicking on the device name.
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.
Afterwards the weather function will be working.
### Install Watchfaces
Watchfaces can be installed by using Gadgetbridges `File Installer` option that is available in the
menu of connected devices.
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).

@ -0,0 +1,38 @@
# IP Webcam
[IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam&hl=de&gl=US) is an App
developed and published by Pavel Khlebovich for [Android](/wiki/android.md) systems.
It enables a [smartphone](/wiki/smart_devices.md) to be used as [webcam](/wiki/webcams.md).
## Setup
On [Android](/wiki/android.md) IP Webcam is available on the
[Google Play Store](/wiki/android.md#app-store) in a package called
[IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam&hl=de&gl=US).
## Usage
To initiate a connection between the [smartphone](/wiki/smart_devices.md) and the computer first
start the app on the smartphone.
Make sure to be connected to the same W-LAN as the computer or alternatively connect them with an
USB-cable.
After starting the application an IPv4 link be displayed.
This link can be pasted into a [browser](/wiki/web_browser.md).
There the video aswell as various settings will be available.
An example link will look like the following.
```txt
http://192.168.178.66:8080
```
Additionally it can be piped into [OBS](/wiki/obs.md) to edit it or into
[ffmpeg](/wiki/linux/ffmpeg.md) on [Linux](/wiki/linux.md) systems to create a virtual webcam
device as explained in the
[ffmpeg entry](/wiki/linux/ffmpeg.md#create-a-virtual-camera-using-an-ip-video-stream).
The link used for applications like this will be the previously displayed IPv4 link aswell as an
appended `/videofeed`.
An example link will look like the following.
```txt
http://192.168.178.66:8080/videofeed
```

@ -0,0 +1,20 @@
# scrcpy
[scrcpy](https://scrcpy.org/) is an application that allows remote
mirroring of an [Android phones](/wiki/android.md) screen aswell as controlling it.
## Setup
scrcpy needs to be set up on the computer that displays the mirror of the smartphone used.
Setup files for [Windows](/wiki/windows.md) can be found on the
[official website](https://scrcpy.org/download/).
Alternatively most [Linux systems](/wiki/linux/package_manager.md) feature a package named
`scrcpy`.
## Usage
Connect the phone which is to be controlled with the computer via USB.
Make sure USB debugging is enabled in the phones setting.
Afterwards start up scrcpy.
It is possible that debugging has to be confirmed on the phone again after starting the application.

@ -10,6 +10,8 @@ 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
the corresponding [VoIP section](/wiki/communication.md#voip).
## Media Software
@ -137,3 +139,23 @@ 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 has moved more and more into the computer realm.
An easy and intuitive software that can be used for this is
[MuseScore.org](https://musescore.org/).
MuseScore is free and open-source and is cross-platform.
On [Linux based systems](/wiki/linux.md) it is available on most distributions via the `musescore`
package or their [website](https://musescore.org/download) and can be run with the command `mscore`.
For Windows visit the [download section of the MuseScore website](https://musescore.org/download).
### Getting Metadata
Using [MediaInfo](https://github.com/MediaArea/MediaInfo) metadata of a file can be obtained.
A command for this looks like the following.
In this the file to obtain metadata to is assumed to be `audio.flac`.
```sh
mediainfo audio.flac
```

@ -0,0 +1,8 @@
# Benchmark
A benchmark is the act of running a program or operation in order to assess its performance.
Benchmarks can use a range of criteria to compare programs with one another.
## Tools
- [Hyperfine](/wiki/linux/hyperfine.md) is a benchmarking tool for programs and commands [Linux](/wiki/linux.md).

@ -9,7 +9,7 @@ as it is not possible anymore to show user pages but only single posts.
## Setup
The software can be setup via [Docker](/wiki/docker.md) with the
[cloudrac3r image](./docker-images/cloudrac3r_-_bibliogram.md).
[cloudrac3r image](./docker/cloudrac3r_-_bibliogram.md).
## Automatic redirect from Instagram
@ -17,5 +17,5 @@ There are various add-ons to redirect from Instagram links to your (or a public)
Bibliogram instance.
For Firefox for example there is
[privacy redirect](https://addons.mozilla.org/en-US/firefox/addon/privacy-redirect/).
For Android there is
For [Android](/wiki/android.md) there is
[the UntrackMe app](https://framagit.org/tom79/nitterizeme) (available at [f-droid](./android/f-droid.md)).

@ -6,7 +6,7 @@ interacting with the [DNS](./dns.md).
## Setup
The software can be setup via docker with the
[ventz image](./docker-images/ventz_-_bind.md).
[ventz image](./docker/ventz_-_bind.md).
## Usage

@ -28,5 +28,5 @@ This is not a legal advice.
Take your local laws into account when downloading torrents.
Some torrents can be copyright infringing and therefor illegal to download.
Only download legal and safe torrents like the
[Arch Linux ISO](/wiki/linux/arch-linux/arch-linux.md#iso-medium).
[Arch Linux ISO](/wiki/linux/arch-linux.md#iso-medium).
Seeding it can help the community.

@ -3,6 +3,6 @@
[Bluetooth](https://www.bluetooth.com/) is a short-range technology for wireless
data transfer.
For [Linux](/wiki/linux/linux.md) based operating systems the
For [Linux](/wiki/linux.md) based operating systems the
[bluez package](/wiki/linux/bluez.md) is used as the implementation of the
bluetooth standard.

@ -0,0 +1,19 @@
# Communication
Computer communication can have multiple different forms.
There are voice and video calls aswell as text based messaging.
This article bundles all of them.
## VoIP
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.
### Soundboards
A soundboard is a computer program to pipe audio files to an application.
It can be used for short audio inserts.
A cross-platform aswell as free and open-source soundboard is
[Soundux](https://github.com/Soundux/Soundux)

@ -6,7 +6,7 @@ unix and unix-like systems.
## Setup
The software can be setup via [Docker](/wiki/docker.md) with the
[linuxserver image](./docker-images/linuxserver_-_airsonic.md).
[linuxserver image](./docker/linuxserver_-_airsonic.md).
Additionally to this a client is needed on the system that need access to the
server software.

@ -5,5 +5,5 @@ Most prominent type of database are SQL databases.
## Database management systems (DBMS)
- [MySQL](./docker-images/mysql.md) is a relational DBMS
- [MariaDB](./docker-images/mariadb.md) is a relational DBMS that is a fork of MySQL
- [MySQL](./docker/mysql.md) is a relational DBMS
- [MariaDB](./docker/mariadb.md) is a relational DBMS that is a fork of MySQL

@ -32,7 +32,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-images/portainer.md): web ui for managing docker and kubernetes
- [portainer](./docker/portainer.md): web ui for managing docker and kubernetes
### Enable Nvidia GPUs

@ -0,0 +1,132 @@
# bbilly1 - tubearchivist
This is a [Docker](/wiki/docker.md) container for a [TubeArchivist](/wiki/tubearchivist.md)
server.
The Server consists of 3 Docker containers, one is the TubeArchivist main server, another is a
TubeArchivist specific version of Elasticsearch and one a [redis](/wiki/docker/redis.md) instance.
## Set-up
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
Set the following environment-variables in the `environment:` section of the
docker-compose file.
The following table lists the environment variables for the image `bbilly1/tubearchivist`.
| Name | Usage | Default |
| -------------------| ------------------------------------------- | ------- |
| `ES_URL` | Network address for elastic search instance | `` |
| `REDIS_HOST` | Redis broker URL | `` |
| `HOST_UID` | User ID of Host | `` |
| `HOST_GID` | Group ID of Host | `` |
| `TA_HOST` | Domain name for TubeArchivist | `` |
| `TA_USERNAME` | User name for TubeArchivist | `` |
| `TA_PASSWORD` | Password for TubeArchivist | `` |
| `ELASTIC_PASSWORD` | Password for Elasticsearch | `` |
| `TZ` | Timezone | `` |
The following table lists the environment variables for the image `bbilly1/tubearchivist-es`.
| Name | Usage | Default |
| -------------------| ------------------------------------------- | ------- |
| `ELASTIC_PASSWORD` | Password for Elasticsearch | `` |
| `ES_JAVA_OPTS` | Additional Java options | `` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
The following table lists the environment variables for the image `bbilly1/tubearchivist`.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------------ | --------------------------- |
| `media` | `/youtube` | storage for media |
| `cache` | `/cache` | storage for cache |
The following table lists the environment variables for the image `bbilly1/tubearchivist-es`.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------------------- | --------------------------- |
| `es` | `/usr/share/elasticsearch/data` | storage for elasticsearch |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8000` | `8881` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker-compose up -d
```
## docker-compose.yml
```yml
version: '3.3'
services:
ta:
restart: unless-stopped
image: bbilly1/tubearchivist
ports:
- 8881:8000
volumes:
- media:/youtube
- cache:/cache
environment:
- ES_URL=http://es:9200 # needs protocol e.g. http and port
- REDIS_HOST=redis # don't add protocol
- HOST_UID=1000
- HOST_GID=1000
- TA_HOST=subdomain.domain.tld # set your host name
- TA_USERNAME=admin # your initial TA credentials
- TA_PASSWORD=admin # your initial TA credentials
- ELASTIC_PASSWORD=verysecret # set password for Elasticsearch
- TZ=Europe/Berlin # set your time zone
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 2m
timeout: 10s
retries: 3
depends_on:
- es
- redis
redis:
image: redis/redis-stack-server
restart: unless-stopped
volumes:
- redis:/data
depends_on:
- es
es:
image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.9.0
restart: unless-stopped
environment:
- "ELASTIC_PASSWORD=verysecret" # matching Elasticsearch password
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "xpack.security.enabled=true"
- "discovery.type=single-node"
- "path.repo=/usr/share/elasticsearch/data/snapshot"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme
volumes:
media:
cache:
redis:
es:
```

@ -42,7 +42,7 @@ docker-compose up -d
## .env
```txt
```sh
TZ="Europe/Berlin"
PT_INITIAL_ROOT_PASSWORD=<root password>

@ -1,6 +1,6 @@
# dyonr - jackettvpn
This is a [Docker](/wiki/docker.md) container for a [VPN](/wiki/vpn.md)
This is a [Docker](/wiki/docker.md) container for a [OpenVPN](/wiki/openvpn.md)
protected [Jackett](/wiki/jackett.md) server.
The official container and documentation was made by
[dyonr](https://github.com/DyonR/docker-Jackettvpn).

@ -2,7 +2,7 @@
This is a [Docker](/wiki/docker.md) container for a
[qBittorrent](../qbittorrent.md) server that is connected to the internet via
an [openVPN tunnel](/wiki/vpn.md).
an [openVPN tunnel](/wiki/openvpn.md).
The official container and documentation was made by
[dyonr](https://github.com/DyonR/docker-qbittorrentvpn).

@ -0,0 +1,111 @@
# gramps-project - gramps
This is a [Docker](/wiki/docker.md) container for a [Gramps](../gramps.md)
server.
The Server consists of 2 Docker containers, one is the gramps main server - split into two
subcontainers - and one a [redis instance](/wiki/docker/redis.md).
## Set-up
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
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| ----------------------------------------- | ------------------------------------ | ------- |
| `GRAMPSWEB_TREE` | Will create a new tree if not exists | `` |
| `GRAMPSWEB_CELERY_CONFIG__broker_url` | Redis broker URL | `` |
| `GRAMPSWEB_CELERY_CONFIG__result_backend` | Redis backend URL | `` |
| `GRAMPSWEB_RATELIMIT_STORAGE_URI` | Storage URI | `` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------------ | --------------------------- |
| `gramps_users` | `/app/users` | storage for users |
| `gramps_index` | `/app/indexdir` | storage for search index |
| `gramps_thumb_cache` | `/app/thumbnail_cache` | storage for thumbnails |
| `gramps_cache` | `/app/cache` | storage for cache |
| `gramps_secret` | `/app/users` | storage for flask secret |
| `gramps_db` | `/root/.gramps/grampsdb` | Gramps database |
| `gramps_media` | `/app/media` | storage for media |
| `gramps_tmp` | `/tmp` | storage for temporary files |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `5000` | `80` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull ghcr.io/gramps-project/grampsweb:latest
docker pull redis:alpine
docker-compose up -d
```
## docker-compose.yml
```yml
version: "3"
services:
grampsweb: &grampsweb
image: ghcr.io/gramps-project/grampsweb:latest
restart: always
ports:
- "5051:5000" # host:docker
environment:
GRAMPSWEB_TREE: "Gramps Web" # will create a new tree if not exists
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
depends_on:
- grampsweb_redis
volumes:
- gramps_users:/app/users
- gramps_index:/app/indexdir
- gramps_thumb_cache:/app/thumbnail_cache
- gramps_cache:/app/cache
- gramps_secret:/app/secret
- gramps_db:/root/.gramps/grampsdb
- gramps_media:/app/media
- gramps_tmp:/tmp
grampsweb_celery:
<<: *grampsweb # YAML merge key copying the entire grampsweb service config
ports: []
container_name: grampsweb_celery
depends_on:
- grampsweb_redis
command: celery -A gramps_webapi.celery worker --loglevel=INFO
grampsweb_redis:
image: redis:alpine
container_name: grampsweb_redis
restart: always
volumes:
- redis:/data
volumes:
gramps_users:
gramps_index:
gramps_thumb_cache:
gramps_cache:
gramps_secret:
gramps_db:
gramps_media:
gramps_tmp:
redis:
```

@ -0,0 +1,73 @@
# grimsi - gameyfin
This is a [Docker](/wiki/docker.md) container for a [Gameyfin](/wiki/games/gameyfin.md).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs.
Create the volume for the configuration files by running the command `docker volume create
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
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------------------- | --------------------------------------- | ------- |
| `GAMEYFIN_USER` | user name for gameyfin | |
| `GAMEYFIN_PASSWORD` | password for gameyfin | |
| `GAMEYFIN_IGDB_API_CLIENT_ID` | id of twitch internet game database | |
| `GAMEYFIN_IGDB_API_CLIENT_SECRET` | secret of twitch internet game database | |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ----------------------- | ------------------------------ |
| `media_games` | `/opt/gameyfin-library` | storage for games and configs |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------- |
| `8080` | `8093` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker-compose up -d
```
## docker-compose.yml
```yml
version: "3"
services:
gameyfin:
image: grimsi/gameyfin:latest
container_name: gameyfin
environment:
- GAMEYFIN_USER=admin
- GAMEYFIN_PASSWORD=admin
- GAMEYFIN_IGDB_API_CLIENT_ID=id
- GAMEYFIN_IGDB_API_CLIENT_SECRET=secret
volumes:
- media_games:/opt/gameyfin-library
- config:/opt/gameyfin-library/.gameyfin
ports:
- "8093:8080"
volumes:
media_games:
config:
```

@ -2,7 +2,7 @@
This is a [Docker](/wiki/docker.md) container for a
[transmission](../transmission.md) server that is connected to the internet via
an [openVPN tunnel](/wiki/vpn.md).
an [openVPN tunnel](/wiki/openvpn.md).
The official container and documentation was made by
[haugene](https://github.com/haugene/docker-transmission-openvpn).

@ -0,0 +1,45 @@
# homeassistant - home-assistant
This is a [Docker](/wiki/docker.md) container for a [Home Assistant](/wiki/home_assistant.md)
server.
The official container and documentation was made by
[homeassistant](https://hub.docker.com/r/homeassistant/home-assistant).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ------------------------------- |
| `homeassistant_data` | `/config` | configuration for devices, etc |
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | --------------------------- | ----------------------- |
| `TZ` | specify the timezone | `` |
## Additional
The container needs acces to the host network.
This will at the same time expose port 8123 as web interface.
## rebuild.sh
```sh
docker run --name homeassistant \
--restart=unless-stopped \
--privileged \
--network=host \
-e TZ=Europe/Berlin \
-v homeassistant_data:/config \
-d ghcr.io/home-assistant/home-assistant:stable
```

@ -12,7 +12,7 @@ In addition to the main container you need to connect a
First of all create a folder for your `rebuild.sh`.
After that clone invidious from
[github](https://github.com/iv-org/invidious) into a folder within the
[GitHub](https://github.com/iv-org/invidious) into 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`.

@ -1,7 +1,7 @@
# jonohill - docker-openvpn-proxy
This is a [Docker](/wiki/docker.md) container for an
[OpenVPN proxy](/wiki/vpn.md#proxy-ovpn).
[OpenVPN proxy](/wiki/openvpn.md#proxy).
The official container and documentation was made by
[jonohill](https://github.com/jonohill/docker-openvpn-proxy).

@ -1,7 +1,7 @@
# kylemanna - openvpn
This is a [Docker](/wiki/docker.md) container for an
[OpenVPN server](/wiki/vpn.md).
[OpenVPN server](/wiki/openvpn.md).
The official container and documentation was made by
[kylemanna](https://hub.docker.com/r/kylemanna/openvpn).
@ -26,7 +26,7 @@ Afterwards run `./rebuild.sh`.
### Create Certificates
Each device that connects to the [OpenVPN](/wiki/vpn.md#openvpn) server should
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.

@ -13,7 +13,7 @@ It is recommended to set a download completed folder with the same internal and
external mounts as your [BitTorent](/wiki/bittorrent.md) client.
This guide uses the same mounts as used in the
[Transmission](/wiki/transmission.md)
[Docker container](/wiki/docker-images/haugene_-_transmission-openvpn.md).
[Docker container](/wiki/docker/haugene_-_transmission-openvpn.md).
This namely causes the following line in the
[`docker-compose.yml`](#docker-composeyml).

@ -13,7 +13,7 @@ It is recommended to set a download completed folder with the same internal and
external mounts as your [BitTorent](/wiki/bittorrent.md) client.
This guide uses the same mounts as used in the
[Transmission](/wiki/transmission.md)
[Docker container](/wiki/docker-images/haugene_-_transmission-openvpn.md).
[Docker container](/wiki/docker/haugene_-_transmission-openvpn.md).
This namely causes the following line in the
[`docker-compose.yml`](#docker-composeyml).

@ -13,7 +13,7 @@ It is recommended to set a download completed folder with the same internal and
external mounts as your [BitTorent](/wiki/bittorrent.md) client.
This guide uses the same mounts as used in the
[Transmission](/wiki/transmission.md)
[Docker container](/wiki/docker-images/haugene_-_transmission-openvpn.md).
[Docker container](/wiki/docker/haugene_-_transmission-openvpn.md).
This namely causes the following line in the
[`docker-compose.yml`](#docker-composeyml).

@ -1,7 +1,7 @@
# linuxserver - airsonic-advanced
This is a [Docker](/wiki/docker.md) container for a
[WireGuard](../vpn.md#WireGuard) server.
[WireGuard](/wiki/wireguard.md) server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/wireguard).
@ -12,7 +12,7 @@ Change the settings according to your needs.
Especially change `<VPN.SERVERNAME.COM>` to the URL the VPN is accessible at.
If not already done set a port forward or something similar.
`PEERS` is given the number of configs to create for different
[clients](/wiki/vpn.md#client-wg).
[clients](/wiki/wireguard.md#client).
It is also possible to give a list of clients separated by commas
(`first,second,third`) to create.
The following shows the two options.

@ -33,7 +33,7 @@ And finally generate the DCIM keys and rebuild once again.
`./setup.sh config dkim`
Finally if a reverse proxy is used check the
[traefik entry](/wiki/docker-images/traefik.md#setup-mailserver) or the
[traefik entry](/wiki/docker/traefik.md#setup-mailserver) or the
[nginx entry](./nginx.md).
Afterwards you're ready to go by once again running the `rebuild.sh` file.

@ -12,6 +12,16 @@ 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.
It is recommended to use the versionnumber instead of `:latest` for both the MariaDB and the
NextCloud image like the following example.
```
nextcloud:22
mariadb:9
```
Make sure to substitute all the occurences of the `:latest` tag accordingly.
Updating has to be done manually so nothing breaks.
## Volumes
@ -50,7 +60,7 @@ volumes:
services:
db:
image: mariadb
image: mariadb:latest
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
@ -62,7 +72,7 @@ services:
- MYSQL_USER=nextcloud
app:
image: nextcloud
image: nextcloud:latest
restart: always
ports:
- 8080:80
@ -81,5 +91,4 @@ volumes:
driver: local
nextcloud:
driver: local
```

@ -9,7 +9,7 @@ There is no official pre-build on docker-hub.
## Set-up
First of all create a folder for your `rebuild.sh`.
After that clone synctube from [github](https://github.com/rblsb/synctube) into
After that clone synctube from [GitHub](https://github.com/rblsb/synctube) into
a folder within the just created folder.
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`.

@ -7,7 +7,7 @@ The official container and documentation was made by
## Set-up
Create the file `rebuild.sh`.
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
@ -31,13 +31,27 @@ Set the following ports with the -p tag.
```sh
#!/bin/sh
docker stop searx
docker rm searx
docker pull searx/searx
docker run --name searx \
--restart unless-stopped \
-v searx_etc:/etc/searx \
-v searx_log:/var/log/uwsgi \
-p 8080:8080 \
-d searx/searx
docker-compose down
docker-compose up -d
```
## docker-compose.yml
```sh
version: "2.1"
services:
searx:
image: searx/searx
volumes:
- etc:/etc/searx
- log:/var/log/uwsgi
restart: unless-stopped
ports:
- 8080:8080
volumes:
etc:
driver: local
log:
driver: local
```

@ -1,9 +1,9 @@
# teamspeak
This is a [Docker](/wiki/docker.md) container for a
[teamspeak3](../teamspeak3.md) server.
[Teamspeak3](/wiki/teamspeak.md) server.
The official container and documentation was made by
[teamspeak](https://hub.docker.com/_/teamspeak).
[Teamspeak](https://hub.docker.com/_/teamspeak).
## Set-up

@ -0,0 +1,66 @@
# tombursch - kitchenowl
This is a [Docker](/wiki/docker.md) container for a [kitchenowl](kitchenowl)
server.
The official container and documentation was made by
[tombursch](https://github.com/tombursch/kitchenowl).
This docker-rebuild is made up by a `docker-compose.yml` file.
The Server consists of two Docker containers, one is the kitchenowl frontend, another is a backend.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same
place.
Make sure to change `JWT_SECRET_KEY`.
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 |
| -------------- | ------------------------ | -------- | ----------- |
| `7890` | `80` | TCP | WebUI |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | -------------------------- | ------------------------ |
| `kitchenowl_data` | `/data` | storage for all data |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull tombursch/kitchenowl-web:latest
docker pull tombursch/kitchenowl:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "3"
services:
kitchenowl:
image: tombursch/kitchenowl-web:latest
restart: unless-stopped
depends_on:
- back
ports:
- 7890:80
back:
image: tombursch/kitchenowl:latest
restart: unless-stopped
environment:
- JWT_SECRET_KEY=changethis
volumes:
- kitchenowl_data:/data
volumes:
kitchenowl_data:
driver: local
```

@ -0,0 +1,251 @@
# vabene1111 - recipes
This is a [Docker](/wiki/docker.md) container for a [TandoorRecipes](/wiki/tandoor_recipes.md)
server.
The official container and documentation was made by
[TandoorRecipes](https://github.com/TandoorRecipes/recipes).
This docker-rebuild is made up by a `docker-compose.yml` file.
In addition to the main container you need to connect a
[postgres container](/wiki/docker/postgres.md) to it.
## Set-up
Create the files `rebuild.sh`, `.env` and `docker-compose.yml` at the same
place.
Make sure to set `SECRET_KEY` and `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 |
| -------------- | ------------------------ | -------- | ----------- |
| `8083` | `8080` | TCP | WebUI |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | -------------------------- | ------------------------ |
| `staticfiles` | `/opt/recipes/staticfiles` | storage for static files |
| `mediafiles` | `/opt/recipes/mediafiles` | storage for media files |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull vabene1111/recipes:latest
docker pull postgres:15-alpine
docker-compose up -d
```
## .env
```sh
# only set this to true when testing/debugging
# when unset: 1 (true) - dont unset this, just for development
DEBUG=0
SQL_DEBUG=0
DEBUG_TOOLBAR=0
# Gunicorn log level for debugging (default value is "info" when unset)
# (see https://docs.gunicorn.org/en/stable/settings.html#loglevel for available settings)
# GUNICORN_LOG_LEVEL="debug"
# HTTP port to bind to
# TANDOOR_PORT=8080
# hosts the application can run under e.g. recipes.mydomain.com,cooking.mydomain.com,...
ALLOWED_HOSTS=*
# random secret key, use for example `base64 /dev/urandom | head -c50` to generate one
# ---------------------------- REQUIRED -------------------------
SECRET_KEY=<secret_key>
# ---------------------------------------------------------------
# your default timezone See https://timezonedb.com/time-zones for a list of timezones
TIMEZONE=Europe/Berlin
# add only a database password if you want to run with the default postgres, otherwise change settings accordingly
DB_ENGINE=django.db.backends.postgresql
# DB_OPTIONS= {} # e.g. {"sslmode":"require"} to enable ssl
POSTGRES_HOST=db_recipes
POSTGRES_PORT=5432
POSTGRES_USER=djangouser
# ---------------------------- REQUIRED -------------------------
POSTGRES_PASSWORD=<password>
# ---------------------------------------------------------------
POSTGRES_DB=djangodb
# database connection string, when used overrides other database settings.
# format might vary depending on backend
# DATABASE_URL = engine://username:password@host:port/dbname
# the default value for the user preference 'fractions' (enable/disable fraction support)
# default: disabled=0
FRACTION_PREF_DEFAULT=0
# the default value for the user preference 'comments' (enable/disable commenting system)
# default comments enabled=1
COMMENT_PREF_DEFAULT=1
# Users can set a amount of time after which the shopping list is refreshed when they are in viewing mode
# This is the minimum interval users can set. Setting this to low will allow users to refresh very frequently which
# might cause high load on the server. (Technically they can obviously refresh as often as they want with their own scripts)
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
# Default for user setting sticky navbar
# STICKY_NAV_PREF_DEFAULT=1
# If base URL is something other than just / (you are serving a subfolder in your proxy for instance http://recipe_app/recipes/)
# Be sure to not have a trailing slash: e.g. '/recipes' instead of '/recipes/'
# SCRIPT_NAME=/recipes
# If staticfiles are stored at a different location uncomment and change accordingly, MUST END IN /
# this is not required if you are just using a subfolder
# This can either be a relative path from the applications base path or the url of an external host
# STATIC_URL=/static/
# If mediafiles are stored at a different location uncomment and change accordingly, MUST END IN /
# this is not required if you are just using a subfolder
# This can either be a relative path from the applications base path or the url of an external host
# MEDIA_URL=/media/
# Serve mediafiles directly using gunicorn. Basically everyone recommends not doing this. Please use any of the examples
# provided that include an additional nxginx container to handle media file serving.
# If you know what you are doing turn this back on (1) to serve media files using djangos serve() method.
# when unset: 1 (true) - this is temporary until an appropriate amount of time has passed for everyone to migrate
GUNICORN_MEDIA=0
# GUNICORN SERVER RELATED SETTINGS (see https://docs.gunicorn.org/en/stable/design.html#how-many-workers for recommended settings)
# GUNICORN_WORKERS=1
# GUNICORN_THREADS=1
# S3 Media settings: store mediafiles in s3 or any compatible storage backend (e.g. minio)
# as long as S3_ACCESS_KEY is not set S3 features are disabled
# S3_ACCESS_KEY=
# S3_SECRET_ACCESS_KEY=
# S3_BUCKET_NAME=
# S3_REGION_NAME= # default none, set your region might be required
# S3_QUERYSTRING_AUTH=1 # default true, set to 0 to serve media from a public bucket without signed urls
# S3_QUERYSTRING_EXPIRE=3600 # number of seconds querystring are valid for
# S3_ENDPOINT_URL= # when using a custom endpoint like minio
# S3_CUSTOM_DOMAIN= # when using a CDN/proxy to S3 (see https://github.com/TandoorRecipes/recipes/issues/1943)
# Email Settings, see https://docs.djangoproject.com/en/3.2/ref/settings/#email-host
# Required for email confirmation and password reset (automatically activates if host is set)
# EMAIL_HOST=
# EMAIL_PORT=
# EMAIL_HOST_USER=
# EMAIL_HOST_PASSWORD=
# EMAIL_USE_TLS=0
# EMAIL_USE_SSL=0
# email sender address (default 'webmaster@localhost')
# DEFAULT_FROM_EMAIL=
# prefix used for account related emails (default "[Tandoor Recipes] ")
# ACCOUNT_EMAIL_SUBJECT_PREFIX=
# allow authentication via reverse proxy (e.g. authelia), leave off if you dont know what you are doing
# see docs for more information https://docs.tandoor.dev/features/authentication/
# when unset: 0 (false)
REVERSE_PROXY_AUTH=0
# Default settings for spaces, apply per space and can be changed in the admin view
# SPACE_DEFAULT_MAX_RECIPES=0 # 0=unlimited recipes
# SPACE_DEFAULT_MAX_USERS=0 # 0=unlimited users per space
# SPACE_DEFAULT_MAX_FILES=0 # Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload.
# SPACE_DEFAULT_ALLOW_SHARING=1 # Allow users to share recipes with public links
# allow people to create accounts on your application instance (without an invite link)
# when unset: 0 (false)
# ENABLE_SIGNUP=0
# If signup is enabled you might want to add a captcha to it to prevent spam
# HCAPTCHA_SITEKEY=
# HCAPTCHA_SECRET=
# if signup is enabled you might want to provide urls to data protection policies or terms and conditions
# TERMS_URL=
# PRIVACY_URL=
# IMPRINT_URL=
# enable serving of prometheus metrics under the /metrics path
# ATTENTION: view is not secured (as per the prometheus default way) so make sure to secure it
# trough your web server (or leave it open of you dont care if the stats are exposed)
# ENABLE_METRICS=0
# allows you to setup OAuth providers
# see docs for more information https://docs.tandoor.dev/features/authentication/
# SOCIAL_PROVIDERS = allauth.socialaccount.providers.github, allauth.socialaccount.providers.nextcloud,
# Should a newly created user from a social provider get assigned to the default space and given permission by default ?
# ATTENTION: This feature might be deprecated in favor of a space join and public viewing system in the future
# default 0 (false), when 1 (true) users will be assigned space and group
# SOCIAL_DEFAULT_ACCESS = 1
# if SOCIAL_DEFAULT_ACCESS is used, which group should be added
# SOCIAL_DEFAULT_GROUP=guest
# Django session cookie settings. Can be changed to allow a single django application to authenticate several applications
# when running under the same database
# SESSION_COOKIE_DOMAIN=.example.com
# SESSION_COOKIE_NAME=sessionid # use this only to not interfere with non unified django applications under the same top level domain
# by default SORT_TREE_BY_NAME is disabled this will store all Keywords and Food in the order they are created
# enabling this setting makes saving new keywords and foods very slow, which doesn't matter in most usecases.
# however, when doing large imports of recipes that will create new objects, can increase total run time by 10-15x
# Keywords and Food can be manually sorted by name in Admin
# This value can also be temporarily changed in Admin, it will revert the next time the application is started
# This will be fixed/changed in the future by changing the implementation or finding a better workaround for sorting
# SORT_TREE_BY_NAME=0
# LDAP authentication
# default 0 (false), when 1 (true) list of allowed users will be fetched from LDAP server
#LDAP_AUTH=
#AUTH_LDAP_SERVER_URI=
#AUTH_LDAP_BIND_DN=
#AUTH_LDAP_BIND_PASSWORD=
#AUTH_LDAP_USER_SEARCH_BASE_DN=
#AUTH_LDAP_TLS_CACERTFILE=
#AUTH_LDAP_START_TLS=
# Enables exporting PDF (see export docs)
# Disabled by default, uncomment to enable
# ENABLE_PDF_EXPORT=1
# Recipe exports are cached for a certain time by default, adjust time if needed
# EXPORT_FILE_CACHE_DURATION=600
```
## docker-compose.yml
```yml
version: "3"
services:
web_recipes:
restart: unless-stopped
image: vabene1111/recipes
ports:
- 8083:8080
env_file:
- ./.env
volumes:
- staticfiles:/opt/recipes/staticfiles
- mediafiles:/opt/recipes/mediafiles
depends_on:
- db_recipes
db_recipes:
restart: unless-stopped
image: postgres:15-alpine
volumes:
- postgresql:/var/lib/postgresql/data
env_file:
- ./.env
volumes:
postgresql:
staticfiles:
mediafiles:
```

@ -3,29 +3,6 @@
[Firefox](https://www.mozilla.org/en-US/Firefox) is a free and open-source web
browser.
## Configuration
Firefox has many possible settings and precerences.
This section addresses possible settings and preferences for specific use cases.
### Telemetry
Telemetry is the remote measurement and transmission of data.
To change the telemetry of Firefox navigate to `about:telemetry` and click the
options to toggle between enabled and disabled.
### Enable/Disable Scrolling
On Linux distributions auto scroll is disabled by default.
This means that you cant click the middle mouse button to use it for scrolling.
To enable it go into the preferences and check `Use autoscrolling`.
### Enable/Disable Sponsorings
Sponsorings are embedded ads in Firefox.
After navigating to `about:config` enabling and disabling of sponsorings can be done at
`browser.newtabpage.activity-stream.showSponsored`.
## Usage
The following section addresses different uses and add-ons of Firefox.
@ -37,58 +14,89 @@ including bookmarks smaller.
After navigating to `about:config` the configuration can be done at
`browser.compactmode.show`.
## List of useful Firefox add-ons
### List of useful Firefox Add-ons
Following is a list of useful Firefox add-ons.
They can be removed and configured under `about:config`.
The add-ons are grouped thematically
#### Privacy and Security Add-ons
The following add-ons increase the security or privacy.
- [Cameleon](https://addons.mozilla.org/en-GB/firefox/addon/chameleon-ext/)
spoofs your browser profile including user agent and screen size.
- [ClearURLs](https://addons.mozilla.org/en-GB/Firefox/addon/clearurls) removes
- [ClearURLs](https://addons.mozilla.org/en-GB/firefox/addon/clearurls) removes
tracking elements from URLs.
- [Dark Reader](https://addons.mozilla.org/en-GB/Firefox/addon/darkreader) creates
an automatic dark mode for sites without native dark mode.
- [Firefox Multi-Account Containers](https://addons.mozilla.org/en-GB/Firefox/addon/multi-account-containers)
- [Consent-O-Matic](https://addons.mozilla.org/en-GB/firefox/addon/consent-o-matic)
automatically refuses GDPR consent to a bunch of platforms.
- [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 proxy](/wiki/vpn.md#openvpn).
- [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.
- [Floccus](https://addons.mozilla.org/en-US/Firefox/addon/floccus/) syncs your
bookmarks across devices (supports Nextcloud and WebDAV (ownCloud, etc)).
- [hide-scrollbars](https://addons.mozilla.org/en-GB/Firefox/addon/hide-scrollbars)
hides scrollbars.
- [Never-Consent](https://addons.mozilla.org/en-GB/Firefox/addon/never-consent)
automatically refuses GDPR consent to a bunch of platforms.
- [NoScript](https://addons.mozilla.org/en-GB/Firefox/addon/noscript) blocks all
usage of a [VPN](/wiki/vpn.md) that acts as a Proxy like a
[OpenVPN Proxy](/wiki/openvpn.md#proxy).
- [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.
- [NoScript](https://addons.mozilla.org/en-GB/firefox/addon/noscript) blocks all
javascript so that the parts you need can be reenabled and the rest is not used.
- [Privacy Badger](https://addons.mozilla.org/en-GB/Firefox/addon/privacy-badger17)
- [Privacy Badger](https://addons.mozilla.org/en-GB/firefox/addon/privacy-badger17)
blocks unwanted invisible trackers.
- [Privacy Redirect](https://addons.mozilla.org/en-US/Firefox/addon/privacy-redirect/)
- [Privacy Redirect](https://addons.mozilla.org/en-US/firefox/addon/privacy-redirect/)
redirects youtube, instagram, twitter, etc to free alternatives or alternative
frontends.
- [Sidebery](https://addons.mozilla.org/en-GB/Firefox/addon/sidebery)
is a sidebar with treestyle tabs and bookmarks.
- [SponsorBlock](https://addons.mozilla.org/en-US/firefox/addon/sponsorblock/)
skips YouTube video sponsors automatically, works with
[invidious](./invidious.md) too.
- [SponsorBlock](/wiki/youtube.md#automatically-skip-sponsorships) skips YouTube video sponsors
automatically, works with [Invidious](./invidious.md) too.
- [Tampermonkey](https://github.com/Tampermonkey/tampermonkey) is a userscript
manager that can be used for the following tasks:
- [Bypass YouTubes age restrictions](https://github.com/zerodytrash/Simple-YouTube-Age-Restriction-Bypass)
- [Exclude pages from](http://www.jeffersonscher.com/gm/google-hit-hider/)
[search results](/wiki/search_engine.md)
- [Auto close YouTube ads](https://greasyfork.org/en/scripts/9165-auto-close-youtube-ads)
- [Tree Style Tab](https://addons.mozilla.org/en-GB/Firefox/addon/tree-style-tab)
shows tabs like a tree. This is especially useful if many tabs are used.
- [uBlock Origin](https://addons.mozilla.org/en-GB/Firefox/addon/ublock-origin)
- [uBlock Origin](https://addons.mozilla.org/en-GB/firefox/addon/ublock-origin)
blocks unwanted content like ads.
- [User-Agent Switcher and Manager](https://addons.mozilla.org/en-GB/Firefox/addon/user-agent-string-switcher)
- [User-Agent Switcher and Manager](https://addons.mozilla.org/en-GB/firefox/addon/user-agent-string-switcher)
spoofs websites that try to gather information about your webbrowser.
#### Style Add-ons
The following add-ons provide changes to the default style.
- [Dark Reader](https://addons.mozilla.org/en-GB/Firefox/addon/darkreader) creates
an automatic dark mode for sites without native dark mode.
- [hide-scrollbars](https://addons.mozilla.org/en-GB/Firefox/addon/hide-scrollbars)
hides scrollbars.
#### Tool Add-ons
The following add-ons add various functions.
- [Floccus](https://addons.mozilla.org/en-US/Firefox/addon/floccus/) syncs your
bookmarks across devices (supports Nextcloud and WebDAV (ownCloud, etc)).
- [Sidebery](https://addons.mozilla.org/en-GB/Firefox/addon/sidebery)
is a sidebar with treestyle tabs and bookmarks.
- [Surfingkeys](https://github.com/brookhong/Surfingkeys) introduces keyboard-based navigation.
It is similar to Vim Vixen, further down this list.
- [Tree Style Tab](https://addons.mozilla.org/en-GB/Firefox/addon/tree-style-tab)
shows tabs like a tree. This is especially useful if many tabs are used.
- [Vim Vixen](https://addons.mozilla.org/en-GB/Firefox/addon/vim-vixen) enables
vim movement for Firefox.
It is similar to Surfingkeys further up this list.
#### Translation Add-ons
## Add a new search engine
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
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
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.
### Add a new search engine
You can add a new search engine with the add-on `Add custom search engine`.
Make sure to replace `<url to search engine>` with the according url.
@ -96,3 +104,192 @@ Make sure to replace `<url to search engine>` with the according url.
It is possible to add it without an add-on.
Navigate to the search engine and click the `...` in the address bar.
Then click `Add Search Engine`
### Telemetry
Telemetry is the remote measurement and transmission of data.
To change the telemetry of Firefox navigate to `about:telemetry` and click the
options to toggle between enabled and disabled.
### Scrolling
On Linux distributions auto scroll is disabled by default.
This means that you cant click the middle mouse button to use it for scrolling.
To enable it go into the preferences and check `Use autoscrolling`.
### Sponsorings
Sponsorings are embedded ads in Firefox.
After navigating to `about:config` enabling and disabling of sponsorings can be done at
`browser.newtabpage.activity-stream.showSponsored`.
### Make Fullscreen Only Window Wide
Firefox' default fullscreen does not only hide UI elements of firefox but also increases Firefox'
size beyond the borders of the current window to the whole size of the screen.
By setting the following options in `about:config` the fullscreen and also the kiosk mode will only
hide the UI of Firefox.
The expansion of the window will be disabled by it.
This is often reffered to as fake fullscreen.
```txt
full-screen-api.ignore-widgets = true
```
### Disable Unneeded Services and Features
The following section is based on the website
[privacy-handbuch.de](https://www.privacy-handbuch.de/handbuch_21n.htm) which discusses ways to
disable often unneeded features in Firefox.
The way to disable these services is by setting values in `about:config`.
To disable the Pocket expansion set the following config.
```txt
extensions.pocket.enabled = false
```
To disable the screenshot expansion set the following config.
```txt
extensions.screenshots.disabled = true
```
To disable Firefox Sync set the following config.
```txt
identity.fxaccounts.enabled = false
```
To disable form fillings set the following configs.
```txt
browser.formfill.enable = false
extensions.formautofill.addresses.enabled = false
extensions.formautofill.creditCards.enabled = false
extensions.formautofill.heuristics.enabled = false
```
To disable fingerprinting the GPU set the following configs.
```txt
webgl.enable-debug-renderer-info = false
webgl.disable-extensions = true
webgl.min_capability_mode = true
webgl.disable-fail-if-major-performance-caveat = true
```
To avoid operating system attacks via WebGL set the following configs.
```txt
webgl.disabled = true
webgl.enable-webgl2 = false
```
To disable speculative loading of websites when hovering over links set the following config.
```txt
network.http.speculative-parallel-limit = 0
```
To disable remote deactivation of plugins by firefox aswell as connection of the AMO-servers on a
daily basis set the following configs.
```txt
extensions.blocklist.enabled = false
extensions.getAddons.cache.enabled = false
```
To disable various health reports and telemetry data set the following configs.
```txt
browser.tabs.crashReporting.sendReport = false
datareporting.policy.dataSubmissionEnabled = false
datareporting.healthreport.uploadEnabled = false
toolkit.coverage.endpoint.base = ""
toolkit.coverage.opt-out = true
toolkit.telemetry.coverage.opt-out = true
```
To disable the localization done by pinging Mozillas location server set the following configs.
```txt
browser.region.update.enabled = false
browser.region.network.url = ""
```
To disable safebrowsing which grabs block lists by Mozilla every 30 minutes run the set the
following configs.
```txt
browser.safebrowsing.phishing.enabled = false
browser.safebrowsing.malware.enabled = false
browser.safebrowsing.blockedURIs.enabled = false
browser.safebrowsing.downloads.enabled = false
browser.safebrowsing.downloads.remote.enabled = false
browser.safebrowsing.downloads.remote.block_dangerous = false
browser.safebrowsing.downloads.remote.block_dangerous_host = false
browser.safebrowsing.downloads.remote.block_potentially_unwanted = false
browser.safebrowsing.downloads.remote.block_uncommon = false
browser.safebrowsing.downloads.remote.url = ""
browser.safebrowsing.provider.*.gethashURL = ""
browser.safebrowsing.provider.*.updateURL = ""
browser.pagethumbnails.capturing_disabled = true
```
To disable ads after an update set the following config.
```txt
browser.startup.homepage_override.mstone = ignore
```
To disable the ad system for Firefox add-ons set the following configs.
```txt
browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons = false
browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features = false
extensions.htmlaboutaddons.recommendations.enabled = false
extensions.ui.lastCategory = addons://list/extension
```
To disable [VPN](/wiki/vpn.md) ads set the following config.
```txt
browser.vpn_promo.enabled = false
```
To disable the rating samples set the following config.
```txt
app.normandy.enabled = false
```
To always keep add-ons active even on Firefox and Mozilla sites set the following config.
```txt
extensions.webextensions.restrictedDomains = ""
```
To avoid the fingerprinting of desktop settings deactive the standard values for system colors by
setting the following config.
```txt
ui.use_standins_for_native_colors = true
```
Firefox contacts Firefox' servers on each start to check IP connections.
To disable this set the following config.
```txt
network.connectivity-service.enabled = false
```
To disable Microsoft Family Safety on [Windows systems](/wiki/windows.md) which can be used as a
censoring tool set the following config.
```txt
security.family_safety.mode = 0
```
Additionally check [the telemetry section](#telemetry) and
[the sponsoring section](#sponsorings).

@ -1,7 +1,7 @@
# Font
A fonts is the particular size, weight and style of a typeface.
Operating systems based on [Linux](/wiki/linux/linux.md) handle fonts by the
Operating systems based on [Linux](/wiki/linux.md) handle fonts by the
[fontconfig package](/wiki/linux/font_configuration.md).
## Typefaces

@ -0,0 +1,8 @@
# FreshRss
[FreshRSS](https://freshrss.org/) is a self hosted [RSS-Feed](/wiki/rss.md) aggregator.
## Setup
The software can be setup via [Docker](/wiki/docker.md) with the
[linuxserver image](/wiki/docker/linuxserver_-_freshrss.md).

@ -0,0 +1,56 @@
# Games
A video game - short game - is an electronic game that features interation and input from the user
to generate a feedback.
Games can be played on different platforms.
## Game Platforms, Distributors and Managers
There are various platforms for managing games.
[Steam](/wiki/games/steam.md) is a gaming a platform for games that distributes games at the same
time.
Games bought in the Steam shop but also third party games can be added to the game list.
It is very popular and cross platform capable.
For [Linux-based systems](/wiki/linux.md) the most used platform is a game manager called
[Lutris](/wiki/games/lutris.md).
Lutris can incorporate local games, aswell as games from various big platforms including steam.
It is especially popular on Linux because it can manage [WINE](/wiki/linux/wine.md) prefixes and
thus is able to easily run [Windows](/wiki/windows.md) games on Linux.
Furthermore [Gameyfin](/wiki/games/gameyfin.md) is a game manager that can be easily accessed
through a web interface.
Games can then be downloaded from the website.
## Syncing Game Saves Across Systems
By using [Syncthing](../syncthing.md) game saves can be synchronized.
First set up Syncthing as described in the
[Syncthing entry](../syncthing.md#setup).
If a system with only user access - like the [Steam Deck](./steam_deck.md) - is used the
[user space configuration](../syncthing.md#user-space-configuration-for-linux)
is recommended.
Afterwards move the game saves to the directory set up by Syncthing and create
[symbolic links](/wiki/linux/shell.md#symbolic-links-using-ln) to link them back to the original
place.
For games on [Steam](/wiki/games/steam.md) it is possible that they are automatically synchronized
by [Steam Cloud](/wiki/games/steam.md#steam-cloud-and-game-synchronization).
## Speedrunning
Speedrunning is the process of trying to finish a video game in shortest amount of time.
A very popular site to compare speedruns is [speedrun.com](https://www.speedrun.com/).
While speedrunning a split tracker is used that keeps track of the time and the times of each
section of the game.
The following is a list of possible split trackers to use.
- [LiveSplit](http://livesplit.org/) is a popular split tracker available for
[Windows](/wiki/windows.md) systems.
- [LiveSplit One](https://one.livesplit.org/) is a web-based version of LiveSplit.
- [urn](https://github.com/3snowp7im/urn) is a split tracker for [Linux](/wiki/linux.md) based
systems.
To set up a split tracker for a specific game usually split files are used.
The format needed varies from split tracker to split tracker.
Split files in most formats and for many games can be found on [splits.io](https://splits.io/).

@ -2,12 +2,12 @@
[Bottles](https://usebottles.com/) is an application similar to
[Lutris](/wiki/games/lutris.md) that focusses on running both
[Windows](/wiki/windows/windows.md) applications aswell as games through
[Windows](/wiki/windows.md) applications aswell as [games](/wiki/games.md) through
[WINE](/wiki/linux/wine.md) or their own runner [Caffe](#caffe).
## Caffe
[Caffe](https://docs.usebottles.com/components/runners) is the official runner
of [Windows](/wiki/windows/windows.md) programs in Bottles.
of [Windows](/wiki/windows.md) programs in Bottles.
It is a patched version of [WINE](/wiki/linux/wine.md) that can have positive
effects on certain programs.

@ -0,0 +1,19 @@
# Counter-Strike 2
[Counter-Strike 2](https://www.counter-strike.net/cs2) is a tactical first-person shooter
[game](/wiki/games.md) developed by [Valve](https://www.valvesoftware.com/en/).
It is distributed via [Steam](./steam.md).
## Troubleshooting
This section addresses various errors that can happen when playing Counter-Strike 2.
### Problems launching on [Steam](/wiki/games/steam.md)
On [Linux](/wiki/linux.md) systems launching can run into problems.
To fix those the following line should be set as launch options in the general tab of steams game
related settings:
```sh
gamemoderun %command% -vulkan -sdlaudiodriver pipewire -novid -high -fullscreen -nojoy
```

@ -2,10 +2,12 @@
An Emulator is a hard- or software that enables a computer to behave like
another computer.
In the gaming context this is mainly used to run games from a console on
In the [gaming](/wiki/games.md) context this is mainly used to run games from a console on
another computer.
Emulators usually need ROMs to run games.
ROMs are a digital copy of a video game.
Please note that downloading ROMs of licensed games is not permitted due to copyright.
All [emulators](#list-of-emulator-software) should only use non copyright infringing ROMs.
Due to its form factor emulators can be installed and used nicely on a
[Steam Deck](/wiki/games/steam_deck.md).
@ -14,6 +16,14 @@ Emulator games can even be
## List of Emulator software
- [PPSSPP](/wiki/games/ppsspp.md) is made to emulate Playstation Portable games.
- [Dolphin](/wiki/games/dolphin.md) is made to emulate GameCube and Wii games.
- [Citra](/wiki/games/citra.md) is made to emulate 3DS games.
- [Citra](/wiki/games/emulators/citra.md) emulates Nintendo 3DS games.
- [Dolphin](/wiki/games/emulators/dolphin.md) emulates Nintendo GameCube and Wii games.
- [melonDS](/wiki/games/emulators/melonds.md) emulates Nintendo DS games.
- [mGBA](/wiki/games/emulators/mgba.md) emulates Nintendo Game Boy, Game Boy Color and Game Boy Advanced
games.
- [Nestopia](/wiki/games/emulators/nestopia.md) emulates Nintendo Entertainment System games.
- [PCSX2](/wiki/games/emulators/pcsx2.md) emulates PlayStation 2 games.
- [PPSSPP](/wiki/games/emulators/ppsspp.md) emulates PlayStation Portable games.
- [simple64](/wiki/games/emulators/simple64.md) emulates Nintendo 64 games.
- [Snes9x](/wiki/games/emulators/snes9x.md) emulates Super Nintendo Entertainment System games.
- [yuzu](/wiki/games/emulators/yuzu.md) emulates Nintendo Switch games.

@ -1,10 +1,11 @@
# Citra
[Citra](https://citra-emu.org/) is a 3DS [emulator](./emulators.md).
[Citra](https://citra-emu.org/) is a [Nintendo 3DS](/wiki/games.md)
[emulator](/wiki/games/emulators.md).
## Setup
Citra can be installed on different systems, a list for this can be found on
the [Citra website](https://citra-emu.org/download).
Additionally it can be installed using [Flatpak](../linux/flatpak.md) where the
Additionally it can be installed using [Flatpak](/wiki/linux/flatpak.md) where the
package is called `org.citra_emu.citra`.

@ -1,13 +1,13 @@
# Dolphin
[Dolphin](https://dolphin-emu.org/) is a GameCube and Wii
[emulator](./emulators.md).
[Dolphin](https://dolphin-emu.org/) is a [Nintendo GameCube and Wii](/wiki/games.md)
[emulator](/wiki/games/emulators.md).
## Setup
Dolphin can be installed on different systems, a list for this can be found on
the [Dolphin website](https://dolphin-emu.org/download/).
Additionally it can be installed using [Flatpak](../linux/flatpak.md) where the
Additionally it can be installed using [Flatpak](/wiki/linux/flatpak.md) where the
package is called `org.DolphinEmu.dolphin-emu`.
## Usage
@ -15,16 +15,14 @@ package is called `org.DolphinEmu.dolphin-emu`.
The following sections describe specific issues relating to the configuration
and usage of Dolphin.
### Steam Deck specific settings
### Steam Deck Specific Settings
The following settings are especially useful when emulating games on the
[Steam Deck](./steam_deck.md) as pointed out by
[Steam Deck](/wiki/games/steam_deck.md) as pointed out by
[nchristopher](https://github.com/nchristopher/steamdeck-emulation/blob/main/emulators/dolphin.md).
But it is a good starting point for other systems aswell.
It is important to emphasize that the system needs to meet the requirements to
run Vulkan.
Select the configuration and select the paths tab.
There the directories for Wii and GameCube [ROMs](./emulators.md) can be added.
There the directories for Wii and GameCube [ROMs](/wiki/games/emulators.md) can be added.
In the audio tab select `Pulse` as your audio backend.
In the interface tab select `Confirm to Stop` to avoid prompts when closing the
game.

@ -0,0 +1,24 @@
# melonDS
[melonDS](https://melonds.kuribo64.net/) is a [Nintendo DS](/wiki/games.md)
[emulator](/wiki/games/emulators.md).
## Setup
melonDS can be installed on different systems, a list for this can be found on
the [melonDS website](https://melonds.kuribo64.net/downloads.php).
Additionally it can be installed using [Flatpak](/wiki/linux/flatpak.md) where the
package is called `net.kuribo64.melonDS`.
## Usage
The following sections describe specific issues relating to the configuration
and usage of Dolphin.
### Start Emulated Game in Fullscreen Mode
In different scenarios it can be useful to start directly into a game in fullscreen mode.
One example would be using the [Steam Deck](/wiki/games/steam_deck.md) to
[set up a game in the Steam UI](/wiki/games/steam_deck.md#running-a-game-directly-through-the-interface)
so it can be run directly without switching to the desktop mode.
For this add the `-f` flag for fullscreen mode.

@ -0,0 +1,25 @@
# mGBA
[mGBA](https://mgba.io/) is a
[Nintendo Game Boy, Game Boy Color and Game Boy Advanced](/wiki/games.md)
[emulator](/wiki/games/emulators.md).
## Setup
mGBA can be installed on different systems, a list for this can be found on
the [mGBA website](https://mgba.io/downloads.html).
Additionally it can be installed using [Flatpak](/wiki/linux/flatpak.md) where the
package is called `io.mgba.mgba`.
## Usage
The following sections describe specific issues relating to the configuration
and usage of Dolphin.
### Start Emulated Game in Fullscreen Mode
In different scenarios it can be useful to start directly into a game in fullscreen mode.
One example would be using the [Steam Deck](/wiki/games/steam_deck.md) to
[set up a game in the Steam UI](/wiki/games/steam_deck.md#running-a-game-directly-through-the-interface)
so it can be run directly without switching to the desktop mode.
For this add the `-f` flag for fullscreen mode.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save