diff --git a/wiki/android/tasker.md b/wiki/android/tasker.md new file mode 100644 index 0000000..12a07b9 --- /dev/null +++ b/wiki/android/tasker.md @@ -0,0 +1,38 @@ +# Tasker + +[Tasker](https://tasker.joaoapps.com/) is a tool to automate various settings and other things on +an [Android-phone](/wiki/android.md). + +## Setup + +On [Android](/wiki/android.md) /name/ is available on the +[Google Play store](/wiki/android.md#app-store) in a package called +[Tasker](https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm). + +Additionally the installation of [Tasker Settings](https://github.com/joaomgcd/TaskerSettings) is +recommended. +Please note that on the [Github releases page](https://github.com/joaomgcd/TaskerSettings/releases) +there are different versions to be used with Xiaomi-phones. + +Another recommended action to be taken is to grant Tasker permission to write secure settings. +This has to be done for Tasker to be able to turn on or off Wifi and Location. +Allowing Tasker to set these settings can be done by the following command that has to be run on a +computer with the corresponding phone connected via USB and USB-debugging enabled. + +```sh +adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS +``` + +`adb` is also often used to install [LineageOS](/wiki/android/lineageos.md). + +## Usage + +This section addresses the usage of Tasker. + +On Tasker profiles, tasks and more can be manually added and edited. +An easier way to get things started is importing premade Tasker projects from +[TaskerNet](https://taskernet.com/?public). + +Recommended TaskerNet-projects are the following. + +- Flip To Shhh diff --git a/wiki/docker/immich-app_-_immich-server.md b/wiki/docker/immich-app_-_immich-server.md new file mode 100644 index 0000000..f5a6a6a --- /dev/null +++ b/wiki/docker/immich-app_-_immich-server.md @@ -0,0 +1,78 @@ +# immich-app - immich-server + +This is a [Docker](/wiki/docker.md) container for a /service/ server. +The official container and documentation was made by +[immich](https://github.com/immich-app/immich). +This docker-rebuild is made up by a `docker-compose.yml` file. +In addition to the main container you need to connect a +[redis](/wiki/docker/redis.md) and a [postgres](/wiki/docker/postgres.md) container to it. + +## Set-up + +Create the files `rebuild.sh`, `.env` and `docker-compose.yml` at the same +place. +Please note that the `docker-compose.yml` file should be retrieved from the +[Github releases page](https://github.com/immich-app/immich/releases/) +Change the settings according to your needs and run `./rebuild.sh` afterwards. + +### Environment-variables + +Set the following variables with the -e tag. + +| Name | Usage | Default | +| ---------- | ------------- | ------- | +| `/name/` | /description/ | | + +### Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | --------- | ------------- | +| `2283` | `3001` | TCP | WebUI | + +### Volumes + +Set the following volumes with the -v tag. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | --------------------- | ------------- | +| `immich_library` | `/usr/src/app/upload` | Library | +| `/etc/timezone` | `/etc/timezone:ro` | Timezone | + +### rebuild.sh + +```sh #!/bin/sh +docker-compose down +docker-compose up -d +``` + +### .env + +```sh +# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables + +# The location where your uploaded files are stored +UPLOAD_LOCATION=immich_library +# The location where your database files are stored +DB_DATA_LOCATION=immich_postgres + +# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List +# TZ=Etc/UTC + +# The Immich version to use. You can pin this to a specific version like "v1.71.0" +IMMICH_VERSION=release + +# Connection secret for postgres. You should change it to a random password +# Please use only the characters `A-Za-z0-9`, without special characters or spaces +DB_PASSWORD=postgres + +# Disable Machine Learning +IMMICH_MACHINE_LEARNING_ENABLED=false +IMMICH_MACHINE_LEARNING_URL=false + +# The values below this line do not need to be changed +################################################################################### +DB_USERNAME=postgres +DB_DATABASE_NAME=immich +``` diff --git a/wiki/docker/wabayang_-_jelu.md b/wiki/docker/wabayang_-_jelu.md new file mode 100644 index 0000000..1c30e62 --- /dev/null +++ b/wiki/docker/wabayang_-_jelu.md @@ -0,0 +1,68 @@ +# wabayang - jelu + +This is a [Docker](/wiki/docker.md) container for a Jelu server. +The official container and documentation was made by +[wabayang](https://github.com/bayang/jelu). +This docker-rebuild is made up by a `docker-compose.yml` file. + +## 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. + +### Ports + +Set the following ports in the `ports:` section. + +| Container Port | Recommended outside port | Protocol | Description | +| -------------- | ------------------------ | --------- | ------------- | +| `11111` | `11111` | TCP | WebUI | + +### Volumes + +Set the following volumes with the -v tag. + +| Outside mount/volume name | Container mount | Description | +| ------------------------- | ------------------ | ------------------- | +| `config` | `/config` | configuration files | +| `database` | `/database` | database | +| `files_images` | `/files/images` | path for files | +| `files_imports` | `/files/imports` | path for imports | +| `/etc/timezone` | `/etc/timezone:ro` | Timezone | + +### rebuild.sh + +```sh +version: "2" +services: + jelu: + image: wabayang/jelu + container_name: jelu + volumes: + - config:/config + - database:/database + - files_images:/files/images + - files_imports:/files/imports + - /etc/timezone:/etc/timezone:ro + ports: + - 11111:11111 + restart: unless-stopped + +volumes: + config: + driver: local + database: + driver: local + files_images: + driver: local + files_imports: + driver: local +``` + +### docker-compose.yml + +```yml +#!/bin/sh +docker-compose down +docker-compose up -d +``` diff --git a/wiki/e-books.md b/wiki/e-books.md index 2083e93..0ef0ed7 100644 --- a/wiki/e-books.md +++ b/wiki/e-books.md @@ -21,3 +21,11 @@ its supported counterpart [DeDRM by noDRM](https://github.com/noDRM/DeDRM_tools) Due to legal issues in many places it is recommended to not use these or similar software. If the software is to be used by you check your local laws first. + +## Tracking + +Many e-book readers include a feature to keep track of read books. +However they do not track the time that was needed to finish them or the number of e-books read in +a specific timeframe. +This can be done by using a special tracker like [Jelu](/wiki/jelu.md) which can be used to keep +track of e-books and normal books at the same time which is a feature no e-book reader has. diff --git a/wiki/fido2.md b/wiki/fido2.md new file mode 100644 index 0000000..1a6e31b --- /dev/null +++ b/wiki/fido2.md @@ -0,0 +1,17 @@ +# FIDO2 + +[FIDO2](https://fidoalliance.org/fido2/) is an initiative to enforce multi-factor-authentication. + +## Setup + +For FIDO2 to work usually the package `libfido2` can be installed which will include the basic +setups. + +## Usage + +This section addresses various features of FIDO2. + +### Use FIDO2 on Linux with DM-Crypt + +The usage of a FIDO2-Stick combined with [DM-Crypt](/wiki/linux/dm-crypt.md) is described in the +[corresponding section of the DM-Crypt entry](/wiki/linux/dm-crypt.md#use-fido2-to-unlock-a-volume). diff --git a/wiki/jelu.md b/wiki/jelu.md new file mode 100644 index 0000000..b8d526e --- /dev/null +++ b/wiki/jelu.md @@ -0,0 +1,11 @@ +# Jelu + +[Jelu](https://github.com/bayang/jelu) is a tracking software for books and +[e-books](/wiki/e-books.md). +It includes locally stored subscription management. + +## Setup + +The software can be setup via [Docker](/wiki/docker.md) with the +[wabayang image](/wiki/docker/wabayang_-_jelu.md). + diff --git a/wiki/linux/arch-linux.md b/wiki/linux/arch-linux.md index d639376..144f8d3 100644 --- a/wiki/linux/arch-linux.md +++ b/wiki/linux/arch-linux.md @@ -122,3 +122,13 @@ For this type in user name and password some moments after the perceived freeze would do if the login screen came up. If the graphical interface still does not work, the command to start the graphical interface (like `startx` for [X11](/wiki/linux/x_window_system.md) systems) can also work. + +### `/usr/lib/firmware/nvidia/ad104` exists in filesystem linux-firmware-nvidia + +This error comes from a decision to split the firmware modules into different parts. +An easy way to fix it is by simply reinstalling the `linux-firmware` package and updating the +packages of the system. + +```sh +pacman -Syu linux-firmware +``` diff --git a/wiki/linux/dm-crypt.md b/wiki/linux/dm-crypt.md index 993f570..a2c8558 100644 --- a/wiki/linux/dm-crypt.md +++ b/wiki/linux/dm-crypt.md @@ -174,3 +174,39 @@ Additionally the following lines has to be adapted and added to the file of the volume. `` describes the location where to find the key file created in the previous step (for example `/root/key.bin`). + +### Use FIDO2 to Unlock a Volume + +To use a FIDO2-Stick on [Linux-based systems](/wiki/linux.md) with +[DM-Crypt](/wiki/linux/dm-crypt.md) first set up the FIDO2 stick and add it to the encrypted +volume. + +```sh +ll /dev/hidraw0 +fido2-token -S /dev/hidraw0 +sudo systemd-cryptenroll --fido2-device=auto /dev/nvme0n1p1 +sudo cryptsetup open --token-only /dev/nvme1n1p2 test +``` + +Next the hooks in the file `/etc/mkinitcpio.conf` need to be changed. +It is recommended to set up [Plymouth]() so that the login screen is clean. +Switch `udev` and other `HOOKS` to `systemd`. + +Next remove the UDEV-rules for usb-decryption in `FILES`. +For this switch `udev keymap consolefont encrypt` to `systemd sd-vconsole sd-encrypt`. + +Then the file `/boot/loader/entries/arch.conf` and `/boot/loader/entries/arch-fallback.conf` needs +to be changed. +For this the following example is given. +Notice that `cryptdevice=UUID=` is switched to `rd.luks.name=` aswell as various options. + +```txt +options cryptdevice=UUID=3c306b1b-49a5-48c1-b93f-a619b96d6855:lvm:allow-discards root=/dev/mapper/main-root resume=/dev/mapper/main-swap rw quiet splash cryptdevice=/dev/usbkey:14848:2048 +``` + +```txt +options rd.luks.name=3c306b1b-49a5-48c1-b93f-a619b96d6855=lvm rd.luks.options=discard,fido2-device=auto root=/dev/mapper/main-root resume=/dev/mapper/main-swap rw quiet splash +``` + +Finally rebuild the initramfs `sudo mkinitcpio -p linux` and `reboot`. +Make sure to touch FIDO2-key during boot to make it work. diff --git a/wiki/linux/tlp.md b/wiki/linux/tlp.md index 63fa637..6ae880b 100644 --- a/wiki/linux/tlp.md +++ b/wiki/linux/tlp.md @@ -6,6 +6,8 @@ ## Setup TLP can be installed on most distributions by installing the `tlp` package. +Additionally the installation of `tlp-rdw` is recommended, which is used to get better control over +radio devices. Afterwards the TLP [service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be started and enabled.