diff --git a/content/en/3.serveex/4.monitoring/4.beszel.md b/content/en/3.serveex/4.monitoring/4.beszel.md index 952bf7c..b7cc183 100644 --- a/content/en/3.serveex/4.monitoring/4.beszel.md +++ b/content/en/3.serveex/4.monitoring/4.beszel.md @@ -5,16 +5,6 @@ description: Install Beszel to monitor server CPU, RAM, disk, and network metric :ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60} -# Beszel - -::note -🎯 __Objectives:__ - -- Install Beszel -- Monitor the local server -- Monitor a remote server -- Expose Beszel with Swag -:: [Beszel](https://beszel.dev/) is a container that gives you real-time access to hardware information from your servers and allows historical tracking. CPU activity, disk usage, temperatures, RAM: nothing escapes your monitoring. Beszel also lets you configure notifications and alerts when your predefined thresholds are exceeded. @@ -37,6 +27,9 @@ tree: --- :: +::steps{level="3"} +### Deploy the stack + Open Dockge, click `compose`, name the stack `beszel`, and paste the following: ```yaml [compose.yaml] @@ -79,6 +72,8 @@ services: ``` :: +### Set your environment variables + Fill out the `.env` file, for example: ```properties [.env] @@ -90,6 +85,9 @@ For the `KEY` value, you'll need to launch Beszel once to get it. Deploy the container and go to `http://yourserverip:8090`. Your Beszel web UI is now accessible! +### Done ! +:: + ::caution __If it fails:__ check your firewall rules. @@ -153,12 +151,15 @@ Beszel does not support multi-factor authentication. Exposing it on the internet If you want to access Beszel remotely from all your devices, expose it using Swag. -::note +::note{icon=""} 📋 __Prerequisite:__

You must have created a DNS subdomain like `beszel.mydomain.com` with a `CNAME` pointing to `mydomain.com`. Unless you're using Cloudflare Zero Trust, you must also have forwarded port `443` on your router to your server’s `443` port via [NAT rules](/general/networking/nat). :: +::steps{level="3"} +### Add Beszel's network to SWAG + In Dockge, edit Swag's compose file and add Beszel’s network: ```yaml [compose.yaml] @@ -185,6 +186,8 @@ Redeploy the stack and wait for Swag to become fully operational. We assume the network name is `beszel_default`. You can check connectivity by visiting Swag's dashboard at `http://yourserverip:81`. :: +### Create the subdomain.conf file + In Swag’s config folders, create `beszel.subdomain.conf`. ::tip{icon=""} @@ -243,6 +246,9 @@ server { Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ctrl+X"} to exit. +### Done ! +:: + That’s it! Beszel is now exposed! ## Protecting Beszel with TinyAuth @@ -314,6 +320,6 @@ server { The `location /tinyauth` block runs inside SWAG's own container, so SWAG needs to be on TinyAuth's Docker network to reach it by name (`tinyauth` here). This should already be set up from [exposing TinyAuth itself](/serveex/security/tinyauth#exposing-tinyauth-with-swag). If you run into an error, double-check SWAG's compose file still has that network attached. :: -::tip -✨ You can protect this app with Authentik instead of TinyAuth by opening `beszel.subdomain.conf` and removing the `#` in front of `include /config/nginx/authentik-server.conf;` and `include /config/nginx/authentik-location.conf;`. Don’t forget to [create an application and provider in Authentik](/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy). +::tip{icon=""} +✨ You can protect this app with [Authentik](/serveex/advanced/authentik) instead of TinyAuth by opening `beszel.subdomain.conf` and removing the `#` in front of `include /config/nginx/authentik-server.conf;` and `include /config/nginx/authentik-location.conf;`. Don’t forget to [create an application and provider in Authentik](/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy). :: diff --git a/content/en/3.serveex/4.monitoring/5.upsnap.md b/content/en/3.serveex/4.monitoring/5.upsnap.md index c8e8fe4..62f3d1b 100644 --- a/content/en/3.serveex/4.monitoring/5.upsnap.md +++ b/content/en/3.serveex/4.monitoring/5.upsnap.md @@ -5,14 +5,6 @@ description: Install UpSnap to remotely wake up machines on your local network v :ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60} -# UpSnap - -::note -🎯 __Goals:__ - -- Install UpSnap -- Expose UpSnap with Swag -:: [UpSnap](https://github.com/seriousm4x/UpSnap) is a container that allows you to remotely power on, shut down, or put your machines to sleep. It mainly uses Wake-On-Lan (WoL) over the network and offers advanced features. @@ -32,6 +24,9 @@ tree: --- :: +::steps{level="3"} +### Deploy the stack + Open Dockge, click on `compose`, name the stack `upsnap`, then copy and paste the following: ```yaml [compose.yaml] @@ -70,6 +65,8 @@ services: ``` :: +### Set your environment variables + Fill in the `.env`, for example: ```properties [.env] @@ -79,6 +76,9 @@ DNS=192.168.1.1 # DNS IP to resolve domain names, typically your router’s IP Deploy the container and go to `http://yourserverip:8095`. Just follow the steps to create your account! +### Done ! +:: + ::caution __If it fails:__ check your firewall rules. @@ -93,12 +93,15 @@ UpSnap does not support multi-factor authentication. Exposing it on the internet You may want to access it remotely from all your devices. To do so, we'll expose UpSnap via Swag. -::note +::note{icon=""} 📋 __Beforehand:__

We assume you've created a subdomain in your [DNS zone](/general/networking/dns), such as `upsnap.yourdomain.com` with a `CNAME` to `yourdomain.com`. Also, unless you're using Cloudflare Zero Trust, you should have already forwarded port `443` from your router to port `443` on your server in your [NAT rules](/general/networking/nat). :: +::steps{level="3"} +### Add UpSnap's network to SWAG + Go to Dockge, and edit the SWAG compose by adding the UpSnap network: ```yaml [compose.yaml] @@ -125,6 +128,8 @@ Restart the stack by clicking "deploy" and wait for SWAG to be fully operational Here we assume the network name for upsnap is `upsnap_default`. You can check the connection in the SWAG dashboard at `http://yourserverip:81`. :: +### Create the subdomain.conf file + In the Swag folders, create the file `upsnap.subdomain.conf`. ::tip{icon=""} @@ -189,6 +194,9 @@ server { Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ctrl+X"} to exit. +### Done ! +:: + And that’s it! You’ve exposed UpSnap! ## Protecting UpSnap with TinyAuth @@ -267,6 +275,6 @@ server { The `location /tinyauth` block runs inside SWAG's own container, so SWAG needs to be on TinyAuth's Docker network to reach it by name (`tinyauth` here). This should already be set up from [exposing TinyAuth itself](/serveex/security/tinyauth#exposing-tinyauth-with-swag). If you run into an error, double-check SWAG's compose file still has that network attached. :: -::tip -✨ You can protect this app with Authentik instead of TinyAuth by opening `upsnap.subdomain.conf` and removing the `#` in front of `include /config/nginx/authentik-server.conf;`{lang=nginx} and `include /config/nginx/authentik-location.conf;`{lang=nginx}. Don’t forget to [create an application and provider in Authentik](/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy). +::tip{icon=""} +✨ You can protect this app with [Authentik](/serveex/advanced/authentik) instead of TinyAuth by opening `upsnap.subdomain.conf` and removing the `#` in front of `include /config/nginx/authentik-server.conf;`{lang=nginx} and `include /config/nginx/authentik-location.conf;`{lang=nginx}. Don’t forget to [create an application and provider in Authentik](/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy). ::