docs: add all untracked content
This commit is contained in:
parent
dedc5967fe
commit
04d91d822d
11
Linux.md
Normal file
11
Linux.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
title: Linux
|
||||||
|
description: Gather information with information and commands usefull when dealing with Linux computers
|
||||||
|
published: true
|
||||||
|
date: 2025-01-06T11:29:30.651Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-01-06T11:29:20.203Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Linux
|
||||||
22
Linux/Hardware.md
Normal file
22
Linux/Hardware.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
title: Hardware
|
||||||
|
description: Diagnostic of hardware problems
|
||||||
|
published: true
|
||||||
|
date: 2025-01-06T11:54:01.078Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-01-06T11:31:14.429Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Hardware
|
||||||
|
Diagnostics of hardware problems in Linux
|
||||||
|
|
||||||
|
## Battery
|
||||||
|
Check the batteries health
|
||||||
|
```
|
||||||
|
sudo upower -i $(upower -e | grep BAT)
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo tlp-stat -b
|
||||||
|
```
|
||||||
12
home.md
Normal file
12
home.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
title: Home
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2024-11-30T20:18:36.398Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2024-11-30T20:18:35.143Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Home
|
||||||
|
Content related to home at Skånegatan 83
|
||||||
56
home/home-assistant.md
Normal file
56
home/home-assistant.md
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
title: Home Assistant
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2025-02-16T22:24:33.688Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-01-21T18:45:04.906Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Home Assistant
|
||||||
|
The home assistant instance is running on a raspberry pi 3B.
|
||||||
|
Link : http://homeassistant.local:8123/
|
||||||
|
|
||||||
|
## YAML configuration
|
||||||
|
The configuration.yaml file:
|
||||||
|
```
|
||||||
|
|
||||||
|
# Loads default set of integrations. Do not remove.
|
||||||
|
default_config:
|
||||||
|
|
||||||
|
# Load frontend themes from the themes folder
|
||||||
|
frontend:
|
||||||
|
themes: !include_dir_merge_named themes
|
||||||
|
|
||||||
|
automation: !include automations.yaml
|
||||||
|
script: !include scripts.yaml
|
||||||
|
scene: !include scenes.yaml
|
||||||
|
|
||||||
|
# Mopidy addon for hass.io
|
||||||
|
media_player:
|
||||||
|
- platform: mpd
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 6600
|
||||||
|
|
||||||
|
mqtt:
|
||||||
|
sensor:
|
||||||
|
- name: "Temperature Sensor"
|
||||||
|
state_topic: "home/sensor/temperature"
|
||||||
|
unit_of_measurement: "°C"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Temperatue and Humidity sensor
|
||||||
|
An SHT30 temperature and humidity sensor is connected on the I2C buss on the raspberry.
|
||||||
|
|
||||||
|
Bought from elektrokit [link](https://www.electrokit.com/temperatursensor-sht30)
|
||||||
|
|
||||||
|
### Wiring configuration on raspberry:
|
||||||
|
|
||||||
|
| | |
|
||||||
|
| -------- | ------- |
|
||||||
|
| 3.3V (red) | X |
|
||||||
|
| SDA (purple) | X |
|
||||||
|
| SCL (green) | X |
|
||||||
|
| x | X |
|
||||||
|
| GND (black) | X |
|
||||||
39
home/server.md
Normal file
39
home/server.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
title: Home Server
|
||||||
|
description: Home Server
|
||||||
|
published: true
|
||||||
|
date: 2025-04-22T21:39:20.087Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2024-11-30T20:22:14.163Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Home Server
|
||||||
|
Description of the home server
|
||||||
|
The home server is a X86_64 computer running arch linux KDE.
|
||||||
|
The server is accessable on IP 192.168.1.101 on the local home network.
|
||||||
|
The server is accessable thorugh SSH.
|
||||||
|
|
||||||
|
## Duck DNS
|
||||||
|
The server can be accessed from the outside using the wireguard VPN. It can be access through the domain lukarin.duckdns.org.
|
||||||
|
|
||||||
|
The setup is to automatically update the ip can be found [here](https://www.duckdns.org/install.jsp?tab=linux-cron&domain=lukarin).
|
||||||
|
|
||||||
|
## Hosted Software
|
||||||
|
The following software is hosted on the home server computer.
|
||||||
|
|
||||||
|
- [Jellyfin](http://192.168.1.101:8096)
|
||||||
|
- [Wiki.js](http://192.168.1.101:3000)
|
||||||
|
- [Calibre](http://192.168.1.101:8180)
|
||||||
|
- [Nextcloud](http://192.168.1.101)
|
||||||
|
- [OnlyOffice Document Server](http://192.168.1.101:5045)
|
||||||
|
- [qBittorrent](http://192.168.1.101:3001)
|
||||||
|
- [Immich](http://192.168.1.101:2283)
|
||||||
|
- [Gitea](http://192.168.1.101:3020)
|
||||||
|
- Wire Guard
|
||||||
|
- Logitech Media Server
|
||||||
|
- Postgres
|
||||||
|
|
||||||
|
## Network remote control
|
||||||
|
|
||||||
|
rustdesk can be used do remote control computers over the home netwotk.
|
||||||
46
home/server/Calibre.md
Normal file
46
home/server/Calibre.md
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
title: Calibre
|
||||||
|
description: Calibre server setup
|
||||||
|
published: true
|
||||||
|
date: 2024-12-22T11:03:46.862Z
|
||||||
|
tags: calibre
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2024-12-22T10:55:43.183Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Calibre
|
||||||
|
|
||||||
|
[Calibre](https://calibre-ebook.com/) is a ebook managment system.
|
||||||
|
The Calibre library needed for the calibre instance is located in the external ssd
|
||||||
|
* /Calibre
|
||||||
|
The ebook files are located at
|
||||||
|
* /eBooks
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Installed through pacman
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo pacman -S calibre
|
||||||
|
```
|
||||||
|
|
||||||
|
Created the calibre library and add the eBooks folder to it
|
||||||
|
```
|
||||||
|
calibredb add --with-library /home/lukas/Drive/Calibre -r /home/lukas/Drive/eBooks
|
||||||
|
```
|
||||||
|
|
||||||
|
### systemd configuration
|
||||||
|
The systemd config file for the instance
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Calibre Server
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/calibre-server --port=8180 --enable-local-write /home/lukas/Drive/Calibre
|
||||||
|
Restart=on-failure
|
||||||
|
WorkingDirectory=/home/lukas/Drive/Calibre
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
50
home/server/Gitea.md
Normal file
50
home/server/Gitea.md
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
---
|
||||||
|
title: Gitea
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2025-04-22T21:43:08.227Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-04-22T21:40:36.802Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Gitea
|
||||||
|
Your content here
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
The setup is done with docker.
|
||||||
|
docker-compose.yml:
|
||||||
|
|
||||||
|
```
|
||||||
|
version: "2"
|
||||||
|
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: docker.gitea.com/gitea:1.23.7-rootless
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
volumes:
|
||||||
|
- /home/lukas/Drive/gitea/gitea-data:/var/lib/gitea
|
||||||
|
- /home/lukas/Drive/gitea-data/gitea-config:/etc/gitea
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "3020:3000"
|
||||||
|
- "2222:2222"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Start with:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Kill with
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo docker-compose down
|
||||||
|
```
|
||||||
56
home/server/Immich.md
Normal file
56
home/server/Immich.md
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
title: Immich
|
||||||
|
description: Immich open source photo manager
|
||||||
|
published: true
|
||||||
|
date: 2025-03-11T19:50:43.585Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-03-09T12:36:13.098Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Immich
|
||||||
|
[Immich](https://immich.app) is an opeb source photo management tool which is like google photos.
|
||||||
|
|
||||||
|
## Login
|
||||||
|
|
||||||
|
- **email** : lukas96.forsberg@gmail.com
|
||||||
|
- **password** : Cuernavaca0521
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
Install instructions taken from [here](https://immich.app/docs/install/docker-compose) using docker.
|
||||||
|
|
||||||
|
Fetch the docker compose file and the default .env file. The .env file can be edited for user preference.
|
||||||
|
```cmd
|
||||||
|
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||||
|
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
|
||||||
|
```
|
||||||
|
|
||||||
|
### Edits
|
||||||
|
|
||||||
|
Changed the path for the postgres server in docker-compose.yaml
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
volumes:
|
||||||
|
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data:delegated
|
||||||
|
```
|
||||||
|
|
||||||
|
and
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
volumes:
|
||||||
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload:delegated
|
||||||
|
```
|
||||||
|
|
||||||
|
Changed postgre db location due to it needs to be placed in a linux file system not exFAT, in .env
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
DB_DATA_LOCATION=/home/lukas/docker_volumes/immich/postgres
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run
|
||||||
|
|
||||||
|
Start the docker instance with
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
sudo docker compose up -d
|
||||||
|
```
|
||||||
36
home/server/OnlyOffice.md
Normal file
36
home/server/OnlyOffice.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
title: OnlyOffice
|
||||||
|
description: OnlyOffice document server used by Nextcloud
|
||||||
|
published: true
|
||||||
|
date: 2025-01-05T13:01:54.958Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-01-05T12:23:52.142Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# OnlyOffice Document Server
|
||||||
|
The OnlyOffice Document server is used by Nextcloud to enable the web UI to edit office documents
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
Install with docker
|
||||||
|
```
|
||||||
|
sudo docker pull onlyoffice/documentserver
|
||||||
|
```
|
||||||
|
|
||||||
|
Nextcloud is already using port 80, hence the default port for the connection has to be changed.
|
||||||
|
Changed to 5045
|
||||||
|
```
|
||||||
|
sudo docker run -i -t -d -p 5045:80 --restart=always onlyoffice/documentserver
|
||||||
|
```
|
||||||
|
|
||||||
|
The OnlyOffice instance generates a secreate key which needs to be used to connect to it with Nextcloud. It can be obtained with:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo docker exec d1ec7ca97ae2 /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
|
||||||
|
```
|
||||||
|
|
||||||
|
The key for this server is:
|
||||||
|
```
|
||||||
|
O8usLs2KQSEl9f0Cmj2HraMYn5G8Eju5
|
||||||
|
```
|
||||||
191
home/server/Wiki.md
Normal file
191
home/server/Wiki.md
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
---
|
||||||
|
title: Wiki.js
|
||||||
|
description: Wiki software information
|
||||||
|
published: true
|
||||||
|
date: 2024-12-22T11:22:34.479Z
|
||||||
|
tags: wiki.js
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2024-12-22T11:13:32.896Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Wiki.js
|
||||||
|
The wiki.js is setup with postgre SQL to enable better searching functionality then what SQLite could handle.
|
||||||
|
|
||||||
|
All the data and markdown files are stored in the database.
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```
|
||||||
|
yay -S wiki-js
|
||||||
|
```
|
||||||
|
|
||||||
|
### config.yml
|
||||||
|
This is the configuration file for wiki.js
|
||||||
|
|
||||||
|
```
|
||||||
|
#######################################################################
|
||||||
|
# Wiki.js - CONFIGURATION #
|
||||||
|
#######################################################################
|
||||||
|
# Full documentation + examples:
|
||||||
|
# https://docs.requarks.io/install
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Port the server should listen to
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
port: 3000
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Database
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Supported Database Engines:
|
||||||
|
# - postgres = PostgreSQL 9.5 or later
|
||||||
|
# - mysql = MySQL 8.0 or later (5.7.8 partially supported, refer to docs)
|
||||||
|
# - mariadb = MariaDB 10.2.7 or later
|
||||||
|
# - mssql = MS SQL Server 2012 or later
|
||||||
|
# - sqlite = SQLite 3.9 or later
|
||||||
|
|
||||||
|
db:
|
||||||
|
type: postgres
|
||||||
|
|
||||||
|
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
user: postgres
|
||||||
|
pass: Cuernavaca0521
|
||||||
|
db: wiki
|
||||||
|
ssl: false
|
||||||
|
|
||||||
|
# Optional - PostgreSQL / MySQL / MariaDB only:
|
||||||
|
# -> Uncomment lines you need below and set `auto` to false
|
||||||
|
# -> Full list of accepted options: https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options
|
||||||
|
sslOptions:
|
||||||
|
auto: true
|
||||||
|
# rejectUnauthorized: false
|
||||||
|
# ca: path/to/ca.crt
|
||||||
|
# cert: path/to/cert.crt
|
||||||
|
# key: path/to/key.pem
|
||||||
|
# pfx: path/to/cert.pfx
|
||||||
|
# passphrase: xyz123
|
||||||
|
|
||||||
|
# Optional - PostgreSQL only:
|
||||||
|
schema: public
|
||||||
|
|
||||||
|
# SQLite only:
|
||||||
|
storage: /home/lukas/Drive/wiki-js/database.sqlite
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# ADVANCED OPTIONS #
|
||||||
|
#######################################################################
|
||||||
|
# Do not change unless you know what you are doing!
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# SSL/TLS Settings
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Consider using a reverse proxy (e.g. nginx) if you require more
|
||||||
|
# advanced options than those provided below.
|
||||||
|
|
||||||
|
ssl:
|
||||||
|
enabled: false
|
||||||
|
port: 3443
|
||||||
|
|
||||||
|
# Provider to use, possible values: custom, letsencrypt
|
||||||
|
provider: custom
|
||||||
|
|
||||||
|
# ++++++ For custom only ++++++
|
||||||
|
# Certificate format, either 'pem' or 'pfx':
|
||||||
|
format: pem
|
||||||
|
# Using PEM format:
|
||||||
|
key: path/to/key.pem
|
||||||
|
cert: path/to/cert.pem
|
||||||
|
# Using PFX format:
|
||||||
|
pfx: path/to/cert.pfx
|
||||||
|
# Passphrase when using encrypted PEM / PFX keys (default: null):
|
||||||
|
passphrase: null
|
||||||
|
# Diffie Hellman parameters, with key length being greater or equal
|
||||||
|
# to 1024 bits (default: null):
|
||||||
|
dhparam: null
|
||||||
|
|
||||||
|
# ++++++ For letsencrypt only ++++++
|
||||||
|
domain: wiki.yourdomain.com
|
||||||
|
subscriberEmail: admin@example.com
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Database Pool Options
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Refer to https://github.com/vincit/tarn.js for all possible options
|
||||||
|
|
||||||
|
pool:
|
||||||
|
# min: 2
|
||||||
|
# max: 10
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# IP address the server should listen to
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Leave 0.0.0.0 for all interfaces
|
||||||
|
|
||||||
|
bindIP: 0.0.0.0
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Log Level
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Possible values: error, warn, info (default), verbose, debug, silly
|
||||||
|
|
||||||
|
logLevel: info
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Log Format
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Output format for logging, possible values: default, json
|
||||||
|
|
||||||
|
logFormat: default
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Offline Mode
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# If your server cannot access the internet. Set to true and manually
|
||||||
|
# download the offline files for sideloading.
|
||||||
|
|
||||||
|
offline: false
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# High-Availability
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Set to true if you have multiple concurrent instances running off the
|
||||||
|
# same DB (e.g. Kubernetes pods / load balanced instances). Leave false
|
||||||
|
# otherwise. You MUST be using PostgreSQL to use this feature.
|
||||||
|
|
||||||
|
ha: false
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Data Path
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Writeable data path used for cache and temporary user uploads.
|
||||||
|
dataPath: ./data
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Body Parser Limit
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Maximum size of API requests body that can be parsed. Does not affect
|
||||||
|
# file uploads.
|
||||||
|
|
||||||
|
bodyParserLimit: 5mb
|
||||||
|
```
|
||||||
|
|
||||||
|
### systemd
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Wiki.js
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/node server
|
||||||
|
Restart=always
|
||||||
|
# Consider creating a dedicated user for Wiki.js here:
|
||||||
|
User=root
|
||||||
|
Environment=NODE_ENV=production
|
||||||
|
WorkingDirectory=/usr/lib/wiki-js/
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
43
home/server/jellyfin.md
Normal file
43
home/server/jellyfin.md
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
---
|
||||||
|
title: Jellyfin
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2024-12-22T11:07:43.409Z
|
||||||
|
tags: server, jellyfin
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2024-11-30T20:26:03.534Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Jellyfin
|
||||||
|
The Jellyfin is a media server located here and is accessible on the home local network. Jellyfin is used to stream videos and audio on the network.
|
||||||
|
- Port : 8096
|
||||||
|
|
||||||
|
|
||||||
|
All the contents for the server is installed on the external SSD drive in the following folders:
|
||||||
|
- Jellyfin - contains metadata for the server▸
|
||||||
|
- Shows - contains video series▸
|
||||||
|
- Movies - contains movies▸
|
||||||
|
- Music - contains music files '▸
|
||||||
|
- Podcast - contains podcast files
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Jellyfin consist of both the server and the web interface. Both can be installed with pacman by:
|
||||||
|
```
|
||||||
|
sudo pacman -S jellyfin
|
||||||
|
```
|
||||||
|
|
||||||
|
### systemd
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Jellyfin Media Server
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=lukas
|
||||||
|
ExecStart=/usr/bin/jellyfin --webdir /usr/share/jellyfin/web/
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
83
home/server/nextcloud.md
Normal file
83
home/server/nextcloud.md
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
---
|
||||||
|
title: NextCloud
|
||||||
|
description: NextCloud server used to host files
|
||||||
|
published: true
|
||||||
|
date: 2025-01-05T19:22:17.539Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-01-05T16:06:32.021Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Nextcloud
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
Nextcloud is installed with snap
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo snap install nextcloud
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Cofig file
|
||||||
|
The config file located at /var/snap/nextcloud/current/nextcloud/config/config.php:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
<?php
|
||||||
|
$CONFIG = array (
|
||||||
|
'apps_paths' =>
|
||||||
|
array (
|
||||||
|
0 =>
|
||||||
|
array (
|
||||||
|
'path' => '/snap/nextcloud/current/htdocs/apps',
|
||||||
|
'url' => '/apps',
|
||||||
|
'writable' => false,
|
||||||
|
),
|
||||||
|
1 =>
|
||||||
|
array (
|
||||||
|
'path' => '/var/snap/nextcloud/current/nextcloud/extra-apps',
|
||||||
|
'url' => '/extra-apps',
|
||||||
|
'writable' => true,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'supportedDatabases' =>
|
||||||
|
array (
|
||||||
|
0 => 'mysql',
|
||||||
|
),
|
||||||
|
'memcache.locking' => '\\OC\\Memcache\\Redis',
|
||||||
|
'memcache.local' => '\\OC\\Memcache\\Redis',
|
||||||
|
'redis' =>
|
||||||
|
array (
|
||||||
|
'host' => '/tmp/sockets/redis.sock',
|
||||||
|
'port' => 0,
|
||||||
|
),
|
||||||
|
'log_type' => 'file',
|
||||||
|
'logfile' => '/var/snap/nextcloud/current/logs/nextcloud.log',
|
||||||
|
'logfilemode' => 416,
|
||||||
|
'maintenance_window_start' => 1,
|
||||||
|
'passwordsalt' => 'AMyY0x+9PQcz2QEMzHjzmPpYyY+VSd',
|
||||||
|
'secret' => 'pCtYmMwwN0jP6j+JLhTsrvo/Zsli3iaN6bZz8Frew3fiZf9D',
|
||||||
|
'trusted_domains' =>
|
||||||
|
array (
|
||||||
|
0 => 'localhost',
|
||||||
|
1 => '192.168.1.101',
|
||||||
|
),
|
||||||
|
'datadirectory' => '/home/lukas/Drive/Nextcloud/data',
|
||||||
|
'dbtype' => 'mysql',
|
||||||
|
'version' => '30.0.4.1',
|
||||||
|
'overwrite.cli.url' => 'http://localhost',
|
||||||
|
'dbname' => 'nextcloud',
|
||||||
|
'dbhost' => 'localhost:/tmp/sockets/mysql.sock',
|
||||||
|
'dbport' => '',
|
||||||
|
'dbtableprefix' => 'oc_',
|
||||||
|
'mysql.utf8mb4' => true,
|
||||||
|
'dbuser' => 'nextcloud',
|
||||||
|
'dbpassword' => 'V7H30OQPG6VlM0e13A00qiTzm0dlfA38KgVZYY11sHC4NLRHdHZqIMxmiZYXlXny',
|
||||||
|
'installed' => true,
|
||||||
|
'instanceid' => 'ocwd62kwirag',
|
||||||
|
'maintenance' => false,
|
||||||
|
'loglevel' => 2,
|
||||||
|
'check_data_directory_permissions' => false,
|
||||||
|
);
|
||||||
|
|
||||||
|
```
|
||||||
29
home/server/qBittorrent.md
Normal file
29
home/server/qBittorrent.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
title: qBittorrent
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2025-02-09T20:53:10.081Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-02-09T20:48:09.514Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# qBittorrent
|
||||||
|
Web interface to the qBittorrent instance installed on the server
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
Installed with
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo pacman -S qbittorrent-nox
|
||||||
|
```
|
||||||
|
|
||||||
|
The systemd service enabled with
|
||||||
|
```
|
||||||
|
systemctl enable qbittorrent-nox@lukas.service
|
||||||
|
```
|
||||||
|
|
||||||
|
To login to the user interface the password has to read out from the process stdout
|
||||||
|
```
|
||||||
|
sudo journalctl -u qbittorrent-nox@lukas.service
|
||||||
|
```
|
||||||
38
home/server/rustdesk.md
Normal file
38
home/server/rustdesk.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
title: Rustdesk
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2025-04-13T11:15:58.375Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-04-13T10:47:36.132Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Rustdesk
|
||||||
|
[Rustdesk](https://rustdesk.com/) is a tool to remote control computers with its desktop enviroment over a network.
|
||||||
|
|
||||||
|
## Installtion
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
yay -S rustdesk-bin
|
||||||
|
```
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
Only peer to peer configuration is setup at the moment. The remote computer that should be controlled needs to:
|
||||||
|
|
||||||
|
- enable IP access
|
||||||
|
- allow the following port connections
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
sudo ufw allow 21112:21113/tcp
|
||||||
|
sudo ufw allow 21115:21118/tcp
|
||||||
|
sudo ufw allow 21116/udp
|
||||||
|
sudo ufw reload
|
||||||
|
```
|
||||||
|
|
||||||
|
- Setup systemd service to start rustdesk headless on startup at
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
sudo systemctl enable rustdesk
|
||||||
|
```
|
||||||
125
home/server/wireguard.md
Normal file
125
home/server/wireguard.md
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
---
|
||||||
|
title: Wire Guard
|
||||||
|
description: Configuration for Wire Guard VPN to safely connect to the local network from the internet
|
||||||
|
published: true
|
||||||
|
date: 2025-01-05T00:15:00.505Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-01-02T21:40:36.626Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Wine Guard
|
||||||
|
|
||||||
|
## Server Public Key
|
||||||
|
dcirpeTw5+nAJMsuqmtqIa92N4NFozMiPaIXoj/PbwM=
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
### Installtion
|
||||||
|
```
|
||||||
|
sudo pacman -S wireguard-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Inside /etc/wineguard/ generate the private and public keys for the server
|
||||||
|
|
||||||
|
```
|
||||||
|
umask 077; wg genkey | tee privatekey | wg pubkey > publickey
|
||||||
|
```
|
||||||
|
|
||||||
|
### Setup Client
|
||||||
|
Each client should be allocated a new IP address in the format 10.0.0.X.
|
||||||
|
The peers public key is also needed to be added to the config file one the server.
|
||||||
|
Create a config file, on linux /etc/wireguard/wg0.conf with the following structure:
|
||||||
|
```
|
||||||
|
[Interface]
|
||||||
|
PrivateKey = <client-private-key>
|
||||||
|
Address = 10.0.0.X/24
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
PublicKey = dcirpeTw5+nAJMsuqmtqIa92N4NFozMiPaIXoj/PbwM=
|
||||||
|
Endpoint = <server-public-ip>:41194
|
||||||
|
AllowedIPs = 0.0.0.0/0
|
||||||
|
```
|
||||||
|
|
||||||
|
Start the wireguard client with
|
||||||
|
```
|
||||||
|
sudo wg-quick up wg0
|
||||||
|
```
|
||||||
|
|
||||||
|
Terminate the wireguard client with
|
||||||
|
```
|
||||||
|
sudo wg-quick down wg0
|
||||||
|
```
|
||||||
|
|
||||||
|
On linux the wireguard client can be set up with this useful alias in the user .bashrc file
|
||||||
|
```
|
||||||
|
alias vpn='sudo wg-quick up wg0 && sudo ip route add 192.168.1.101 via 10.0.0.1 dev wg0'
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Setup Server
|
||||||
|
|
||||||
|
1. Create a file configuration file /etc/wireguard/wg0.conf with the following contents.
|
||||||
|
The config file needs to be updated with a new peer when a new client needs to be configured.
|
||||||
|
|
||||||
|
```
|
||||||
|
[Interface]
|
||||||
|
## IP address for VPN ##
|
||||||
|
Address = 10.0.0.1/24
|
||||||
|
|
||||||
|
## VPN server port ##
|
||||||
|
ListenPort = 41194
|
||||||
|
|
||||||
|
## VPN server's private key i.e. /etc/wireguard/privatekey ##
|
||||||
|
PrivateKey = <PRIVATE KEY>
|
||||||
|
|
||||||
|
# Firewall settings
|
||||||
|
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s31f6 -j MASQUERADE
|
||||||
|
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s31f6 -j MASQUERADE
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Public key for Lukas Laptop
|
||||||
|
PublicKey = ONNwgEwchCb1c2vrBOjIfYP4HuMjpC7AyJkRkEfr8lU=
|
||||||
|
AllowedIPs = 10.0.0.2/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Public key for Lukas Mobile
|
||||||
|
PublicKey = MEZN0+oKD3cv1uOgpvO4fHarUQKKCAGSx4o/podONh4=
|
||||||
|
AllowedIPs = 10.0.0.3/32
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Enable port forwarding for IPv4 and IPv6 by edit the /etc/sysctl.d/10-wireguard.conf file
|
||||||
|
```
|
||||||
|
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.d/10-wireguard.conf
|
||||||
|
echo 'net.ipv6.conf.all.forwarding=1' | sudo tee -a /etc/sysctl.d/10-wireguard.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
3. And then reload the changes
|
||||||
|
```
|
||||||
|
sysctl -p /etc/sysctl.d/10-wireguard.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Enable and start as systemd service
|
||||||
|
```
|
||||||
|
sudo systemctl enable wg-quick@wg0
|
||||||
|
sudo systemctl start wg-quick@wg0
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Adding a new peer
|
||||||
|
To add a new peer the config file needs to be uptades with the peers public key.
|
||||||
|
The the wireguard server needs to be restarted.
|
||||||
|
```
|
||||||
|
sudo wg-quick down wg0
|
||||||
|
sudo wg-quick up wg0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Setup Router
|
||||||
|
The router was set up with the following port forwarding settings
|
||||||
|
|
||||||
|
**Service Name:** WireGuard
|
||||||
|
**WAN Interface:** default
|
||||||
|
**Server IP Address:** 192.168.1.101
|
||||||
|
**Protocol:** UDP (WireGuard uses UDP).
|
||||||
|
**External Port Start/End:** 41194
|
||||||
|
**Internal Port Start/End:** 41194
|
||||||
Loading…
x
Reference in New Issue
Block a user