diff --git a/wiki/docker-images/mikenye_-_picard.md b/wiki/docker-images/mikenye_-_picard.md new file mode 100644 index 0000000..aac2fce --- /dev/null +++ b/wiki/docker-images/mikenye_-_picard.md @@ -0,0 +1,61 @@ +# mikenye - airsonic-advanced + +This is a [Docker](/wiki/docker.md) container for a +[Picard](/wiki/picard.md) instance accessible over the web and +[VNC](/wiki/vnc.md). +The official container and documentation was made by +[mikenye](https://github.com/mikenye/docker-picard). + +## 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 | +| ---------------- | ------------------- | ------- | +| `USER_ID` | UserID | `1000` | +| `GROUP_ID` | GroupID | `1000` | +| `DISPLAY_WIDTH` | Width of software | `1280` | +| `DISPLAY_HEIGHT` | Height of software | `768` | + +## Volumes + +Set the following volumes with the -v tag. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | --------------- | ------------------------- | +| `config` | `/config` | Configuration files | +| `media_music` | `/storage` | Location for audio files | + +## Ports + +Set the following ports with the -p tag. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | -------- | -------------------------- | +| `5800` | `5800` | TCP | WebUI | +| `5900` | `5900` | TCP | VNC | +| `8000` | `8000` | TCP | Picard browser integration | + +## rebuild.sh + +```sh +#!/bin/sh +docker stop picard +docker rm picard +docker pull mikenye/picard +docker run --name=picard \ + --restart unless-stopped \ + -p 5800:5800 \ + -v media_music:/storage:rw \ + -v picard_config:/config:rw \ + -e USER_ID=0 \ + -e GROUP_ID=0 \ + -e DISPLAY_WIDTH=2560 \ + -e DISPLAY_HEIGHT=1440 \ + -d mikenye/picard +``` diff --git a/wiki/docker.md b/wiki/docker.md index 2b344b5..8f6438b 100644 --- a/wiki/docker.md +++ b/wiki/docker.md @@ -9,14 +9,17 @@ Due to easy handling and reproducable environments it is a useful tool. - Ubuntu: visit [the official installation guide](https://docs.docker.com/engine/install/ubuntu/) Another possibility is to try the official convenience script. -To get and execute it run the following in your terminal. +To get and execute it run the following in your +[terminal](/wiki/system_console.md). ```sh curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh ``` -## Run Docker as non-root user +## Usage + +### Run Docker as non-root user To run docker as a non-root user you need to add your user to the `docker` group. To do this create the group docker if it doesn't exist `sudo groupadd docker` @@ -24,14 +27,14 @@ and then add your user to the group using `sudo usermod -aG docker $USER`. After that relog into your machine and you should be able to run `docker run hello-world`. -## Tools and Visualisation +### Tools and Visualisation 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 -## Enable Nvidia GPUs +### Enable Nvidia GPUs To use Nvidia GPUs with docker you need to install the nvidia-cuda-toolkit. There is a [guide on marmelab](https://marmelab.com/blog/2018/03/21/using-nvidia-gpu-within-docker-container.html) @@ -39,8 +42,8 @@ that focusses on that topic. ### Block remote port access -If you configured a reverse proxy to a port chances are you don't want the port -to be accessed outside of the proxy. +If you configured a [reverse proxy](/wiki/reverse-proxy.md) to a port chances +are you don't want the port to be accessed outside of the proxy. Especially if you set up a authentication over nginx the open port will avoid the authentication. This can be changed at the forwarded docker-service by replacing for example @@ -50,3 +53,11 @@ network, effectively banning remote access. If you use [Traefik](./traefik.md) it is not needed, because you don't have to 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). +For this +[jlesages baseimage-gui container](https://hub.docker.com/r/jlesage/baseimage-gui) +can be used. diff --git a/wiki/firefox.md b/wiki/firefox.md index 3d40a4e..e8130eb 100644 --- a/wiki/firefox.md +++ b/wiki/firefox.md @@ -3,29 +3,33 @@ [Firefox](https://www.mozilla.org/en-US/Firefox) is a free and open-source web browser. -## 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. - ## Configuration Firefox has many possible settings and precerences. This section addresses possible settings and preferences for specific use cases. -### Scrolling +### 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`. -### Sponsorings +### 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. + ### Compact Mode In Firefox compact mode is a configuration to make tabs and navigation elements diff --git a/wiki/games/steam.md b/wiki/games/steam.md index 374c985..4792c3d 100644 --- a/wiki/games/steam.md +++ b/wiki/games/steam.md @@ -87,8 +87,8 @@ It will display the list of games inside the wishlist. Identify the game that has been removed and is not shown in the wishlist anymore. Remember the `appid` of the game -Then run the following command inside the console and change `` -accordingly. +Then run the following command inside the [console](/wiki/system_console.md) and +change `` accordingly. ```js $J.post( g_strWishlistBaseURL + 'remove/', { diff --git a/wiki/linux/bluez.md b/wiki/linux/bluez.md index 60c3df8..7dfcd41 100644 --- a/wiki/linux/bluez.md +++ b/wiki/linux/bluez.md @@ -24,6 +24,7 @@ The Bluetooth features can be managed by different types of front-ends. - `bluetoothctl` is a command-line interface included in the `bluez-utils` package -- `bluetuith` can be used as a bluetooth manager with a terminal user interface +- `bluetuith` can be used as a bluetooth manager with a + [terminal](/wiki/system_console.md) user interface. It is included in a package of the same name, that needs to be installed before usage. diff --git a/wiki/linux/khal.md b/wiki/linux/khal.md index 0c16bdb..d9071a2 100644 --- a/wiki/linux/khal.md +++ b/wiki/linux/khal.md @@ -1,6 +1,7 @@ # Khal -[Khal](https://github.com/pimutils/khal) is a calendar you can use in your terminal. +[Khal](https://github.com/pimutils/khal) is a calendar you can use in your +[terminal](/wiki/system_console.md). You can sync it with [vdirsyncer](vdirsyncer.md) ## Setup diff --git a/wiki/linux/khard.md b/wiki/linux/khard.md index b4d3c7b..842b2e3 100644 --- a/wiki/linux/khard.md +++ b/wiki/linux/khard.md @@ -1,6 +1,7 @@ # Khard -[Khard](https://github.com/lucc/khard) is a adressbook that runs in your terminal. +[Khard](https://github.com/lucc/khard) is a adressbook that runs in your +[terminal](/wiki/system_console.md). You can sync it with [vdirsyncer](vdirsyncer.md). ## Setup diff --git a/wiki/linux/neomutt.md b/wiki/linux/neomutt.md index 1c71338..4a3c8f6 100644 --- a/wiki/linux/neomutt.md +++ b/wiki/linux/neomutt.md @@ -1,6 +1,6 @@ # NeoMutt -Neomutt is a mail program that runs in your terminal. +Neomutt is a mail program that runs in your [terminal](/wiki/system_console.md). It can be easily configured using mutt-wizard. ## Setup diff --git a/wiki/linux/networkmanager.md b/wiki/linux/networkmanager.md index e74aff3..1d1db96 100644 --- a/wiki/linux/networkmanager.md +++ b/wiki/linux/networkmanager.md @@ -7,7 +7,8 @@ networks by providing options for various configuration. NetworkManager can be installed with the `networkmanager` package on most linux distributions which provides daemon aswell as `nmcli` a command line interface -and `nmtui` a terminal user interface for configuration. +and `nmtui` a [terminal](/wiki/system_console.md) user interface for +configuration. Additionally `nm-connection-editor` can be installed for a graphical user interface. diff --git a/wiki/linux/playerctl.md b/wiki/linux/playerctl.md index 6bfeaa6..a7c455a 100644 --- a/wiki/linux/playerctl.md +++ b/wiki/linux/playerctl.md @@ -32,6 +32,6 @@ playerctl previous ## Using Hotkeys Hotkeys can be more accessible than typing the commands to start or stop music -in the terminal. +in the [terminal](/wiki/system_console.md). With [SXHKD](/wiki/linux/sxhkd.md#setting-a-hotkey) commands from the CLI can be set to a hotkey. diff --git a/wiki/linux/suckless.md b/wiki/linux/suckless.md index d7ba76c..8866e6e 100644 --- a/wiki/linux/suckless.md +++ b/wiki/linux/suckless.md @@ -9,7 +9,7 @@ Notable works include `dwm` and `dmenu`. - dwm is a window manager - ii is an IRC client - slock is a screen locker -- st is a terminal +- st is a [terminal](/wiki/system_console.md) ## Setup diff --git a/wiki/linux/todoman.md b/wiki/linux/todoman.md index 6619907..318d16b 100644 --- a/wiki/linux/todoman.md +++ b/wiki/linux/todoman.md @@ -1,6 +1,7 @@ # Todoman -[todoman](https://github.com/pimutils/todoman) is a todolist you can use in your terminal. +[todoman](https://github.com/pimutils/todoman) is a todolist you can use in your +[terminal](/wiki/system_console.md). You can sync it using [vdirsyncer](vdirsyncer.md) ## Setup diff --git a/wiki/mail.md b/wiki/mail.md index cc3d742..15587e6 100644 --- a/wiki/mail.md +++ b/wiki/mail.md @@ -20,5 +20,5 @@ If you don't have a built-in web interface for your mail-server you need some software to access your mails. And even if you have it can be useful to keep your mails synced locally on your pc. -- [Neomutt](linux/neomutt.md) is a terminal-based mail client for linux, that -has a simple interface. +- [Neomutt](linux/neomutt.md) is a [terminal-based](/wiki/system_console.md) + mail client for linux, that has a simple interface. diff --git a/wiki/nginx.md b/wiki/nginx.md index 860cc03..5324f9a 100644 --- a/wiki/nginx.md +++ b/wiki/nginx.md @@ -5,9 +5,9 @@ ## Setup -The software can be setup via [Docker](/wiki/docker.md) with a terminal user -interface program for nginx and certbot, which is called -nginx-certbot-docker-tui or short ncdt. +The software can be setup via [Docker](/wiki/docker.md) with a +[terminal](/wiki/system_console.md) user interface program for nginx and +certbot, which is called nginx-certbot-docker-tui or short ncdt. Alternatively the standalone [nginx image](./docker-images/nginx.md) can be used. diff --git a/wiki/search_engine.md b/wiki/search_engine.md new file mode 100644 index 0000000..232825b --- /dev/null +++ b/wiki/search_engine.md @@ -0,0 +1,19 @@ +# Search Engine + +A search engine is a software that searches and finds web pages given a search +term. +Search engines are usually set as the start page of a +[web browser](/wiki/web_browser.md). + +## Engine Providers + +There are various search engines that can be used. + +- [Google](https://www.google.com/) is the most used search engine in the world. + Despite that being the case it has questionable privacy standards. +- [DuckDuckGo](https://duckduckgo.com/) is a privacy oriented search engine. + For that reason it does not feature personalized search results. +- [Whoogle](/wiki/whoogle.md) is a free metasearch engine that can be + self-hosted. + It uses the general layout of the Google search engine. +- [Searx](/wiki/searx.md) is a free metasearch engine that can be self-hosted. diff --git a/wiki/system_console.md b/wiki/system_console.md new file mode 100644 index 0000000..3d7698c --- /dev/null +++ b/wiki/system_console.md @@ -0,0 +1,14 @@ +# System Console + +A system console is used for entering data into a computer and communicating +with it. +It mostly uses a keyboard for input aswell as a screen for displaying results. +Additionally a terminal is used. + +## Terminals + +The following section lists different terminals. + +- [suckless' st](/wiki/linux/suckless.md#programs) is a simple terminal + implementation for [X](/wiki/linux/x_window_system.md) on + [Linux](/wiki/linux/linux.md). diff --git a/wiki/vnc.md b/wiki/vnc.md new file mode 100644 index 0000000..d42bbdf --- /dev/null +++ b/wiki/vnc.md @@ -0,0 +1,10 @@ +# VNC + +VNC - short for Virtual Network Computing - is a software used for sharing the +desktop of a system. +It is based on the Remote Frame Buffer protocoll which is also named RFB. + +VNC is especially used for accessing graphical applications or +[terminals](/wiki/system_console.md) of a remote server, +[dockerized](/wiki/docker.md#dockerize-a-graphical-application) or virtualized +program. diff --git a/wiki/web_browser.md b/wiki/web_browser.md new file mode 100644 index 0000000..50fbe36 --- /dev/null +++ b/wiki/web_browser.md @@ -0,0 +1,11 @@ +# Web Browser + +A web browser is an application that is used for accessing websites. +Browsers often use [search engines](/wiki/search_engine.md). + +## Setup + +There are various web browsers that are used. +This article recommends the usage of [Firefox](/wiki/firefox.md) because it is +both widely supported and gives the posibility to configure many things to +provide a secure web browser.