Style: Global Markdown structural and formatting &&audit & fix
All checks were successful
deploy-docs / build-and-deploy (push) Successful in 20s
All checks were successful
deploy-docs / build-and-deploy (push) Successful in 20s
This commit is contained in:
@@ -15,9 +15,10 @@ Your Wiki architecture is decoupled. This repository contains the text, but the
|
|||||||
|
|
||||||
## 🚀 Deployment
|
## 🚀 Deployment
|
||||||
|
|
||||||
Pushing changes to the `main` branch automatically triggers the Gitea Action.
|
Pushing changes to the `main` branch automatically triggers the Gitea Action.
|
||||||
|
|
||||||
The Runner:
|
The Runner:
|
||||||
|
|
||||||
1. Checks out this repository.
|
1. Checks out this repository.
|
||||||
2. Clones the `hugo-framework`.
|
2. Clones the `hugo-framework`.
|
||||||
3. Injects your Markdown and the `menus.en.toml`.
|
3. Injects your Markdown and the `menus.en.toml`.
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
description: This is just the beginning...
|
description: This is just the beginning...
|
||||||
title: HOME
|
title: HOME
|
||||||
date: 2023-06-14T09:37:13.298Z
|
date: 2023-06-14T09:37:13.298Z
|
||||||
lastmod: 2025-03-24
|
lastmod: 2025-03-24
|
||||||
tags:
|
tags:
|
||||||
author: wompmacho
|
author: wompmacho
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
---
|
---
|
||||||
date: 2025-02-02
|
date: 2025-02-02
|
||||||
lastmod: 2026-01-06
|
lastmod: 2026-01-06
|
||||||
author: "wompmacho"
|
author: "wompmacho"
|
||||||
authors: ["wompmacho"]
|
authors: ["wompmacho"]
|
||||||
title: First Post
|
title: First Post
|
||||||
---
|
---
|
||||||
|
|
||||||
Yo 👋
|
Yo 👋
|
||||||
|
|
||||||
If you actually come to find this then props to ya man. Thanks for dropping by. idk if this will be worth ever doing, but this was fun for me to set up... and who knows maybe this is of some use to others... so fuck it --> Enjoy.
|
If you actually come to find this then props to ya man. Thanks for dropping by. idk if this will be worth ever doing, but this was fun for me to set up... and who knows maybe this is of some use to others... so fuck it --> Enjoy.
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ showHero: false # needed to hide "hero banner"
|
|||||||
|
|
||||||
## Liberal is bad.
|
## Liberal is bad.
|
||||||
|
|
||||||
Wait, wasn't this group touting to be "liberal" once? Tell me more about why Liberal is bad. You know what… that person looks funny and bothers me and calls themself a liberal so I don’t wanna be in that catagory anymore. No wait, actually lets just demonize a group because fox news says so. NO WAIT, let's not use words correctly because words, logic, facts... These things don't matter.
|
Wait, wasn't this group touting to be "liberal" once? Tell me more about why Liberal is bad. You know what… that person looks funny and bothers me and calls themself a liberal so I don’t wanna be in that catagory anymore. No wait, actually lets just demonize a group because fox news says so. NO WAIT, let's not use words correctly because words, logic, facts... These things don't matter.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ sudo install -m 0755 -d /etc/apt/keyrings
|
|||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
|
||||||
# Add the repository to Apt sources:
|
## Add the repository to Apt sources:
|
||||||
echo \
|
echo \
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
||||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||||
@@ -77,7 +77,7 @@ sudo docker run hello-world
|
|||||||
## Docker Files
|
## Docker Files
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> [dockerfile](https://docs.docker.com/reference/dockerfile/)
|
> [dockerfile](https://docs.docker.com/reference/dockerfile/)
|
||||||
>
|
>
|
||||||
> Example rebuild for mkdocs with some mods
|
> Example rebuild for mkdocs with some mods
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,292 +1,292 @@
|
|||||||
---
|
---
|
||||||
title: NAS
|
title: NAS
|
||||||
description: NAS
|
description: NAS
|
||||||
date: 2024-05-04
|
date: 2024-05-04
|
||||||
lastmod: 2024-05-11
|
lastmod: 2024-05-11
|
||||||
author: wompmacho
|
author: wompmacho
|
||||||
summary: "NAS build and some tips and tricks to get things working with your docker containers"
|
summary: "NAS build and some tips and tricks to get things working with your docker containers"
|
||||||
showTableOfContents: true
|
showTableOfContents: true
|
||||||
showHero: false # needed to hide "hero banner"
|
showHero: false # needed to hide "hero banner"
|
||||||
---
|
---
|
||||||
|
|
||||||
## What is a NAS?
|
## What is a NAS?
|
||||||
|
|
||||||
A Network Attached Storage (NAS) device is essentially a small, self-contained
|
A Network Attached Storage (NAS) device is essentially a small, self-contained
|
||||||
computer that's designed solely for storing and sharing files. Think of it as
|
computer that's designed solely for storing and sharing files. Think of it as
|
||||||
your own personal cloud storage, but instead of relying on a third-party
|
your own personal cloud storage, but instead of relying on a third-party
|
||||||
service, you own and control the hardware.
|
service, you own and control the hardware.
|
||||||
|
|
||||||
Here's why someone might use a NAS:
|
Here's why someone might use a NAS:
|
||||||
|
|
||||||
- **Centralized Storage:** A NAS provides a single location to store all your
|
- **Centralized Storage:** A NAS provides a single location to store all your
|
||||||
files - documents, photos, videos, music, etc. This makes it easy to access
|
files - documents, photos, videos, music, etc. This makes it easy to access
|
||||||
your data from any device on your network.
|
your data from any device on your network.
|
||||||
- **File Sharing:** NAS devices make it simple to share files between multiple
|
- **File Sharing:** NAS devices make it simple to share files between multiple
|
||||||
users and devices. This is great for families who want to share photos and
|
users and devices. This is great for families who want to share photos and
|
||||||
videos, or for small businesses who need to collaborate on documents.
|
videos, or for small businesses who need to collaborate on documents.
|
||||||
- **Backup and Redundancy:** Many NAS devices offer features like automatic
|
- **Backup and Redundancy:** Many NAS devices offer features like automatic
|
||||||
backups and RAID configurations, which help protect your data from hard drive
|
backups and RAID configurations, which help protect your data from hard drive
|
||||||
failures.
|
failures.
|
||||||
- **Media Streaming:** NAS devices can be used to stream media files (movies,
|
- **Media Streaming:** NAS devices can be used to stream media files (movies,
|
||||||
music) to devices throughout your home, like smart TVs, game consoles, and
|
music) to devices throughout your home, like smart TVs, game consoles, and
|
||||||
mobile devices.
|
mobile devices.
|
||||||
- **Remote Access:** Some NAS devices allow you to access your files remotely
|
- **Remote Access:** Some NAS devices allow you to access your files remotely
|
||||||
over the internet, so you can retrieve important documents or share photos
|
over the internet, so you can retrieve important documents or share photos
|
||||||
even when you're away from home.
|
even when you're away from home.
|
||||||
|
|
||||||
Essentially, a NAS is a versatile and convenient way to manage and share your
|
Essentially, a NAS is a versatile and convenient way to manage and share your
|
||||||
digital data. It offers more control and privacy than cloud storage services,
|
digital data. It offers more control and privacy than cloud storage services,
|
||||||
and it can be a valuable tool for both individuals and businesses.
|
and it can be a valuable tool for both individuals and businesses.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## TrueNAS
|
## TrueNAS
|
||||||
|
|
||||||
TrueNAS is an Open Source NAS operating System / infrastructure solution. In
|
TrueNAS is an Open Source NAS operating System / infrastructure solution. In
|
||||||
addition to powerful scale-out storage capabilities, TrueNAS SCALE adds Linux
|
addition to powerful scale-out storage capabilities, TrueNAS SCALE adds Linux
|
||||||
Containers and VMs (KVM) so your organization can run workloads closer to data.
|
Containers and VMs (KVM) so your organization can run workloads closer to data.
|
||||||
|
|
||||||
### Why I switched
|
### Why I switched
|
||||||
|
|
||||||
Recently I switched over to TrueNas from my off the shelf
|
Recently I switched over to TrueNas from my off the shelf
|
||||||
[Terramaster](https://shop.terra-master.com/products/terramaster-f5-422-10gbe-nas-5-bay-network-storage-server-intel-quad-core-cpu-with-hardware-encryption-diskless)
|
[Terramaster](https://shop.terra-master.com/products/terramaster-f5-422-10gbe-nas-5-bay-network-storage-server-intel-quad-core-cpu-with-hardware-encryption-diskless)
|
||||||
device. I actually really liked the Terramaster, it allowed a 5 drive pool with
|
device. I actually really liked the Terramaster, it allowed a 5 drive pool with
|
||||||
raid 1 on a BTRFS filesystem. Which meant it was easy to upgrade the drives from
|
raid 1 on a BTRFS filesystem. Which meant it was easy to upgrade the drives from
|
||||||
2TB --> 6TB giving me a decent ~24TB size pool *(one drive as parity)*. I got
|
2TB --> 6TB giving me a decent ~24TB size pool *(one drive as parity)*. I got
|
||||||
this originally so that I could safely back up my data and store my 10TB+ of VOD
|
this originally so that I could safely back up my data and store my 10TB+ of VOD
|
||||||
recordings from the Live Stream & Youtube. The Terramaster had some pretty big
|
recordings from the Live Stream & Youtube. The Terramaster had some pretty big
|
||||||
drawbacks. It was only really good for being a simple NAS share.
|
drawbacks. It was only really good for being a simple NAS share.
|
||||||
|
|
||||||
The proprietary operating System is actual hot garbage.
|
The proprietary operating System is actual hot garbage.
|
||||||
|
|
||||||
- the GUI is extremely slow and freezes up a lot
|
- the GUI is extremely slow and freezes up a lot
|
||||||
- the built in docker containers and other special features rarely work
|
- the built in docker containers and other special features rarely work
|
||||||
- the Recycle bin is hot garbage and runs even when you turn it off (discovered
|
- the Recycle bin is hot garbage and runs even when you turn it off (discovered
|
||||||
nothing had **EVER** been deleted)
|
nothing had **EVER** been deleted)
|
||||||
- the underlying linux OS somehow struggles to do basic things like deleting
|
- the underlying linux OS somehow struggles to do basic things like deleting
|
||||||
files
|
files
|
||||||
- networking sometimes just broke, ignored static IPs and would ignore DNS due
|
- networking sometimes just broke, ignored static IPs and would ignore DNS due
|
||||||
to not properly turning off ipv6
|
to not properly turning off ipv6
|
||||||
- there is little to no documentation or support outside of Terramaster official
|
- there is little to no documentation or support outside of Terramaster official
|
||||||
forums, which is also hot garbage.
|
forums, which is also hot garbage.
|
||||||
|
|
||||||
Couple years later my data has continued to grow, including my
|
Couple years later my data has continued to grow, including my
|
||||||
[jellyfin](../homelab/containers/jellyfin.md) media and other hoarding, so I
|
[jellyfin](../homelab/containers/jellyfin.md) media and other hoarding, so I
|
||||||
needed some space. This gave me a nice opertunity to upgrade. I have an older,
|
needed some space. This gave me a nice opertunity to upgrade. I have an older,
|
||||||
but still nice PC sitting around as a spare, so this was a good chance to
|
but still nice PC sitting around as a spare, so this was a good chance to
|
||||||
upgrade my NAS with some nice compute as well.
|
upgrade my NAS with some nice compute as well.
|
||||||
|
|
||||||
### Why TrueNAS
|
### Why TrueNAS
|
||||||
|
|
||||||
I went with TrueNAS SCALE because it used the newer [ZFS2
|
I went with TrueNAS SCALE because it used the newer [ZFS2
|
||||||
filesystem](https://github.com/openzfs/zfs/releases) which allows for expansion
|
filesystem](https://github.com/openzfs/zfs/releases) which allows for expansion
|
||||||
of pools. This would allow me to buy some extra drives, move over my data and
|
of pools. This would allow me to buy some extra drives, move over my data and
|
||||||
then expand using the old drive pool. SCALE also moved over to docker
|
then expand using the old drive pool. SCALE also moved over to docker
|
||||||
containerization. Side benefit of allowing me to host some extra containers if I
|
containerization. Side benefit of allowing me to host some extra containers if I
|
||||||
want. Its also free and there is a lot of support / documentation out there. It
|
want. Its also free and there is a lot of support / documentation out there. It
|
||||||
has come a long way from the FreeBSD days.
|
has come a long way from the FreeBSD days.
|
||||||
|
|
||||||
### Refurbished Drives
|
### Refurbished Drives
|
||||||
|
|
||||||
I had some issues when getting sourcing drives. Things are still pretty
|
I had some issues when getting sourcing drives. Things are still pretty
|
||||||
expensive atm, so I went with just getting more 6TB and expanding the pool. *Can
|
expensive atm, so I went with just getting more 6TB and expanding the pool. *Can
|
||||||
upgrade size later when the prices chill out*. Managed to find a good price on
|
upgrade size later when the prices chill out*. Managed to find a good price on
|
||||||
refurbished 6TB drives from amazon. **However**; when they arrived I found that
|
refurbished 6TB drives from amazon. **However**; when they arrived I found that
|
||||||
they were all heavily used 4 years+ uptime, reused from some Datacenter
|
they were all heavily used 4 years+ uptime, reused from some Datacenter
|
||||||
somewhere. **Fucking scummy Amazon seller**. To top it off, some were SAS drives
|
somewhere. **Fucking scummy Amazon seller**. To top it off, some were SAS drives
|
||||||
out of NETAPP appliances.
|
out of NETAPP appliances.
|
||||||
|
|
||||||
> [!ERROR] **Fuck you Netapp**
|
> [!ERROR] **Fuck you Netapp**
|
||||||
>
|
>
|
||||||
> Netapp is an older *shit* brand that would lock down their drives with special
|
> Netapp is an older *shit* brand that would lock down their drives with special
|
||||||
> formatting that forced the customer to use only drives sourced from Netapp.
|
> formatting that forced the customer to use only drives sourced from Netapp.
|
||||||
> These old Netapp appliances are starting to flood the market as newer /
|
> These old Netapp appliances are starting to flood the market as newer /
|
||||||
> cheaper to run hardware is being deployed.
|
> cheaper to run hardware is being deployed.
|
||||||
|
|
||||||
> [!SUCCESS]
|
> [!SUCCESS]
|
||||||
> Luckily, smart people can reformat the drives from their shit Data Integrity
|
> Luckily, smart people can reformat the drives from their shit Data Integrity
|
||||||
> Feature (DIF) format back to a normal. This is a long and time consuming process
|
> Feature (DIF) format back to a normal. This is a long and time consuming process
|
||||||
> *(Took DAYS)* as the entire drive has to be reformatted with a normal 512 chunk
|
> *(Took DAYS)* as the entire drive has to be reformatted with a normal 512 chunk
|
||||||
> size.
|
> size.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Thank you [smart guy from reddit](https://reddit.com/r/truenas/comments/12w68uc/how_to_get_rid_of_data_integrity_feature_from/) that pointed me to the [smart guy on TrueNAS forum](https://www.truenas.com/community/threads/troubleshooting-disk-format-warnings-in-truenas-scale.106051/) that showed me how to fix these un-usable drives.
|
> Thank you [smart guy from reddit](https://reddit.com/r/truenas/comments/12w68uc/how_to_get_rid_of_data_integrity_feature_from/) that pointed me to the [smart guy on TrueNAS forum](https://www.truenas.com/community/threads/troubleshooting-disk-format-warnings-in-truenas-scale.106051/) that showed me how to fix these un-usable drives.
|
||||||
>
|
>
|
||||||
> TrueNAS has `sg_format` built in. With this you can reformat all the drives at the **same time**.
|
> TrueNAS has `sg_format` built in. With this you can reformat all the drives at the **same time**.
|
||||||
>
|
>
|
||||||
> ``` shell
|
> ``` shell
|
||||||
> # formatting
|
> # formatting
|
||||||
> sg_format --format --size=512 /dev/sdb
|
> sg_format --format --size=512 /dev/sdb
|
||||||
>
|
>
|
||||||
> # progress
|
> # progress
|
||||||
> sudo sg_turs --progress /dev/sdb
|
> sudo sg_turs --progress /dev/sdb
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
> [!warning]
|
> [!warning]
|
||||||
> This still took multiple days with a 6TB drive :(
|
> This still took multiple days with a 6TB drive :(
|
||||||
|
|
||||||
### Safely copying files
|
### Safely copying files
|
||||||
|
|
||||||
One problem I ran into was; how do I make sure everything is copied over safely from one pool to another? I could drag and drop folders, but that would have taken months and risked missing data. Best bet was to use `rsync` *(which is also the fastest way to transfer)*. `rsync` has the added benefit of using checksum checking to verify all data is safely transferred with no errors. Luckily both systems were on linux, which made this easier.
|
One problem I ran into was; how do I make sure everything is copied over safely from one pool to another? I could drag and drop folders, but that would have taken months and risked missing data. Best bet was to use `rsync` *(which is also the fastest way to transfer)*. `rsync` has the added benefit of using checksum checking to verify all data is safely transferred with no errors. Luckily both systems were on linux, which made this easier.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> I started by doing this after logging into my old Terramaster NAS and performing the `rsync` operation from there. This was a bad idea and too longer, because the OS is slow and CPU can not handle handling all this plus 10GB networking at once. If you do this, do this from a system with a decent CPU.
|
> I started by doing this after logging into my old Terramaster NAS and performing the `rsync` operation from there. This was a bad idea and too longer, because the OS is slow and CPU can not handle handling all this plus 10GB networking at once. If you do this, do this from a system with a decent CPU.
|
||||||
|
|
||||||
- Mount your systems together via the device with the best CPU
|
- Mount your systems together via the device with the best CPU
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
#mount in fstab
|
#mount in fstab
|
||||||
# <file system> <dir> <type> <options> <dump> <pass>
|
# <file system> <dir> <type> <options> <dump> <pass>
|
||||||
nas:/mnt/md0/VODS /mnt/tnas/vods nfs defaults 0 0
|
nas:/mnt/md0/VODS /mnt/tnas/vods nfs defaults 0 0
|
||||||
```
|
```
|
||||||
|
|
||||||
- Run `rsync` in the shell and move your folders using recursive options
|
- Run `rsync` in the shell and move your folders using recursive options
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
# Coping folders recursively with Progress & Stats
|
## Coping folders recursively with Progress & Stats
|
||||||
sudo rsync -avh -A --no-perms --progress --stats /mnt/tnas/store/Backups/ /mnt/store/vault/Backups/ &
|
sudo rsync -avh -A --no-perms --progress --stats /mnt/tnas/store/Backups/ /mnt/store/vault/Backups/ &
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> `rsync` keeps logs and will run faster the next time around. Recommend running it a few times to add a extra verification that all your files have transferred.
|
> `rsync` keeps logs and will run faster the next time around. Recommend running it a few times to add a extra verification that all your files have transferred.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> You can use `--progress --stats` and the `&` operator to send the job to the background. This will alow you to bring the job to the foreground whenever you want to check on progress. This is super useful when transferring terabytes of data.
|
> You can use `--progress --stats` and the `&` operator to send the job to the background. This will alow you to bring the job to the foreground whenever you want to check on progress. This is super useful when transferring terabytes of data.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> If doing this from TrueNAS, might be better to set this up as a one time cronjob. TrueNAS might kill this job if you lose connection to the shell while transferring.
|
> If doing this from TrueNAS, might be better to set this up as a one time cronjob. TrueNAS might kill this job if you lose connection to the shell while transferring.
|
||||||
> - add the job using the user interface *(do not enable the job)*
|
> - add the job using the user interface *(do not enable the job)*
|
||||||
>
|
>
|
||||||
> 
|
> 
|
||||||
>
|
>
|
||||||
> - run the job when you are ready to move files
|
> - run the job when you are ready to move files
|
||||||
>
|
>
|
||||||
> 
|
> 
|
||||||
|
|
||||||
### How to connect to a NAS
|
### How to connect to a NAS
|
||||||
|
|
||||||
#### CIFS
|
#### CIFS
|
||||||
|
|
||||||
Common Internet File System (CIFS) is a network file sharing protocol that
|
Common Internet File System (CIFS) is a network file sharing protocol that
|
||||||
allows applications on computers to read and write files and request other
|
allows applications on computers to read and write files and request other
|
||||||
services from remote servers. Think of it as a way for your computer to talk to
|
services from remote servers. Think of it as a way for your computer to talk to
|
||||||
another computer (or storage device) to access files. It's most commonly
|
another computer (or storage device) to access files. It's most commonly
|
||||||
associated with Windows environments, but it's used by other operating systems
|
associated with Windows environments, but it's used by other operating systems
|
||||||
as well. It is relatively secure, requiring username / password login to remote
|
as well. It is relatively secure, requiring username / password login to remote
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> You might need this if you want to connect a Windows machine to one
|
> You might need this if you want to connect a Windows machine to one
|
||||||
running linux like a common NAS *(my use case)*.
|
running linux like a common NAS *(my use case)*.
|
||||||
|
|
||||||
One example of a use case is a jellyfin container that needs persistent data
|
One example of a use case is a jellyfin container that needs persistent data
|
||||||
access for media (movies / tv shows) served from your nas. This will need this
|
access for media (movies / tv shows) served from your nas. This will need this
|
||||||
to be mounted to the OS docker is running on and pass this through with the
|
to be mounted to the OS docker is running on and pass this through with the
|
||||||
volumes option in your docker compose file.
|
volumes option in your docker compose file.
|
||||||
|
|
||||||
**To add CIFS to Linux**
|
**To add CIFS to Linux**
|
||||||
|
|
||||||
For this you will also need the `keyutils` & `cifs-utils` packages. The `keyutils`
|
For this you will also need the `keyutils` & `cifs-utils` packages. The `keyutils`
|
||||||
package is a library and a set of utilities for accessing the kernel keyring
|
package is a library and a set of utilities for accessing the kernel keyring
|
||||||
facility. `cifs-utils` package provides a means for mounting SMB/CIFS shares on a
|
facility. `cifs-utils` package provides a means for mounting SMB/CIFS shares on a
|
||||||
Linux system.
|
Linux system.
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
apt-get install keyutils && apt install cifs-utils -y
|
apt-get install keyutils && apt install cifs-utils -y
|
||||||
```
|
```
|
||||||
|
|
||||||
Then we will need to mount the remote storage via fstab so that it will
|
Then we will need to mount the remote storage via fstab so that it will
|
||||||
automatically mount to the OS every time the os boots.
|
automatically mount to the OS every time the os boots.
|
||||||
|
|
||||||
- create a file in your home directory "~/.smb"
|
- create a file in your home directory "~/.smb"
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
vim ~/.smb
|
vim ~/.smb
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!INFO]
|
> [!INFO]
|
||||||
> The file should contain your NAS credentials *(domain optional/depends
|
> The file should contain your NAS credentials *(domain optional/depends
|
||||||
on your nas settings)*
|
on your nas settings)*
|
||||||
>
|
>
|
||||||
> ``` bash
|
> ``` bash
|
||||||
> username=NAS_USERNAME
|
> username=NAS_USERNAME
|
||||||
> password=NAS_PASSWORD
|
> password=NAS_PASSWORD
|
||||||
> domain=NAS_DOMAIN_GROUP
|
> domain=NAS_DOMAIN_GROUP
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
- Create an entry in the fstab
|
- Create an entry in the fstab
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
vim /etc/fstab
|
vim /etc/fstab
|
||||||
```
|
```
|
||||||
|
|
||||||
- Add an entry to the bottom line of the file
|
- Add an entry to the bottom line of the file
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
# //{Nas_IP/Hostname}/{Nas_Mount_Point} /mnt/{mount_name_on_docker_os} cifs credentials=/[path_to_credentials].smb,x-systemd.automount 0 0
|
## //{Nas_IP/Hostname}/{Nas_Mount_Point} /mnt/{mount_name_on_docker_os} cifs credentials=/[path_to_credentials].smb,x-systemd.automount 0 0
|
||||||
|
|
||||||
# Example:
|
## Example:
|
||||||
//nas.home/store /mnt/store cifs credentials=/home/wompmacho/.smb,x-systemd.automount 0 0
|
//nas.home/store /mnt/store cifs credentials=/home/wompmacho/.smb,x-systemd.automount 0 0
|
||||||
```
|
```
|
||||||
|
|
||||||
- Save your file and re-mount all
|
- Save your file and re-mount all
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
mount -a
|
mount -a
|
||||||
```
|
```
|
||||||
|
|
||||||
- make sure your mount section of your docker compose matches the
|
- make sure your mount section of your docker compose matches the
|
||||||
`mount_name_on_docker_os` and reboot your system
|
`mount_name_on_docker_os` and reboot your system
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
# example:
|
## example:
|
||||||
volumes:
|
volumes:
|
||||||
- /app/jellyfin/config:/config
|
- /app/jellyfin/config:/config
|
||||||
- /mnt/store:/data/store
|
- /mnt/store:/data/store
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!SUCCESS]
|
> [!SUCCESS]
|
||||||
>
|
>
|
||||||
> You can check that they are mounted by navigating to where you mounted the files
|
> You can check that they are mounted by navigating to where you mounted the files
|
||||||
>
|
>
|
||||||
> ``` bash
|
> ``` bash
|
||||||
> wompmacho@docker:~$ cd /mnt/store/MediaServer/
|
> wompmacho@docker:~$ cd /mnt/store/MediaServer/
|
||||||
> Movies/ Music/ Torrent/ Tv Shows/
|
> Movies/ Music/ Torrent/ Tv Shows/
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
#### NFS
|
#### NFS
|
||||||
|
|
||||||
NFS (Network File System) is a distributed file system protocol that allows users to access files and directories over a network as if they were located on their local computer. It's a way for your computer to talk to another computer (or storage device) to access files, similar to CIFS, but more commonly used in Unix/Linux environments.
|
NFS (Network File System) is a distributed file system protocol that allows users to access files and directories over a network as if they were located on their local computer. It's a way for your computer to talk to another computer (or storage device) to access files, similar to CIFS, but more commonly used in Unix/Linux environments.
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> There is `NO SECURITY` on NFS. It uses existing ACL groups to manage permissions. Only use this on a local network and for trusted devices.
|
> There is `NO SECURITY` on NFS. It uses existing ACL groups to manage permissions. Only use this on a local network and for trusted devices.
|
||||||
|
|
||||||
> [!SUCCESS]
|
> [!SUCCESS]
|
||||||
> On TrueNAS you can limit access to on IP address or limit within your local domain.
|
> On TrueNAS you can limit access to on IP address or limit within your local domain.
|
||||||
>
|
>
|
||||||
> 
|
> 
|
||||||
|
|
||||||
> [!Info]
|
> [!Info]
|
||||||
> One thing to consider when working with TrueNas:
|
> One thing to consider when working with TrueNas:
|
||||||
> - When creating the initial dataset in your pool, set the zfs **aclmode** on the dataset in question to `passthrough`.
|
> - When creating the initial dataset in your pool, set the zfs **aclmode** on the dataset in question to `passthrough`.
|
||||||
> - Special thanks to `anodos` you solved am issue plaguing me --> [Truenas Forum](https://www.truenas.com/community/threads/cannot-chmod-nfs-operation-not-permitted.97247/)
|
> - Special thanks to `anodos` you solved am issue plaguing me --> [Truenas Forum](https://www.truenas.com/community/threads/cannot-chmod-nfs-operation-not-permitted.97247/)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### SMB
|
#### SMB
|
||||||
|
|
||||||
Server Message Block (SMB) is a network communication protocol that allows computers to share files, printers, and other resources with each other. It's the foundation of file sharing in **Windows** environments, but it's also used by other operating systems like macOS and Linux.
|
Server Message Block (SMB) is a network communication protocol that allows computers to share files, printers, and other resources with each other. It's the foundation of file sharing in **Windows** environments, but it's also used by other operating systems like macOS and Linux.
|
||||||
|
|
||||||
**To connect to a SMB share on Windows:**
|
**To connect to a SMB share on Windows:**
|
||||||
|
|
||||||
- Right Click to add a `Network Location`
|
- Right Click to add a `Network Location`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- Use the IP address or hostname of the NAS and the share path provided to your folder access
|
- Use the IP address or hostname of the NAS and the share path provided to your folder access
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> For windows you will need to enter a username / password for access to the share
|
> For windows you will need to enter a username / password for access to the share
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ whether it's a local network or the vast expanse of the internet.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## IPv4 & IPv6
|
## IPv4 & IPv6
|
||||||
|
|
||||||
IPv4 and IPv6 are two versions of the Internet Protocol (IP), which is the
|
IPv4 and IPv6 are two versions of the Internet Protocol (IP), which is the
|
||||||
fundamental protocol that enables devices to communicate over the internet.
|
fundamental protocol that enables devices to communicate over the internet.
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ own. It can also operate as a internal dns router and dhcp server.
|
|||||||
## Pihole Setup
|
## Pihole Setup
|
||||||
|
|
||||||
If you have a raspberry-pi or another device, its super easy to get things
|
If you have a raspberry-pi or another device, its super easy to get things
|
||||||
going.
|
going.
|
||||||
|
|
||||||
- [pihole setup](https://github.com/pi-hole/pi-hole/?tab=readme-ov-file#one-step-automated-install).
|
- [pihole setup](https://github.com/pi-hole/pi-hole/?tab=readme-ov-file#one-step-automated-install).
|
||||||
|
|
||||||
@@ -29,16 +29,15 @@ need to do is set your devices to use your pihole as the **primary** dns server.
|
|||||||
curl -sSL https://install.pi-hole.net | bash
|
curl -sSL https://install.pi-hole.net | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> I find this to be a little flaky when it comes to DNS, often times OS will need reboots and cache to be cleared in order to actively start using pihole DNS.
|
> I find this to be a little flaky when it comes to DNS, often times OS will need reboots and cache to be cleared in order to actively start using pihole DNS.
|
||||||
>
|
>
|
||||||
> Browsers also store dns info so many things can conflict before your DNS
|
> Browsers also store dns info so many things can conflict before your DNS
|
||||||
switches over. I find that using Pihole as primary DHCP server forces your
|
switches over. I find that using Pihole as primary DHCP server forces your
|
||||||
devices to use the correct DNS server and fixes a lot of problems.
|
devices to use the correct DNS server and fixes a lot of problems.
|
||||||
>
|
>
|
||||||
> Also keep in mind that **ipv6** can interfere if you are like me and have a ISP
|
> Also keep in mind that **ipv6** can interfere if you are like me and have a ISP
|
||||||
provider that tries to force their DNS
|
provider that tries to force their DNS
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -57,11 +56,11 @@ set proxmox to use dhcp rather than static ip and finally set pihole VM to
|
|||||||
automatically boot first so that when it connects to the gateway devices
|
automatically boot first so that when it connects to the gateway devices
|
||||||
connected to the gateway are issued ip address from the pihole.
|
connected to the gateway are issued ip address from the pihole.
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> If you are using pihole for DHCP / DNS, keep in mind if the device goes down
|
> If you are using pihole for DHCP / DNS, keep in mind if the device goes down
|
||||||
that is hosting your pihole server, so will your DNS / DHCP. This May prevent
|
that is hosting your pihole server, so will your DNS / DHCP. This May prevent
|
||||||
you from connecting to your network until you re-enable a dhcp server such as
|
you from connecting to your network until you re-enable a dhcp server such as
|
||||||
the one in your router.
|
the one in your router.
|
||||||
|
|
||||||
- reserve a ip address in router/gateway for proxmox server & pihole
|
- reserve a ip address in router/gateway for proxmox server & pihole
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use the default port 80 for web. reverse proxy is designed for normal web
|
|||||||
traffic, not game servers.
|
traffic, not game servers.
|
||||||
|
|
||||||
If you are annoying like me and wanna put things on a single server and save
|
If you are annoying like me and wanna put things on a single server and save
|
||||||
money... here is what you can do.
|
money... here is what you can do.
|
||||||
|
|
||||||
- [Creating SSL
|
- [Creating SSL
|
||||||
Certificates](https://pterodactyl.io/tutorials/creating_ssl_certificates.html#method-2:-acme.sh-(using-cloudflare-api))
|
Certificates](https://pterodactyl.io/tutorials/creating_ssl_certificates.html#method-2:-acme.sh-(using-cloudflare-api))
|
||||||
@@ -38,7 +38,6 @@ money... here is what you can do.
|
|||||||
# OpenSSL Self-Signed Certificate Command:
|
# OpenSSL Self-Signed Certificate Command:
|
||||||
openssl req -sha256 -addext "subjectAltName = DNS:games.local" -newkey rsa:4096 -nodes -keyout privkeyselfsigned.pem -x509 -days 3650 -out fullchainselfsigned.pem
|
openssl req -sha256 -addext "subjectAltName = DNS:games.local" -newkey rsa:4096 -nodes -keyout privkeyselfsigned.pem -x509 -days 3650 -out fullchainselfsigned.pem
|
||||||
|
|
||||||
|
|
||||||
# nginx-proxy-manager with cloudflare ssl cert setup
|
# nginx-proxy-manager with cloudflare ssl cert setup
|
||||||
# proxy side should be http
|
# proxy side should be http
|
||||||
# do not force ssl on cert side
|
# do not force ssl on cert side
|
||||||
|
|||||||
@@ -33,12 +33,12 @@ services:
|
|||||||
# The path to the left of the colon is the path on your computer,
|
# The path to the left of the colon is the path on your computer,
|
||||||
# and the path to the right of the colon is where the data is
|
# and the path to the right of the colon is where the data is
|
||||||
# available to ABS in Docker.
|
# available to ABS in Docker.
|
||||||
|
|
||||||
# You can change these media directories or add as many as you want
|
# You can change these media directories or add as many as you want
|
||||||
- /mnt/store/MediaServer/Audio_Books:/audiobooks
|
- /mnt/store/MediaServer/Audio_Books:/audiobooks
|
||||||
- /mnt/store/MediaServer/podcasts:/podcasts
|
- /mnt/store/MediaServer/podcasts:/podcasts
|
||||||
- /mnt/store/app/audiobookshelf/metadata:/metadata
|
- /mnt/store/app/audiobookshelf/metadata:/metadata
|
||||||
|
|
||||||
# The config directory needs to be on the same physical machine
|
# The config directory needs to be on the same physical machine
|
||||||
# you are running ABS on
|
# you are running ABS on
|
||||||
- /app/audiobookshelf/config:/config
|
- /app/audiobookshelf/config:/config
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ showHero: false # needed to hide "hero banner"
|
|||||||
|
|
||||||
## What is Frigate?
|
## What is Frigate?
|
||||||
|
|
||||||
`Frigate` is a complete and local NVR designed for Home Assistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.
|
`Frigate` is a complete and local NVR designed for Home Assistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# frigate - https://docs.frigate.video/frigate/installation/
|
# frigate - https://docs.frigate.video/frigate/installation/
|
||||||
@@ -41,9 +41,9 @@ services:
|
|||||||
|
|
||||||
requires to set a `config.yml` in the `/config` volume.
|
requires to set a `config.yml` in the `/config` volume.
|
||||||
|
|
||||||
## My current config
|
## My current config
|
||||||
|
|
||||||
Am not currently running the optimized setup for this, but testing things out.
|
Am not currently running the optimized setup for this, but testing things out.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
mqtt:
|
mqtt:
|
||||||
@@ -82,7 +82,7 @@ detectors:
|
|||||||
type: cpu
|
type: cpu
|
||||||
num_threads: 3
|
num_threads: 3
|
||||||
|
|
||||||
# Include all cameras by default in Birdseye view
|
## Include all cameras by default in Birdseye view
|
||||||
birdseye:
|
birdseye:
|
||||||
enabled: True
|
enabled: True
|
||||||
mode: continuous
|
mode: continuous
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ showHero: false # needed to hide "hero banner"
|
|||||||
|
|
||||||
## Docker Compose Example
|
## Docker Compose Example
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> For docker support, extend a volume to the docker.sock
|
> For docker support, extend a volume to the docker.sock
|
||||||
> - `/var/run/docker.sock:/var/run/docker.sock`
|
> - `/var/run/docker.sock:/var/run/docker.sock`
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ Unlike other dashboards that require complex databases or heavy backend services
|
|||||||
|
|
||||||
``` yaml
|
``` yaml
|
||||||
# homepage - docker compose
|
# homepage - docker compose
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
homepage:
|
homepage:
|
||||||
container_name: homepage
|
container_name: homepage
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ online accounts and lets you serve up your movies, tv shows and music. Is very
|
|||||||
similar to apps like Plex and Emby. You can manage your media and auto download
|
similar to apps like Plex and Emby. You can manage your media and auto download
|
||||||
things like episode names, artwork etc. Has plugin support and is basically
|
things like episode names, artwork etc. Has plugin support and is basically
|
||||||
trying to be a better open source version of Plex. It has apps/support for
|
trying to be a better open source version of Plex. It has apps/support for
|
||||||
android, google tvs, firestick, iphone etc.
|
android, google tvs, firestick, iphone etc.
|
||||||
|
|
||||||
## Docker Compose Example
|
## Docker Compose Example
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Recomend storing the metadata & cache on NAS and not on the OS docker host.
|
> Recomend storing the metadata & cache on NAS and not on the OS docker host.
|
||||||
The files start to get LARGE for jellyfin due to mass amount of metadata stored
|
The files start to get LARGE for jellyfin due to mass amount of metadata stored
|
||||||
for media. Set this under the jellyfin `general` settings after jellyfin is
|
for media. Set this under the jellyfin `general` settings after jellyfin is
|
||||||
@@ -49,4 +49,4 @@ running. {.is-warning}
|
|||||||
Once you server is running, head over to the to your opened port (docker_container_ip:8096) to start the setup proccess. When adding libraries -
|
Once you server is running, head over to the to your opened port (docker_container_ip:8096) to start the setup proccess. When adding libraries -
|
||||||
select the content type, set the display name and then click the FOLDERS +
|
select the content type, set the display name and then click the FOLDERS +
|
||||||
option. This is where you will select the path to your media that you set up in
|
option. This is where you will select the path to your media that you set up in
|
||||||
the volumes.
|
the volumes.
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ showHero: false # needed to hide "hero banner"
|
|||||||
|
|
||||||
`Linkstacks` is a nice little linktr.ee clone that allows you to set up a simple
|
`Linkstacks` is a nice little linktr.ee clone that allows you to set up a simple
|
||||||
link page. It can also be expanded to add multiple users and you can host
|
link page. It can also be expanded to add multiple users and you can host
|
||||||
multiple people's pages with their own user accounts and everything.
|
multiple people's pages with their own user accounts and everything.
|
||||||
|
|
||||||
## Docker Compose Example
|
## Docker Compose Example
|
||||||
|
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ MkDocs is a fast, simple, and extensible static site generator geared specifical
|
|||||||
## Docker Compose Example
|
## Docker Compose Example
|
||||||
|
|
||||||
Running mkdocs with [material](https://squidfunk.github.io/mkdocs-material/)
|
Running mkdocs with [material](https://squidfunk.github.io/mkdocs-material/)
|
||||||
theme and plugins built in.
|
theme and plugins built in.
|
||||||
|
|
||||||
> [!INFO]
|
> [!INFO]
|
||||||
> There is some setup of folders and things that are not automatic so
|
> There is some setup of folders and things that are not automatic so
|
||||||
wont work straight out of the box.
|
wont work straight out of the box.
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ services:
|
|||||||
#- /mnt/store/app/mkdocs/:/docs
|
#- /mnt/store/app/mkdocs/:/docs
|
||||||
- docs_nfs:/docs
|
- docs_nfs:/docs
|
||||||
stdin_open: true
|
stdin_open: true
|
||||||
tty: true
|
tty: true
|
||||||
ports:
|
ports:
|
||||||
- "9896:8000"
|
- "9896:8000"
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ all traffic to nginx. Then based on some rules I have set up I can point that
|
|||||||
traffic to my internal server. For this I will need a domain name server (DNS)
|
traffic to my internal server. For this I will need a domain name server (DNS)
|
||||||
to point to my external IP.
|
to point to my external IP.
|
||||||
|
|
||||||
### DNS
|
## DNS
|
||||||
|
|
||||||
A domain name server (DNS) allows me to make a name that can be easily looked up
|
A domain name server (DNS) allows me to make a name that can be easily looked up
|
||||||
and point traffic to an Internet Protocol (IP) address that a server can easily
|
and point traffic to an Internet Protocol (IP) address that a server can easily
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ edit and deploy docker-compose files via the "stacks" page.
|
|||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
root@server:~# docker ps
|
root@server:~# docker ps
|
||||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||||
de5b28eb2fa9 portainer/portainer-ce:latest "/portainer" 2 weeks ago Up 9 days 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp portainer
|
de5b28eb2fa9 portainer/portainer-ce:latest "/portainer" 2 weeks ago Up 9 days 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp portainer
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ showHero: false # needed to hide "hero banner"
|
|||||||
container. I use QBittorrent because I can set it up with a VPN that only
|
container. I use QBittorrent because I can set it up with a VPN that only
|
||||||
connects via the container directly. Effectively separating it from the rest of
|
connects via the container directly. Effectively separating it from the rest of
|
||||||
my network and allowing me to continue as normal while it is downloading. It
|
my network and allowing me to continue as normal while it is downloading. It
|
||||||
will automatically stop the network if the VPN is not functioning correctly.
|
will automatically stop the network if the VPN is not functioning correctly.
|
||||||
|
|
||||||
## Docker Compose Example
|
## Docker Compose Example
|
||||||
|
|
||||||
``` yaml
|
``` yaml
|
||||||
# qbittorrentvpn - docker compose
|
# qbittorrentvpn - docker compose
|
||||||
# https://hub.docker.com/r/dyonr/qbittorrentvpn
|
## https://hub.docker.com/r/dyonr/qbittorrentvpn
|
||||||
---
|
---
|
||||||
version: "2"
|
version: "2"
|
||||||
services :
|
services :
|
||||||
@@ -37,10 +37,10 @@ services :
|
|||||||
ports :
|
ports :
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
- 8999:8999
|
- 8999:8999
|
||||||
- 8999:8999/udp
|
- 8999:8999/udp
|
||||||
volumes :
|
volumes :
|
||||||
- /app/QBittorrent/config:/config
|
- /app/QBittorrent/config:/config
|
||||||
- /mnt/store/MediaServer/torrent:/downloads
|
- /mnt/store/MediaServer/torrent:/downloads
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
To set up the VPN you will need to have an existing account with a VPN service.
|
To set up the VPN you will need to have an existing account with a VPN service.
|
||||||
@@ -49,13 +49,14 @@ In my case I use Surfshark and have to go log into my account, navigate to the
|
|||||||
linux setup page and grab my generated Username key and Password key there.
|
linux setup page and grab my generated Username key and Password key there.
|
||||||
|
|
||||||
A credentials file on my docker host was generated by QBittorrent when running
|
A credentials file on my docker host was generated by QBittorrent when running
|
||||||
the first time.
|
the first time.
|
||||||
|
|
||||||
```
|
```
|
||||||
# download all availble server conf
|
## download all availble server conf
|
||||||
sudo wget https://my.surfshark.com/vpn/api/v1/server/configurations
|
sudo wget https://my.surfshark.com/vpn/api/v1/server/configurations
|
||||||
|
|
||||||
# cp the server you want to use into config folder
|
## cp the server you want to use into config folder
|
||||||
/app/QBittorrent/config/openvpn
|
/app/QBittorrent/config/openvpn
|
||||||
```
|
```
|
||||||
|
|
||||||
Once you restart your qbittorrentvpn docker container you can test your vpn
|
Once you restart your qbittorrentvpn docker container you can test your vpn
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ showHero: false # needed to hide "hero banner"
|
|||||||
`uptime-kuma` is a neat little web monitoring application. Lotta dope things right
|
`uptime-kuma` is a neat little web monitoring application. Lotta dope things right
|
||||||
out of the box, very gui / user friendly. Pretty much just add the stack, update
|
out of the box, very gui / user friendly. Pretty much just add the stack, update
|
||||||
the dir for config - and it works. Integrates with discord webhooks, great easy
|
the dir for config - and it works. Integrates with discord webhooks, great easy
|
||||||
status page and dashboard.
|
status page and dashboard.
|
||||||
|
|
||||||
## Docker Compose Example
|
## Docker Compose Example
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# uptime-kuma - docker compose
|
# uptime-kuma - docker compose
|
||||||
---
|
---
|
||||||
# https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install
|
## https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install
|
||||||
version: '3.3'
|
version: '3.3'
|
||||||
services:
|
services:
|
||||||
uptime-kuma:
|
uptime-kuma:
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ Wiki.js is a powerful, modern, and open-source wiki application built on Node.js
|
|||||||
|
|
||||||
I like it because of the useful Markdown editor that lets you nicely organize
|
I like it because of the useful Markdown editor that lets you nicely organize
|
||||||
links, code etc. I can also backup the database to my NAS in nice MD files, so
|
links, code etc. I can also backup the database to my NAS in nice MD files, so
|
||||||
nothing gets lost if something is corrupted.
|
nothing gets lost if something is corrupted.
|
||||||
|
|
||||||
## Docker Compose Example
|
## Docker Compose Example
|
||||||
|
|
||||||
``` yaml
|
``` yaml
|
||||||
# wikijs - docker compose
|
# wikijs - docker compose
|
||||||
# https://github.com/linuxserver/docker-wikijs
|
## https://github.com/linuxserver/docker-wikijs
|
||||||
---
|
---
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ tags:
|
|||||||
<tr>
|
<tr>
|
||||||
<td colspan="3" class="header header-google-blue">Work Experience Continued</td>
|
<td colspan="3" class="header header-google-blue">Work Experience Continued</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr class="section-header">
|
<tr class="section-header">
|
||||||
<td colspan="2" class="role">Operations Engineer - <span class="twitter-blue">Twitter</span> Inc.</td>
|
<td colspan="2" class="role">Operations Engineer - <span class="twitter-blue">Twitter</span> Inc.</td>
|
||||||
<td class="dates">Apr 2015 - Sep 2017</td>
|
<td class="dates">Apr 2015 - Sep 2017</td>
|
||||||
@@ -127,7 +127,7 @@ tags:
|
|||||||
<td colspan="2" class="">Pennridge High School</td>
|
<td colspan="2" class="">Pennridge High School</td>
|
||||||
<td class="dates">2004 - 2009</td>
|
<td class="dates">2004 - 2009</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr class="section-header">
|
<tr class="section-header">
|
||||||
<td colspan="2" class="">Georgia State University - Computer Science</td>
|
<td colspan="2" class="">Georgia State University - Computer Science</td>
|
||||||
<td class="dates">2012 - 2017</td>
|
<td class="dates">2012 - 2017</td>
|
||||||
@@ -138,7 +138,7 @@ tags:
|
|||||||
<td colspan="2" class="header header-google-yellow">Skills</td>
|
<td colspan="2" class="header header-google-yellow">Skills</td>
|
||||||
<td colspan="1" class="header header-google-green">Certificates</td>
|
<td colspan="1" class="header header-google-green">Certificates</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ lastmod: 2025-02-04
|
|||||||
|
|
||||||
```
|
```
|
||||||
Ignore stream service settings
|
Ignore stream service settings
|
||||||
Video Encoder
|
Video Encoder
|
||||||
x264
|
x264
|
||||||
1920x1080
|
1920x1080
|
||||||
Rate control
|
Rate control
|
||||||
|
|||||||
Reference in New Issue
Block a user