markdown syntax: formatted all files with prettier

master
TiynGER 4 years ago
parent 0b7e2aa41b
commit 2951efa92e

@ -22,12 +22,12 @@ Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------ | --------------- | ----------------------- |
| `airsonic_config` | /config | Configuration files |
| `airsonic_media` | /media | Various other media |
| `media_playlists` | /playlists | Location for playlists |
| `media_music` | /music | Location for music |
| `media_audiobooks` | /audiobooks | Location for audiobooks |
| `media_podcasts` | /podcasts | location for podcasts |
| `airsonic_config` | `/config` | Configuration files |
| `airsonic_media` | `/media` | Various other media |
| `media_playlists` | `/playlists` | Location for playlists |
| `media_music` | `/music` | Location for music |
| `media_audiobooks` | `/audiobooks` | Location for audiobooks |
| `media_podcasts` | `/podcasts` | location for podcasts |
#### Ports
@ -35,7 +35,7 @@ Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 4040 | 4040 | TCP | WebUI |
| `4040` | `4040` | TCP | WebUI |
#### Rebuild

@ -6,24 +6,26 @@
The official container and documentation was made by [jkarlos](https://hub.docker.com/r/jkarlos/git-server-docker).
##### Volumes
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | ----------------- | --------------------------- |
| git-server-repos | /git-server/repos | storage for git repos |
| git-server-keys | /git-server/keys | storage for user ssh keys |
| ------------------ | ------------------- | ------------------------- |
| `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.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------------------------------- |
| 22 | 2222 | TCP | ssh port for accessing the git server |
| `22` | `2222` | TCP | ssh port for accessing the git server |
##### Rebuild
#### Rebuild
```
```shell
#!/bin/sh
docker stop git-server
docker rm git-server

@ -11,9 +11,9 @@ The official container and documentation was made by [ventz](https://hub.docker.
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ----------------------- |
| bind\_cache | /var/cache/bind | cache for dns |
| bind\_etc | /etc/bind | configuration for dns |
| ------------ | ----------------- | --------------------- |
| `bind_cache` | `/var/cache/bind` | cache for dns |
| `bind_etc` | `/etc/bind` | configuration for dns |
#### Ports
@ -21,16 +21,16 @@ Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------------- |
| 53 | 53 | TCP | dns protocol port |
| 53 | 53 | UDP | dns protocol port |
| `53` | `53` | TCP | dns protocol port |
| `53` | `53` | UDP | dns protocol port |
#### Additional
There are some special variables to set.
| Flag | Usage |
| ----- | ------------------------------------------------------- |
| --dns | set two of these flags for specific dns forward servers |
| ------- | ------------------------------------------------------- |
| `--dns` | set two of these flags for specific dns forward servers |
#### Rebuild

@ -11,17 +11,17 @@ The official container and documentation was made by [olbat](https://hub.docker.
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ------------------------------- |
| cups | /etc/cups | configuration for printers, etc |
| /var/run/dbus | /var/run/dbus | connection to host dbus |
| --------------- | --------------- | ------------------------------- |
| `cups` | `/etc/cups` | configuration for printers, etc |
| `/var/run/dbus` | `/var/run/dbus` | connection to host dbus |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------------ |
| 631 | 631 | TCP | cups server webui |
| -------------- | ------------------------ | -------- | ----------------- |
| `631` | `631` | TCP | cups server webui |
#### Additional

@ -6,5 +6,5 @@ Due to easy handling and reproducable environments it is a useful tool.
## 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) that focusses on that topic.
There is a [guide on marmelab](https://marmelab.com/blog/2018/03/21/using-nvidia-gpu-within-docker-container.html)
that focusses on that topic.

@ -12,19 +12,18 @@ It contains dovecot, antispam, antivirus, ssl, etc.
The configuration is done automatically using scripts by tvial.
First you need to download the essential setup files.
```
```shell
curl -o setup.sh https://raw.githubusercontent.com/tomav/docker-mailserver/master/setup.sh; chmod a+x ./setup.sh
curl -o docker-compose.yml https://raw.githubusercontent.com/tomav/docker-mailserver/master/docker-compose.yml.dist
curl -o .env https://raw.githubusercontent.com/tomav/docker-mailserver/master/.env.dist
curl -o env-mailserver https://raw.githubusercontent.com/tomav/docker-mailserver/master/env-mailserver.dist
```
After that you need to edit the `.env` and the `env-mailserver` files to configure the mailserver.
After that you need to edit the `.env` and the `env-mailserver` files to
configure the mailserver.
You then need to start the container with the `rebuild.sh` and add email accounts using the following command.
You then need to start the container with the `rebuild.sh` and add email
accounts using the following command.
`./setup.sh email add <user@domain> (<password>)`
@ -36,7 +35,7 @@ Afterwards you're ready to go by once again running the `rebuild.sh` file.
#### Rebuild
```
```shell
#!/bin/sh
docker-compose down
docker pull tvial/docker-mailserver:latest

@ -1,23 +1,28 @@
# File synchronization
Tools to synchronize data and so called clouds are pretty handy to use files on different machines.
Tools to synchronize data and so called clouds are pretty handy to use files on
different machines.
There are tools with a main server and there are tools that don't need them.
## Synchronizing with main server
The biggest advantage of having a main server contain your data is that - as long as the server is online -
The biggest advantage of having a main server contain your data is that - as
long as the server is online -
you can sync as you please.
You do not need to care which machines are online to get all the files you need.
If you are talking about a cloud, this is this.
- [Owncloud](owncloud.md) is a self-hostable, open-source file hosting service that can be dockerized.
- [Owncloud](owncloud.md) is a self-hostable, open-source file hosting service
that can be dockerized.
- [Onedrive](onedrive.md) is a very popular piece of software despite being proprietary.
You can not self-host it, but you can run a dockerized client.
You can not self-host it, but you can run a dockerized client.
## Synchronizing without main server
If you can bare the difficulties ascending due to the mentioned above problems, this is probably a more
If you can bare the difficulties ascending due to the mentioned above problems,
this is probably a more
safe way to "host" files.
There is no single server as point of attack with all your data.
- [Syncthing](syncthing.md) is a free and open-source peer-to-peer file synchronization tool that can be dockerized.
- [Syncthing](syncthing.md) is a free and open-source peer-to-peer file
synchronization tool that can be dockerized.

@ -7,22 +7,24 @@
The original container and documentation are made by [tiynger](https://hub.docker.com/r/tiynger/pythonflask).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | ------------------------------- |
| app | /flask | directory for flask application |
| `app` | `/flask` | directory for flask application |
#### Ports
Set the following volumes with the -p tag.
| Container-Port | Recommed outside port | Protocol | Description |
| -------------- | --------------------- | -------- | ----------- |
| 5000 | 80 | TCP | HTTP port |
| `5000` | `80` | TCP | HTTP port |
#### Rebuild
```
```shell
#!/bin/sh
docker stop python-flask
docker rm python-flask

@ -7,28 +7,33 @@
The official container and documentation was made by [johnktims](https://hub.docker.com/r/johnktims/folding-at-home).
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 7396 | 7396 | TCP | WebUI |
| `7396` | `7396` | TCP | WebUI |
#### Additional
There are some special variables to set.
| Flag | Usage |
| ------- | -------------------------------------- |
| --user | set your username |
| --power | set the default power to fold at home |
| --team | set your teamid to contribute points |
| --------- | ------------------------------------- |
| `--user` | set your username |
| `--power` | set the default power to fold at home |
| `--team` | set your teamid to contribute points |
##### GPU
To add a nvidia gpu add the `nvidia-docker-toolkit` or the recommended software for your gpu.
To add a nvidia gpu add the `nvidia-docker-toolkit` or the recommended software
for your gpu.
After that you can set you gpu to fold aswell by adding `--gpus=all`.
GPU support is also mentioned in [the docker entry](docker.md).
#### Rebuild
```
```shell
#!/bin/sh
docker stop folding-at-home
docker rm folding-at-home

@ -24,4 +24,3 @@ Additionally it is easy to collaborate together.
If you don't need a bloated web-interface a more basic approach is more than enough.
- [git-server-docker](bare-git.md) is a pretty basic docker-container for git.

@ -7,79 +7,89 @@
#### Gitea
##### Environment-variables
Set the following environment-variables in the `environment:` section of the docker-compose file.
| Name | Usage | Default |
| ------------------- | ------------------------------ | ------- |
| USER\_UID | User userid to run gitea | |
| USER\_GID | User groupid to run gitea | |
| DB\_TYPE | Specify database type | |
| DB\_HOST | Specify database host and port | |
| DB\_NAME | Specify Name of the database | |
| DB\_USER | Username for the database | |
| DB\_PASSWD | Password for the database | |
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| ----------- | ------------------------------ | ------- |
| `USER_UID` | User userid to run gitea | |
| `USER_GID` | User groupid to run gitea | |
| `DB_TYPE` | Specify database type | |
| `DB_HOST` | Specify database host and port | |
| `DB_NAME` | Specify Name of the database | |
| `DB_USER` | Username for the database | |
| `DB_PASSWD` | Password for the database | |
##### Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ---------------- | ---------------------- | ------------------------------ |
| data | /data | storage for data of git server |
| /etc/timezone | /etc/timezone:ro | link timezone |
| /etc/localtime | /etc/localtime | link localtime |
| ---------------- | ------------------ | ------------------------------ |
| `data` | `/data` | storage for data of git server |
| `/etc/timezone` | `/etc/timezone:ro` | link timezone |
| `/etc/localtime` | `/etc/localtime` | link localtime |
##### Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------- |
| 3000 | 3000 | TCP | WebUI |
| 22 | 222 | TCP | ssh port of git server |
| `3000` | `3000` | TCP | WebUI |
| `22` | `222` | TCP | ssh port of git server |
##### Networks
Set the following networks in the `networks:` section of the docker-compose file.
| Name | Usage |
| ----- | --------------------- |
| gitea | connect db with gitea |
| ------- | --------------------- |
| `gitea` | connect db with gitea |
##### Dependencies
Set the following dependencies in the `depends_on:` section of the docker-compose file.
Set the following dependencies in the `depends_on:` section of the
docker-compose file.
| Name | Usage |
| ----- | --------------------- |
| db | Ensure db is running |
| ---- | -------------------- |
| `db` | Ensure db is running |
#### MySql
##### Environment-variables
Set the following environment-variables in the `environment:` section of the docker-compose file.
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| ------------------- | ----------------------------- | ------- |
| MYSQL\_ROOT\_PASSWORD | set the mysql admin password | |
| MYSQL\_USER | set the mysql username | |
| MYSQL\_PASSWORD | set the mysql user password | |
| MYSQL\_Database | specify mysql database to use | |
| --------------------- | ----------------------------- | ------- |
| `MYSQL_ROOT_PASSWORD` | set the mysql admin password | |
| `MYSQL_USER` | set the mysql username | |
| `MYSQL_PASSWORD` | set the mysql user password | |
| `MYSQL_Database` | specify mysql database to use | |
##### Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ---------------- | ---------------------- | ---------------------------- |
| mysql | /var/lib/mysql | storage for owncloud data |
| ----------- | ---------------- | ------------------------- |
| `mysql` | `/var/lib/mysql` | storage for owncloud data |
##### Networks
Set the following networks in the `networks:` section of the docker-compose file.
| Name | Usage |
| ----- | --------------------- |
| gitea | connect db with gitea |
| ------- | --------------------- |
| `gitea` | connect db with gitea |
#### Rebuild
```
```shell
#!/bin/sh
docker-compose down
docker-compose up -d
@ -87,7 +97,7 @@ docker-compose up -d
#### Docker-Compose.yml
```
```yml
version: "2"
networks:

@ -7,22 +7,24 @@
The official container and documentation was made by [prologic](https://hub.docker.com/r/prologic/gopherproxy).
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------------------------- |
| 8000 | 8000 | TCP | port to proxy the gopher site as http to |
| `8000` | `8000` | TCP | port to proxy the gopher site as http to |
#### Additional
There are some special variables to set.
| Flag | Usage |
| ---- | ------------------------------------------------------------- |
| -uri | define the gopher site to proxy (just 'domain.tld' is enough) |
| ------ | ------------------------------------------------------------- |
| `-uri` | define the gopher site to proxy (just 'domain.tld' is enough) |
#### Rebuild
```
```shell
#!/bin/sh
docker stop gopheroverhttp
docker rm gopheroverhttp

@ -7,29 +7,32 @@
The official container and documentation was made by [tiynger](https://hub.docker.com/r/tiynger/gopherserver).
#### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------- | --------------------------------------------------- | --------- |
| SERVER\_NAME | set this to your IP/Domain (no "gopher://" needed!) | localhost |
| ------------- | --------------------------------------------------- | ----------- |
| `SERVER_NAME` | set this to your IP/Domain (no "gopher://" needed!) | `localhost` |
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| -------------------- | --------------- | ----------------------------- |
| gopherwebdir | /var/gopher | directory for the gopher page |
| -------------- | --------------- | ----------------------------- |
| `gopherwebdir` | `/var/gopher` | directory for the gopher page |
#### Ports
Set the following ports with the -p tag.
| Container port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | ---------- | ---------------------------- |
| 70 | 70 | TCP | port for the gopher-protocol |
| -------------- | ------------------------ | -------- | ---------------------------- |
| `70` | `70` | TCP | port for the gopher-protocol |
#### Rebuild
```
```shell
#!/bin/sh
docker stop gopherserver
docker rm gopherserver

@ -7,29 +7,32 @@
The official container and documentation was made by [rlister](https://hub.docker.com/r/rlister/hastebin).
#### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------ | ----------------------- | ------- |
| STORAGE_TYPE | Type to store the datas | file |
| -------------- | ----------------------- | ------- |
| `STORAGE_TYPE` | Type to store the datas | `file` |
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | -------------------------- |
| hastebin | /app/data | storage directory for data |
| ----------- | --------------- | -------------------------- |
| `hastebin` | `/app/data` | storage directory for data |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 7777 | 7777 | TCP | WebUI |
| `7777` | `7777` | TCP | WebUI |
#### Rebuild
```
```shell
#!/bin/sh
docker stop hastebin
docker rm hastebin

@ -7,23 +7,25 @@
The official container and documentation was made by [b4bz](https://hub.docker.com/r/b4bz/homer).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------------ | --------------- | ---------------------------------- |
| /current/dir/config.yml | /www/config.yml | configuration file for static page |
| homer | /www/assets | storage for icons, etc |
| ------------------------- | ----------------- | ---------------------------------- |
| `/current/dir/config.yml` | `/www/config.yml` | configuration file for static page |
| `homer` | `/www/assets` | storage for icons, etc |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 8080 | 8080 | TCP | WebUI |
| `8080` | `8080` | TCP | WebUI |
#### Rebuild
```
```shell
#!/bin/sh
docker stop homer
docker rm homer
@ -40,7 +42,7 @@ docker run --name homer \
This is a sample config.yml:
```
```yml
title: "tmp"
subtitle: "tmp"
logo: "tmp"
@ -55,7 +57,7 @@ links:
- name: "tmp"
icon: "tmp"
url: "tmp"
target: '_blank'
target: "_blank"
services:
- name: "tmp"
@ -66,5 +68,5 @@ services:
subtitle: "tmp"
tag: "tmp"
url: "tmp"
target: '_blank'
target: "_blank"
```

@ -8,38 +8,44 @@ The official container and documentation was made by [linuxserver](https://hub.d
This docker-rebuild is made up by a `docker-compose.yml` file.
#### Environment-variables
Set the following environment-variables in the `environment:` section of the docker-compose file.
| Name | Usage | Default |
| ------------------- | ---------------------------- | ------- |
| PUID | Userid to run the container | |
| PGID | Groupid to run the container | |
| TZ | specify the timezone | |
| ------ | ---------------------------- | ------- |
| `PUID` | Userid to run the container | |
| `PGID` | Groupid to run the container | |
| `TZ` | specify the timezone | |
#### Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ---------------- | ---------------------- | ------------------------------------ |
| config | /config | storage for config files of jellyfin |
| media\_movies | /data/movies | storage for movies |
| media\_tvshows | /data/tvshows | storage for tvshows |
| transcode | /transcode | tmp storage to transcode |
| --------------- | --------------- | ------------------------------------ |
| `config` | `/config` | storage for config files of jellyfin |
| `media_movies` | `/data/movies` | storage for movies |
| `media_tvshows` | `/data/tvshows` | storage for tvshows |
| `transcode` | `/transcode` | tmp storage to transcode |
Because it is useful to have the possibility to use the `media_movies` and `media_tvshows` in multiple containers,
it is recommended to use them as external volumes (volumes section: `external: true` instead of `driver: local`).
To use the rebuild the volumes have to exist before creating the container (`docker volume create media_movies` and tvshows accordingly).
Because it is useful to have the possibility to use the `media_movies` and
`media_tvshows` in multiple containers,
it is recommended to use them as external volumes (volumes section:
`external: true` instead of `driver: local`).
To use the rebuild the volumes have to exist before creating the container
(`docker volume create media_movies` and tvshows accordingly).
#### Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 8096 | 8096 | TCP | WebUI |
| `8096` | `8096` | TCP | WebUI |
#### Rebuild
```
```shell
#!/bin/sh
docker-compose down
docker pull linuxserver/jellyfin:latest
@ -48,7 +54,7 @@ docker-compose up -d
#### Docker-Compose.yml
```
```yml
version: "2"
services:
jellyfin:

@ -7,22 +7,26 @@ At the end of this guide a fully functional Arch Linux will be installed.
## 1. Preparation
Ahead of the installation an Arch boot-stick has to be created. The iso-file can be found on the [official website](https://www.archlinux.org/download/).
Ahead of the installation an Arch boot-stick has to be created. The iso-file can
be found on the [official website](https://www.archlinux.org/download/).
The iso can be written on an USB-stick using `dd`.
After that the USB can be plugged in the system on which Arch should be installed.
Boot the target system and select `Boot Arch Linux (x86_64)`.
If you need to set the keyboard layout to anything other than english you can temporarily do so by using the `loadkeys` command.
This has to be followed by your country id (for example a german keyboard layout would be `de`,`de-latin1` or `de-latin1-nodeadkeys`.
If you need to set the keyboard layout to anything other than english you can
temporarily do so by using the `loadkeys` command.
This has to be followed by your country id (for example a german keyboard layout
would be `de`,`de-latin1` or `de-latin1-nodeadkeys`.
## 2. Formatting of the target drive
Using `lsblk` you can list all the drives and partitions.
Select a drive to install Arch on.
In this step you can see if old partitions need to be deleted.
For reasons of simplicity the following guide will assume the selected drive to be `/dev/sda`.
For reasons of simplicity the following guide will assume the selected drive to
be `/dev/sda`.
### Clear disk completely:
### Clear disk completely
This step can take quite a while especially for large drives.
@ -30,9 +34,10 @@ This step can take quite a while especially for large drives.
Now all partitions should be removed.
### Create new partitions:
### Create new partitions
If you miss click during the progress of the following commands you can press `CTRL+C` to close the program.
If you miss click during the progress of the following commands you can press
`CTRL+C` to close the program.
No changes will be made until the confirmation at the end.
The swap partition will be created later under lvm.
@ -62,21 +67,24 @@ For this guide this partition is assumed to be `/dev/sda2`.
- `cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2` - encryption
- confirm with `YES`
- Now you can assign a passphrase.
The passphrase has to be entered at boot to decrypt the system.
Recovering of this passphrase is **not** possible.
The passphrase has to be entered at boot to decrypt the system.
Recovering of this passphrase is **not** possible.
## 4. Setup LVM
- `cryptsetup luksOpen /dev/sda2 lvm` - Opening encrypted partition and mapping it to `/dev/mapper/lvm`
- `cryptsetup luksOpen /dev/sda2 lvm` - Opening encrypted partition and mapping
it to `/dev/mapper/lvm`
- `pvcreate /dev/mapper/lvm` - Create a LVM physical volume
- `vgcreate main /dev/mapper/lvm` - Create LVM Volume Group
- `lvcreate -L 16G -n swap main` - Create Swap in LVM (recommended: swap size is equal to ram size)
- `lvcreate -L 16G -n swap main` - Create Swap in LVM (recommended: swap size
is equal to ram size)
- `lvcreate -l 100%FREE -n root main` - Create LVM Logical Volume for /
## 5. Create filesystems and mounting them temporarily
We have to find out which partition is our boot-partition.
Using `blkid | grep /dev/sda` once again, we can identify it by looking for the `EFI system partition` label.
Using `blkid | grep /dev/sda` once again, we can identify it by looking for the
`EFI system partition` label.
The guide assumes this partition to be at `/dev/sda1`.
- `mkfs.fat -F 32 -n UEFI /dev/sda1` - Assign filesystem of EFI partition
@ -95,61 +103,80 @@ Now the created filesystems will be mounted for the installation.
In this step the country specific mirrorserver for the installation will be configured.
This will improve the download speed.
- `cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak` - Create a backup of mirrorlist
- `grep -E -A 1 ".*Germany.*$" /etc/pacman.d/mirrorlist.bak | sed '/--/d' > /etc/pacman.d/mirrorlist` - Example command to only use *German* mirrors
- `cat /etc/pacman.d/mirrorlist` - Check if the file is to your liking. If it is not, you can just recover by using `mirrorlist.bak`
- `cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak` - Create a backup
of mirrorlist
- `grep -E -A 1 ".*Germany.*$" /etc/pacman.d/mirrorlist.bak | sed '/--/d' > /etc/pacman.d/mirrorlist`
- Example command to only use _German_ mirrors
- `cat /etc/pacman.d/mirrorlist` - Check if the file is to your liking. If it is
not, you can just recover by using `mirrorlist.bak`
## 7. Starting base installation
Now you need a working internet connection.
Plug in your lan cable or use `wifi-menu` to get a wireless connection.
- `pacstrap /mnt base base-devel dosfstools gptfdisk lvm2 linux linux-firmware vim networkmanager` - Installation of main system with needed tools
- `pacstrap /mnt base base-devel dosfstools gptfdisk lvm2 linux linux-firmware vim networkmanager`
- Installation of main system with needed tools
- `genfstab -Up /mnt > /mnt/etc/fstab` - creation of fstab
- `arch-chroot /mnt` - Switch into the newly installed system
- `echo ArchLinux > /etc/hostname` - Assign hostname. `ArchLinux` can be changed for any name of your preference.
- `echo ArchLinux > /etc/hostname` - Assign hostname. `ArchLinux` can be changed
for any name of your preference.
## 8. Set Region and Language
- `echo LANG=en\_US.UTF-8 > /etc/locale.conf` - Assign system Language to be english (you can use other languages, look into the `/etc/locale.gen` for a list of all available languages)
- `vim /etc/locale.gen` - Assigning system language by uncomment the lines depending on your needs.
In this example:
```
- `echo LANG=en\_US.UTF-8 > /etc/locale.conf` - Assign system Language to be
english (you can use other languages, look into the `/etc/locale.gen` for a list of all available languages)
- `vim /etc/locale.gen` - Assigning system language by uncomment the lines
depending on your needs.
In this example:
```txt
en_US.UTF-8 UTF-8
```
- `locale-gen` - Generate languages
- `echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf` - set the keymap
- `tzselect` - Set region
# 9. Configure and create kernel-image
## 9. Configure and create kernel-image
- `vim /etc/mkinitcpio.conf`
- Search the line `MODULES=()` and change it to:
`MODULES=(ext4)`
- Search the line `HOOKS=([...])` and change it to:
`HOOKS=(base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems fsck shutdown)`
- `mkinitcpio -p linux` - generate Kernel-Image
## 10. Install and configure UEFI bootloader
- `bootctl install` - Prepare bootloader
- `ls -l /dev/disk/by-uuid` - find out the UUID
- `lsblk -no UUID /dev/sda2 | head -n1 > /boot/loader/entries/arch.conf` - print the UUID in your configuration file
- `lsblk -no UUID /dev/sda2 | head -n1 > /boot/loader/entries/arch.conf` - print
the UUID in your configuration file
- `vim /boot/loader/entries/arch.conf` - Create configuration
- Change the config to look similar to this:
```
```txt
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID=<enter your uuid here>:lvm:allow-discards root=/dev/mapper/main-root resume=/dev/mapper/main-swap rw quiet
```
- `cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.conf` - Create a fallback
- `cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.conf`
- Create a fallback
- `vim /boot/loader/loader.conf` - Create loader configuration
- Insert the following text
```
```txt
timeout 0
default arch
```
## 11. Finishing base installation
- `passwd` - set password for the root account
@ -159,12 +186,8 @@ en_US.UTF-8 UTF-8
- Now remove the Arch boot-stick
- Start the device again
If the system is installed in a virtual environment or a system with deactivated UEFI, don't forget to enable the EFI option, otherwise the system won't boot.
Now you can follow my larbs installation script (`curl -o larbs.sh https://raw.githubusercontent.com/tiyn/larbs/master/larbs.sh` or go on to other guides.
## Changelog and versions
> 03.04.2020 - Version 1.1en (based on 03.04.2020 - Version 1.1)
>
> 05.04.2020 - Version 2.1en (based on 05.04.2020 - Version 2.1)
>
> 28.05.2020 - Version 3.0en
If the system is installed in a virtual environment or a system with deactivated
UEFI, don't forget to enable the EFI option, otherwise the system won't boot.
Now you can follow my larbs installation script
(`curl -o larbs.sh https://raw.githubusercontent.com/tiyn/larbs/master/larbs.sh`
or go on to other guides.

@ -9,11 +9,12 @@ This guide is done in collaboration with [rvbg.eu](https://wiki.rvbg.eu).
## Fan controlling
- ` yay -S lm_sensors thinkfan` - Install the needed utilities
- `yay -S lm_sensors thinkfan` - Install the needed utilities
- `sudo modprobe thinkpad_acpi` - After that load the kernel module thinkpad_acpi
- `sudo modprobe thinkpad_acpi` - After that load the kernel module `thinkpad_acpi`
- `sudo cp /usr/share/doc/thinkfan/examples/thinkfan.conf.simple /etc/thinkfan.conf` - Copy and configure the config file
- `sudo cp /usr/share/doc/thinkfan/examples/thinkfan.conf.simple /etc/thinkfan.conf`
Copy and configure the config file
- `systemctl start thinkfan` - Start the thinkfan service
@ -26,9 +27,8 @@ This guide is done in collaboration with [rvbg.eu](https://wiki.rvbg.eu).
- `sudo vim /boot/loader/entries/arch.conf` - Open the bootloader configuration
- Go to the `options` line.
Append the following.
```
acpi_osi="!Windows 2012"
```
`acpi_osi="!Windows 2012"`
- `shutdown -r now` - Reboot the system
## Activate battery options
@ -37,12 +37,14 @@ acpi_osi="!Windows 2012"
- `yay -S acpi_call` - Enables battery charging stop at given capacity
- `sudo vim /etc/tlp.conf` - Open the battery options
- Change the following lines
```
```txt
START_CHARGE_THRESH_BAT0=80
STOP_CHARGE_THRESH_BAT0=90
```
The battery will start charging at 80 percent and stop charging at 90.
- `sudo tlp start` - Start service and save changed options
- `sudo systemctl enable tlp.service` - Enable the service
@ -52,13 +54,16 @@ The battery will start charging at 80 percent and stop charging at 90.
- `yay -S xrandr arandr` - Instll multimonitor tools
- Dock the system
- `arandr` - Setup the monitor configuration
- `dockd --config docked` - Save the changes (has to maybe be stopped by `CTRL + C`)
- `dockd --config docked` - Save the changes (has to maybe be stopped by
`CTRL + C`)
- Undock the system
- `arandr` - Setup the monitor configuration
- `dockd --config undocked` - Save the changes (has to maybe be stopped by `CTRL + C`)
- `dockd --config undocked` - Save the changes (has to maybe be stopped by
`CTRL + C`)
- `systemctl enable acpid` - Activate ACPI listener
- `systemctl start acpid` - Start ACPI listener
Scripts to change configuration at docking/undocking
- For the docked configuration use `vim /etc/dockd/dock.hook`
- For the undocked configuration use `vim /etc/dockd/undock.hook`

@ -2,16 +2,21 @@
## Grow non-LVM ext4 partition
ATTENTION: Please note that the partition to enlarge has to be the last one with the free space after it.
ATTENTION: Please note that the partition to enlarge has to be the last one with
the free space after it.
SSH into the VM.
- run `lsblk` check if the disk size has changed
- if not `reboot` the virtual machine
In the following it is assumed that the partition to enlarge is `/dev/sda2`
- change the size of the partition with `parted /dev/sda`
- inside of parted run `print free` and check where the free space after your partition ends
- run `resizepart` and follow the instructions; End is the number you checked in the last step
- inside of parted run `print free` and check where the free space after your
partition ends
- run `resizepart` and follow the instructions; End is the number you checked in
the last step
- `quit` parted
Now you need to resize the filesystem with `resize2fs /dev/sda2`.
@ -22,10 +27,12 @@ Now you need to resize the filesystem with `resize2fs /dev/sda2`.
source: [https://askubuntu.com/questions/197459/how-to-fix-sudo-unable-to-open-read-only-file-system]
Ususally the filesystem will go into read-only mode whe the system is running and there is a consistency error.
Ususally the filesystem will go into read-only mode whe the system is running
and there is a consistency error.
To fix it run:
- `sudo fsck -Af -M` - check all filesystems
If `fsck` gets stuck after its version banner:
`fsck from util-linux 2.20.1`
you may want to try using the ext4-specific fsck:
If `fsck` gets stuck after its version banner:
`fsck from util-linux 2.20.1`
you may want to try using the ext4-specific fsck:
- `fsck.ext4 -f /dev/sda1`

@ -13,7 +13,7 @@ To sync calendars you'll need `vdirsyncer` aswell.
- To configure vdirsyncer edit a file in `~/.config/vdirsyncer/config`.
```
```txt
[general]
status_path = "~/.cache/vdirsyncer/status"
@ -42,7 +42,8 @@ password = "<password>"
- `vdirsyncer sync` - Synchronize your data (put it in a crontab to run periodically)
- Edit the `~/.config/khal/config`
- Insert the following lines
```
```txt
[calendars]
[[calendars]]

@ -13,7 +13,8 @@ To sync the data using CardDAV you'll need `vdirsyncer` aswell.
- Edit the `~/.config/vdirsyncer/config`.
- Insert the following lines:
```
```txt
[general]
status_path = "~/.cache/vdirsyncer/status"
@ -34,11 +35,14 @@ username = "<username>"
password = "<password>"
auth = "basic"
```
- `vdirsyncer discover && vdirsyncer metasync` - Initialize vdirsyncer
- `vdirsyncer sync` - Synchronize the addressbook (put this into a crontab to update periodically)
- `vdirsyncer sync` - Synchronize the addressbook (put this into a crontab to
update periodically)
- Add and configure a config for khard
- `mkdir ~/.config/khard` - add a directory for the config
- `cp /usr/share/doc/khard/khard.conf.example ~/.config/khard/khard.conf` - Copy the example configuration
- `cp /usr/share/doc/khard/khard.conf.example ~/.config/khard/khard.conf` -
Copy the example configuration
- Adjust `khard.conf` to your needs
#### Mutt

@ -8,11 +8,13 @@ It can be easily configured using mutt-wizard.
### Arch-Linux
- `yay -S neomutt isync msmtp pass` - Install all dependecies
- Install mutt-wizard from [github](https://github.com/LukeSmithxyz/mutt-wizard) (AUR is not up to date)
- Install mutt-wizard from [github](https://github.com/LukeSmithxyz/mutt-wizard)
(AUR is not up to date)
#### Using mutt-wizard
After installation you're able to use the following commands, that will guide you through configuration.
After installation you're able to use the following commands, that will guide
you through configuration.
`mw add` to add mailaccounts
@ -32,7 +34,8 @@ After installation you're able to use the following commands, that will guide yo
- Edit `~/.config/mutt/muttrc`
- Append the following lines.
```
```txt
set query_command= "khard email --parsable --search-in-source-files %s"
bind editor <Tab> complete-query
bind editor ^T complete
@ -40,6 +43,6 @@ macro index,pager A \
"<pipe message>khard add-email<return>" \
"add the sender email address to khard"
```
- You should now be able to tab-complete email-addresses in neomutt
- You can also add new ones by pressing A

@ -22,4 +22,5 @@ You can insert new rows `ir`/`i3r` or columns `ic`/`i3c`.
There are some functions you can use when in numbers mode.
- `=@sum(<start-cell>:<end-cell>)` - Summarize all number-entries in the range of given cells
- `=@sum(<start-cell>:<end-cell>)` - Summarize all number-entries in the range
of given cells

@ -11,4 +11,5 @@ This is a guide on how to persistently change the symlink /bin/sh from bash to d
- `yay -S dash` - Install dash
- `sudo ln -sfT /bin/dash /bin/sh` - link /bin/sh to dash
- `sudo vim /usr/share/libalpm/hooks/bash-update.hook` - setup a hook to avoid bash resetting the symlink
- `sudo vim /usr/share/libalpm/hooks/bash-update.hook` - setup a hook to avoid
bash resetting the symlink

@ -6,10 +6,12 @@ Wine is a compatibility layer to run windows programs on linux machines.
- Enable multilib support in pacman
- `vim /etc/pacman.conf` - Uncomment the following lines
```
```txt
[multilib]
Include = /etc/pacman.d/mirrorlist
```
- `pacman -S wine winetricks` - Install wine and configuration helper
## Configuration
@ -17,5 +19,6 @@ Wine is a compatibility layer to run windows programs on linux machines.
- Set the global variable `WINEPREFIX` to your liking, standard is `$HOME/.wine`
- `winetricks` - run the installation of basic windows dependencies to the wine directory
- Move the program you want to run to `$WINEPREFIX/drive_c/`
- `winetricks sandbox` - (Optional) if you don't want wine to set up directories or files into your home directory
- `winetricks sandbox` - (Optional) if you don't want wine to set up directories
or files into your home directory
- `wine $WINEPREFIX/drive_c/<insert program>` - Run the program with wine

@ -7,11 +7,12 @@
Linux can sometimes have problems with screen tearing.
To get this working you need to change the `/etc/X11/xorg.conf.d/20-intel.conf` to:
```
```txt
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSection
```
This was found on [maketecheasier](https://www.maketecheasier.com/get-rid-screen-tearing-linux).

@ -8,11 +8,14 @@ Nevertheless there are some really nice pieces of software to check out.
If you want to host your own mail-server there are solutions with and without interfaces.
- [Dovecot](dovecot.md) is a simple mail server that can be dockerized and has no interface.
- [Dovecot](dovecot.md) is a simple mail server that can be dockerized and has
no interface.
## Client
If you don't have a built-in web interface for your mail-server you need some software to access your mails.
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, that has a simple interface.
- [Neomutt](linux/neomutt.md) is a terminal-based mail client, that has a simple
interface.

@ -7,43 +7,45 @@
The official container and documentation was made by [tetricz](https://hub.docker.com/r/tetricz/mordhau-server).
#### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---- | ---------------------------------------------------- | ------- |
| QUERYPORT | port for query mordhau | |
| GAME\_PORT | port for mordhau game | |
| BEACONPORT | port for mordhau beacon | |
| STEAM\_CONNECT | set to tell if you want to connect to steam | |
| STEAMID64 | set the serve owner steamid | |
| UID | users userid to run | |
| GID | users groupid to run | |
| GAME\_MODE | specify mordhau game mode | |
| PLAYER\_COUNT | set a playercount limit | |
| SERVER\_NAME | set a servername | |
| SERVER\_PASSWORD | set a password | |
| ADMIN\_PASSWORD | set an admin password | |
| ----------------- | ------------------------------------------- | ------- |
| `QUERYPORT` | port for query mordhau | |
| `GAME_PORT` | port for mordhau game | |
| `BEACONPORT` | port for mordhau beacon | |
| `STEAM_CONNECT` | set to tell if you want to connect to steam | |
| `STEAMID64` | set the serve owner steamid | |
| `UID` | users userid to run | |
| `GID` | users groupid to run | |
| `GAME_MODE` | specify mordhau game mode | |
| `PLAYER_COUNT` | set a playercount limit | |
| `SERVER_NAME` | set a servername | |
| `SERVER_PASSWORD` | set a password | |
| `ADMIN_PASSWORD` | set an admin password | |
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | -------------------- | ---------------------------------------- |
| mordhau | /serverdata/mordhau | storage for mordhau server relevant data |
| mordhau\_steamcmd | /serverdata/steamcmd | storage for steam related data |
| ------------------ | ---------------------- | ---------------------------------------- |
| `mordhau` | `/serverdata/mordhau` | storage for mordhau server relevant data |
| `mordhau_steamcmd` | `/serverdata/steamcmd` | storage for steam related data |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------------- |
| 7777 | 7777 | UDP | mordhau internal |
| 15000 | 15000 | UDP | mordhau internal |
| 27015 | 27015 | UDP | mordhau internal |
| `7777` | `7777` | UDP | mordhau internal |
| `15000` | `15000` | UDP | mordhau internal |
| `27015` | `27015` | UDP | mordhau internal |
#### Start
```
```shell
#!/bin/sh
docker pull tetricz/mordhau-server
@ -71,7 +73,7 @@ docker run --name=mordhau \
#### Stop
```
```shell
#/bin/sh
docker stop mordhau

@ -1,12 +1,15 @@
# Music
Music is a nice to have on your system.
There are multiple different approaches on how to get it working depending on your needs.
In general you need to consider if you want the music directly on your pc or access a server for it.
There are multiple different approaches on how to get it working depending on
your needs.
In general you need to consider if you want the music directly on your pc or
access a server for it.
## Server/Client
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.
- [Airsonic](airsonic.md) is a free fork of Subsonic, can be dockerized and has a web-interface.
- [Airsonic](airsonic.md) is a free fork of Subsonic, can be dockerized and has
a web-interface.

@ -4,7 +4,8 @@
### Docker
The easiest way to configure and run nginx is [ncdt](https://github.com/nasourso/nginx-certbot-docker-tui) by nasourso.
The easiest way to configure and run nginx is
[ncdt](https://github.com/nasourso/nginx-certbot-docker-tui) by nasourso.
So the first step is downloading it.
`wget https://raw.githubusercontent.com/nasourso/nginx-certbot-docker-tui/master/src/ncdt.sh`
@ -15,14 +16,18 @@ You can then configure reverse proxies by adding websites.
#### 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.
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 `-p 7000:7000` with `-p 172.17.0.1:7000:7000`.
This forces the docker container to only expose the port in the docker bridge network, effectively banning remote 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.
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
`-p 7000:7000` with `-p 172.17.0.1:7000:7000`.
This forces the docker container to only expose the port in the docker bridge
network, effectively banning remote access.
#### Rebuild
```
```shell
#!/bin/sh
docker-compose down
docker pull nginx:latest

@ -8,5 +8,5 @@ The software can vary in coverage and interface type.
One of the most used file modification is done in csv or similar datatypes.
- [sc-im](linux/sc-im.md) is a simple table calculation program for linux with a terminal based interface.
- [sc-im](linux/sc-im.md) is a simple table calculation program for linux with a
terminal based interface.

@ -7,24 +7,26 @@
The official container and documentation was made by [oznu](https://hub.docker.com/r/oznu/onedrive).
#### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---- | -------- | ------- |
| PUID | UserID | |
| PGID | GroupID | |
| ------ | ------- | ------- |
| `PUID` | UserID | |
| `PGID` | GroupID | |
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ----------------------------------------------- |
| onedrive\_config | /config | configuration storage for the server connection |
| onedrive\_doc | /documents | storage for downloaded documents |
| ----------------- | --------------- | ----------------------------------------------- |
| `onedrive_config` | `/config` | configuration storage for the server connection |
| `onedrive_doc` | `/documents` | storage for downloaded documents |
#### Rebuild
```
```shell
#!/bin/sh
docker stop onedrive
docker rm onedrive

@ -7,29 +7,32 @@
The official container and documentation was made by [kylemanna](https://hub.docker.com/r/kylemanna/openvpn).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ------------------------ |
| ovpn | /etc/openvpn | storage for openvpn data |
| ----------- | --------------- | ------------------------ |
| `ovpn` | `/etc/openvpn` | storage for openvpn data |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| 1194 | 1194 | UDP | openvpn port |
| `1194` | `1194` | UDP | openvpn port |
#### Additional
There are some special variables to set.
| Flag | Usage |
| --------- | ---------------------- |
| --cap-add | add linux capabilities |
| ----------- | ---------------------- |
| `--cap-add` | add linux capabilities |
#### Rebuild
```
```shell
#!/bin/sh
docker stop openvpn
docker rm openvpn

@ -15,9 +15,9 @@ The services in this files are explained seperately.
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ----------- | -------------------- | ---------------------------- |
| owncloud | /var/www/html | storage for owncloud plugins |
| config | /var/www/html/config | storage for owncloud config |
| ----------- | ---------------------- | ---------------------------- |
| `owncloud` | `/var/www/html` | storage for owncloud plugins |
| `config` | `/var/www/html/config` | storage for owncloud config |
##### Ports
@ -25,29 +25,30 @@ Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 80 | 80 | TCP | WebUI |
| `80` | `80` | TCP | WebUI |
#### Maria DB
##### Environment-variables
Set the following environment-variables in the `environment:` section of the docker-compose file.
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| ------------------- | ---------------------------- | ------- |
| MYSQL\_ROOT\_PASSWORD | set the mysql admin password | |
| --------------------- | ---------------------------- | ------- |
| `MYSQL_ROOT_PASSWORD` | set the mysql admin password | |
##### Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | ------------------------- |
| mariadb | /var/lib/mysql | storage for owncloud data |
| ----------- | ---------------- | ------------------------- |
| `mariadb` | `/var/lib/mysql` | storage for owncloud data |
#### Rebuild
```
```shell
#!/bin/sh
docker-compose down
docker pull owncloud
@ -57,11 +58,10 @@ docker-compose up -d
#### Docker-Compose.yml
```
version: '3.1'
```yml
version: "3.1"
services:
owncloud:
image: owncloud
restart: unless-stopped
@ -99,18 +99,18 @@ The original container and documentation are made by [tiynger](https://hub.docke
Set the following variables with the -e tag.
| Name | Usage | Default |
| -------- | --------------------------------------------------- | --------- |
| USER | username of OwnCloud server | admin |
| PASSWORD | password of OwnCloud server | admin |
| URL | url of OwnCloud server (dont forget the http(s)://) | localhost |
| ---------- | --------------------------------------------------- | ----------- |
| `USER` | username of OwnCloud server | `admin` |
| `PASSWORD` | password of OwnCloud server | `admin` |
| `URL` | url of OwnCloud server (dont forget the http(s)://) | `localhost` |
#### Additional
There are some special variables to set.
| Flag | Usage |
| ------------------ | ---------------------------------------------------------- |
| --opt-log max-size | prevent log file from growing to large (`50m` recommended) |
| -------------------- | ---------------------------------------------------------- |
| `--opt-log max-size` | prevent log file from growing to large (`50m` recommended) |
#### Volumes
@ -118,11 +118,11 @@ Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | ----------------------------------- |
| data | /data | directory for the owncloud contents |
| `data` | `/data` | directory for the owncloud contents |
#### Rebuild
```
```shell
#!/bin/sh
docker stop owncloudcli
docker rm owncloudcli
@ -142,7 +142,8 @@ docker run --name owncloudcli \
### Problems with a locked file
It is possible that you can't remove or move a locked file.
If this problem doesn't resolve after a restart you can try to disable locking in the owncloud config.
If this problem doesn't resolve after a restart you can try to disable locking
in the owncloud config.
This is done by adding the line `'filelocking.enabled' => false,` into the file `config/config.php`.
Then try to resolve the error.
Afterwards enable locking again by removing the added line.

@ -7,22 +7,24 @@
The official container and documentation was made by [xy2z](https://hub.docker.com/r/xy2z/pinedocs).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ----------------------- |
| pinedocs | /data | storage for pinedocs |
| ----------- | --------------- | -------------------- |
| `pinedocs` | `/data` | storage for pinedocs |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 80 | 80 | TCP | WebUI |
| `80` | `80` | TCP | WebUI |
#### Rebuild
```
```shell
#!/bin/sh
docker stop pinedocs
docker rm pinedocs

@ -7,29 +7,32 @@
The official container and documentation was made by [nasourso](https://hub.docker.com/r/nasourso/pltu).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | --------------------------------------------------- |
| pltu | /cert | storage for openvpn certificate of server with plex |
| ----------- | --------------- | --------------------------------------------------- |
| `pltu` | `/cert` | storage for openvpn certificate of server with plex |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 80 | 32400 | TCP | Plex webUI |
| `80` | `32400` | TCP | Plex webUI |
#### Additional
There are some special variables to set.
| Flag | Usage |
| ------------ | ------------------------ |
| --privileged | is needed due to openvpn |
| -------------- | ------------------------ |
| `--privileged` | is needed due to openvpn |
#### Rebuild
```
```shell
#!/bin/sh
docker stop pltu
docker rm pltu

@ -7,23 +7,25 @@
The official container and documentation was made by [portainer](https://hub.docker.com/r/portainer/portainer).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| -------------------- | -------------------- | ------------------------------------------------- |
| portainer | /data | configuration directory |
| /var/run/docker.sock | /var/run/docker.sock | connection to local docker containers and volumes |
| ---------------------- | ---------------------- | ------------------------------------------------- |
| `portainer` | `/data` | configuration directory |
| `/var/run/docker.sock` | `/var/run/docker.sock` | connection to local docker containers and volumes |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 9000 | 9000 | TCP | WebUI |
| `9000` | `9000` | TCP | WebUI |
#### Rebuild
```
```shell
#!/bin/sh
docker stop portainer
docker rm portainer
@ -43,23 +45,25 @@ docker run --name portainer \
The official container and documentation was made by [portainer](https://hub.docker.com/r/portainer/agent).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------------------- | ----------------------- | -------------------------------------- |
| /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 |
| ------------------------- | ------------------------- | -------------------------------------- |
| `/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
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | -------------------- |
| 9001 | 9001 | TCP | Portainer agent port |
| `9001` | `9001` | TCP | Portainer agent port |
#### Rebuild
```
```shell
#!/bin/sh
docker stop portainer_agent
docker rm portainer_agent
@ -71,4 +75,3 @@ docker run --name portainer_agent \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
-d portainer/agent:latest
```

@ -13,4 +13,4 @@ To get a compiler for c there are a few options.
### Vim
The steps to make Vim a c IDE are described in [../linux/vim/c-language.md].
The steps to make Vim a c IDE are described in [the vim section of this wiki](../linux/vim/c-language.md).

@ -16,4 +16,5 @@ For example:
To use GPUs or other PCI devices you need to work with PCI passthrough.
For documentation you can look in the [Proxmox wiki](https://pve.proxmox.com/wiki/Pci_passthrough).
There is also an [article](https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough) on reddit, that focusses especially on windows 10 VMs with GPU passthrough.
There is also an[article](https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough)
on reddit, that focusses especially on windows 10 VMs with GPU passthrough.

@ -10,30 +10,33 @@ The `latest` tag at the moment of writing this readme was corrupted.
The last usable tag was used therefore to guarantee best performance for all users.
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | --------------------------- |
| radicale\_data | /data | storage for caldav |
| radicale\_config | /config | storage for radicale config |
| ----------------- | --------------- | --------------------------- |
| `radicale_data` | `/data` | storage for caldav |
| `radicale_config` | `/config` | storage for radicale config |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------- |
| 5232 | 5232 | TCP | WebUI, caldav |
| `5232` | `5232` | TCP | WebUI, caldav |
#### Additional
There are some special variables to set.
| Flag | Usage |
| ----------- | ---------------------------------------------------------------------- |
| --read-only | make radicale read-only, caldav can still be changed and used normally |
| ------------- | ---------------------------------------------------------------------- |
| `--read-only` | make radicale read-only, caldav can still be changed and used normally |
#### Rebuild
```
```shell
#/bin/sh
docker stop radicale
docker rm radicale
@ -48,10 +51,13 @@ docker run --name radicale \
```
#### Configuration
After installation there are a few crucial steps to take to secure your calendars with a login.
It is important to change the config file which can be found in the docker volume with name `radicale_config` to match the `config`-file.
```
After installation there are a few crucial steps to take to secure your
calendars with a login.
It is important to change the config file which can be found in the docker
volume with name `radicale_config` to match the `config`-file.
```txt
# -*- mode: conf -*-
# vim:ft=cfg
@ -187,13 +193,18 @@ type = internal
#Access-Control-Allow-Origin = *
```
Following this you need to make sure there is a password file in the docker volume `radicale_data` called `users`.
Following this you need to make sure there is a password file in the docker
volume `radicale_data` called `users`.
The password will be encrypted using `bcrypt`.
Steps to create a file with a user and password:
- You will have to install the package which includes `htpasswd`; for debian based distributions this is `apt install apache2-utils`
- You will have to install the package which includes `htpasswd`; for debian
based distributions this is `apt install apache2-utils`
- `cd /var/lib/docker/volumes/radicale\_data/\_data` - go to the volume
- `touch ./users` - create a file called users
- `htpasswd -B ./users username` - add user with name and password to the file (change `username` to your desired username)
- `htpasswd -B ./users username` - add user with name and password to the file
(change `username` to your desired username)
Now you can go to the exposed port and login with your chosen username and password.
If you only added one user you shouldn't be able to login with any other data than your username and password.
If you only added one user you shouldn't be able to login with any other data
than your username and password.

@ -7,37 +7,40 @@
The official container and documentation was made by [dperson](https://hub.docker.com/r/samba).
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ------------------------------ |
| samba\_nas | /nas | storage for samba data |
| samba\_lib | /var/lib/samba | storage for samba lib |
| samba\_cache | /var/cache/samba | storage for samba cache |
| samba\_run | /run/samba | run entries for samba |
| samba\_etc | /etc | etc directory of samba server |
| samba\_log | /var/log/samba | storage for samba logs |
| ------------- | ------------------ | ----------------------------- |
| `samba_nas` | `/nas` | storage for samba data |
| `samba_lib` | `/var/lib/samba` | storage for samba lib |
| `samba_cache` | `/var/cache/samba` | storage for samba cache |
| `samba_run` | `/run/samba` | run entries for samba |
| `samba_etc` | `/etc` | etc directory of samba server |
| `samba_log` | `/var/log/samba` | storage for samba logs |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | -------------- |
| 139 | 139 | TCP | Samba internal |
| 445 | 445 | TCP | Samba internal |
| `139` | `139` | TCP | Samba internal |
| `445` | `445` | TCP | Samba internal |
#### Additional
There are some special variables to set.
| Flag | Usage |
| --------------------------------------------------------------------- | ---------------- |
| -u \<username;password\>(;ID;group;GID) | define user |
| -w \<workgroup\> | define workgroup |
| -s \<name;path\>(;browse;readonly;guest;users;admins;writelist;comment) | define shares |
| ------------------------------------------------------------------------- | ---------------- |
| `-u \<username;password\>(;ID;group;GID)` | define user |
| `-w \<workgroup\>` | define workgroup |
| `-s \<name;path\>(;browse;readonly;guest;users;admins;writelist;comment)` | define shares |
#### Rebuild
```
```shell
#!/bin/sh
docker stop samba
docker rm samba

@ -7,34 +7,37 @@
The official container and documentation was made by [linuxserver](https://hub.docker.com/r/linuxserver/syncthing).
#### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| --------- | ---------------- | ------- |
| PUID | UserID | |
| PGID | GroupID | |
| TZ | Timezone | |
| UMASK\_SET | setting usermask | |
| ----------- | ---------------- | ------- |
| `PUID` | UserID | |
| `PGID` | GroupID | |
| `TZ` | Timezone | |
| `UMASK_SET` | setting usermask | |
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ----------------------------------------------- |
| syncthing\_config | /config | storage for config and possible downloaded data |
| ------------------ | --------------- | ----------------------------------------------- |
| `syncthing_config` | `/config` | storage for config and possible downloaded data |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------------ |
| 8384 | 8384 | TCP | WebUI |
| 22000 | 22000 | TCP | Syncthing internal |
| 21027 | 21027 | UDP | Syncthing internal |
| `8384` | `8384` | TCP | WebUI |
| `22000` | `22000` | TCP | Syncthing internal |
| `21027` | `21027` | UDP | Syncthing internal |
#### Rebuild
```
```shell
#!/bin/sh
docker stop syncthing
docker rm syncthing

@ -7,31 +7,34 @@
The official container and documentation was made by [teamspeak](https://hub.docker.com/_/teamspeak).
#### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ----------------- | ---------------------------- | ------- |
| TS3SERVER\_LICENSE | accept the license agreement | |
| ------------------- | ---------------------------- | ------- |
| `TS3SERVER_LICENSE` | accept the license agreement | |
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | --------------------------- |
| teamspeak3 | /var/ts3server | storage for ts3-server data |
| ------------ | ---------------- | --------------------------- |
| `teamspeak3` | `/var/ts3server` | storage for ts3-server data |
#### Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 9987 | 9987 | UDP | ts3-intern |
| 10011 | 10011 | TCP | ts3-intern |
| 30033 | 30033 | TCP | ts3-intern |
| `9987` | `9987` | UDP | ts3-intern |
| `10011` | `10011` | TCP | ts3-intern |
| `30033` | `30033` | TCP | ts3-intern |
#### Rebuild
```
```shell
#!/bin/sh
docker stop teamspeak3
docker rm teamspeak3

@ -11,8 +11,8 @@ The official container and documentation was made by [prologic](https://hub.dock
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | -------------------- | ----------------------- |
| todo | /go/src/todo/todo.db | Database for todo list |
| ----------- | ---------------------- | ---------------------- |
| `todo` | `/go/src/todo/todo.db` | Database for todo list |
#### Ports
@ -20,11 +20,11 @@ Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| 8000 | 8000 | TCP | WebUI |
| `8000` | `8000` | TCP | WebUI |
#### Rebuild
```
```shell
#!/bin/sh
docker stop todo
docker rm todo

@ -9,22 +9,23 @@ The official container and documentation was made by [yourls](https://hub.docker
#### YOURLS
##### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---- | ---------------------------------------------------- | ------- |
| YOURLS\_DB\_PASS | database password | |
| YOURLS\_SITE | domain/site name of yourls | |
| YOURLS\_USER | username for yourls admin | |
| YOURLS\_PASS | password for yourls admin | |
| ---------------- | -------------------------- | ------- |
| `YOURLS_DB_PASS` | database password | |
| `YOURLS_SITE` | domain/site name of yourls | |
| `YOURLS_USER` | username for yourls admin | |
| `YOURLS_PASS` | password for yourls admin | |
##### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ----------------------- |
| yourls | /var/www/html | yourls specific html |
| ----------- | --------------- | -------------------- |
| `yourls` | `/var/www/html` | yourls specific html |
##### Ports
@ -32,28 +33,29 @@ Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------------- |
| 80 | 80 | TCP | dns protocol port |
| `80` | `80` | TCP | dns protocol port |
#### MySQL
##### Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---- | ---------------------------------------------------- | ------- |
| MYSQL\_ROOT\_PASSWORD | database password | |
| --------------------- | ----------------- | ------- |
| `MYSQL_ROOT_PASSWORD` | database password | |
##### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------- | --------------- | ----------------------- |
| mysql | /var/cache/bind | database for yourls |
| ----------- | ----------------- | ------------------- |
| `mysql` | `/var/cache/bind` | database for yourls |
#### Rebuild
```
```shell
#!/bin/sh
docker-compose down
docker-compose up -d
@ -61,8 +63,8 @@ docker-compose up -d
#### Docker-Compose.yml
```
version: '3.1'
```yml
version: "3.1"
services:
yourls:
image: yourls
@ -74,7 +76,7 @@ services:
YOURLS_SITE: https://domain.tld
YOURLS_USER: admin_username
YOURLS_PASS: admin_password
YOURLS_PRIVATE: 'true'
YOURLS_PRIVATE: "true"
volumes:
- yourls:/var/www/html

Loading…
Cancel
Save