i18n
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Joakim Svensson 2025-07-18 06:29:03 +00:00
parent f24a981abc
commit d375c4e727
7 changed files with 446 additions and 3 deletions

19
docs/caddy.md Normal file
View File

@ -0,0 +1,19 @@
---
title: Caddy
---
<div class="ascii-wrapper">
<pre><code><div align="center">
______ ______ _______ _______ __ __
/\ ____\ /\_____\ |\ _____\ |\ _____\ |\_\ /\_\
|\ XXXXXX\ |\ XXXXXX\ | XXXXXXX\ | XXXXXXX\ \XX\ / XX
| XX \XX | XX__| XX | XX | XX | XX | XX \XX\/ XX
| XX | XX XX | XX | XX | XX | XX \XX XX
| XX __ | XXXXXXXX | XX | XX | XX | XX \XXXX
| XX__/\_\ | XX | XX | XX__/\XX | XX__/\XX | XX
\XX _\ XX | XX | XX | XX _\ XX | XX _\ XX | XX
\XXXXXX \XX \XX \XXXXXXX \XXXXXXX \XX
SA6ANW 20240105
</div></code></pre>
</div>

View File

@ -122,8 +122,8 @@ Work in progress. Up and running men inte integrerad mot radion<br>
**Övrig utrustning**
- **HF-stationer**<br>
Yaesu FT-100D<br>
Yaesu FT-900<br>
Yaesu FT-100D SÅLD<br>
Yaesu FT-900 SÅLD<br>
- **PSU**<br>
Svebry 13.8V 30A<br>

30
docs/homelab.md Normal file
View File

@ -0,0 +1,30 @@
---
title: Home Lab
---
<div class="ascii-wrapper">
<pre><code><div align="center">
__ __ ______ __ __ ________ __ ______ _______
|\_\ |\_\ /\ ____\ |\_\ /\_\ |\ ______\ |\_\ /\ ____\ |\ _____\
| XX | XX | XXXXXX\ | XX\ / XX | XXXXXXXX | XX | XXXXXX\ | XXXXXXX\
| XX__| XX | XX | XX | XXX\ / XXX | XX__ | XX | XX__| XX | XX__/\XX
| XX __\XX | XX | XX | XXXX\ XXXX | XX _\ | XX | XX __\XX | XX _\ XX
| XXXXXXXX | XX | XX | XX\XX XX XX | XXXXX | XX | XXXXXXXX | XXXXXXX\
| XX | XX | XX__/\XX | XX \XXX| XX | XX_____ | XX_____ | XX | XX | XX__/\XX
| XX | XX \XX _\ XX | XX \X | XX | XX ____\ | XX ____\ | XX | XX | XX _\ XX
\XX \XX \XXXXXX \XX \XX \XXXXXXXX \XXXXXXXX \XX \XX \XXXXXXX
SA6ANW 20240105
</div></code></pre>
</div>
- **[Nextcloud](https://cloud.sa6anw.se)**
- **[Cloudlog](https://cloudlog.sa6anw.se)**
- **[Drone](https://drone.sa6anw.se)**
- **[Gitea](https://git.sa6anw.se)**
- **[HedgeDoc](https://hedgedoc.sa6anw.se)**
- **[VS Code](https://code.sa6anw.se)**
- **[Smokeping](https://smokeping.sa6anw.se)**
Dessa tjänster är i första hand för mig och en och annan privilegierad vän. Vill du också bli en privilegierad vän?

314
docs/netmaker.md Normal file
View File

@ -0,0 +1,314 @@
---
title: Netmaker
---
<div class="ascii-wrapper">
<pre><code><div align="center">
__ __ ________ ________ __ __ ______ __ __ ________ _______
|\_\ |\_\ |\ ______\ |\ ______\ |\_\ /\_\ /\ ____\ |\_\ /\_\ |\ ______\ |\ _____\
| XX\ | XX | XXXXXXXX \XXXXXXXX | XX\ / XX |\ XXXXXX\ | XX / XX | XXXXXXXX | XXXXXXX\
| XXX\| XX | XX__ | XX | XXX\ / XXX | XX__| XX | XX/ XX | XX__ | XX__| XX
| XXXX\ XX | XX _\ | XX | XXXX\ XXXX | XX __\XX | XX XX | XX _\ | XX __\XX
| XX\XX XX | XXXXX | XX | XX\XX XX XX | XXXXXXXX | XXXXX\ | XXXXX | XXXXXXX\
| XX \XXXX | XX_____ | XX | XX \XXX| XX | XX | XX | XX \XX\ | XX_____ | XX | XX
| XX \XXX | XX ____\ | XX | XX \X | XX | XX | XX | XX \XX\ | XX ____\ | XX | XX
\XX \XX \XXXXXXXX \XX \XX \XX \XX \XX \XX \XX \XXXXXXXX \XX \XX
SA6ANW 20240104
</div></code></pre>
</div>
**Netmaker**<br>
Wireguard VPN & Software Defined Networking
Med Netmaker Kan jag styra kommunikationen precis som jag vill. Det påminner om Tailscale men man har möjlighet att hosta det själv. Jag kör version 0.17.0.
För att köra netnetmaker
Skapa en `docker-compose.yaml` med följande innehåll
version: "3.4"
services:
netmaker:
container_name: netmaker
image: gravitl/netmaker:v0.17.0
cap_add:
- NET_ADMIN
- NET_RAW
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv6.conf.all.forwarding=1
restart: always
volumes:
- dnsconfig:/root/config/dnsconfig
- sqldata:/root/data
- mosquitto_data:/etc/netmaker
environment:
SERVER_NAME: "broker.netmaker.sa6anw.se"
SERVER_HOST: "81.170.219.67"
SERVER_API_CONN_STRING: "api.netmaker.sa6anw.se:443"
COREDNS_ADDR: "81.170.219.67"
DNS_MODE: "on"
SERVER_HTTP_HOST: "api.netmaker.sa6anw.se"
API_PORT: "8081"
CLIENT_MODE: "on"
MASTER_KEY: "Masterkey"
CORS_ALLOWED_ORIGIN: "*"
DISPLAY_KEYS: "on"
DATABASE: "sqlite"
NODE_ID: "netmaker-server-1"
MQ_HOST: "mq"
MQ_PORT: "443"
MQ_SERVER_PORT: "1883"
HOST_NETWORK: "off"
VERBOSITY: "1"
MANAGE_IPTABLES: "on"
PORT_FORWARD_SERVICES: "dns"
MQ_ADMIN_PASSWORD: "AdminPassword"
ports:
- "51821-51830:51821-51830/udp"
netmaker-ui:
container_name: netmaker-ui
image: gravitl/netmaker-ui:v0.17.0
depends_on:
- netmaker
links:
- "netmaker:api"
restart: always
environment:
BACKEND_URL: "https://api.netmaker.sa6anw.se"
caddy:
image: caddy:2.6.2
container_name: caddy
restart: unless-stopped
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_conf:/config
ports:
- "80:80"
- "443:443"
coredns:
container_name: coredns
image: coredns/coredns
command: -conf /root/dnsconfig/Corefile
depends_on:
- netmaker
restart: always
volumes:
- dnsconfig:/root/dnsconfig
mq:
container_name: mq
image: eclipse-mosquitto:2.0.15-openssl
depends_on:
- netmaker
restart: unless-stopped
command: ["/mosquitto/config/wait.sh"]
environment:
NETMAKER_SERVER_HOST: "https://api.netmaker.sa6anw.se"
volumes:
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
- ./wait.sh:/mosquitto/config/wait.sh
- mosquitto_data:/mosquitto/data
- mosquitto_logs:/mosquitto/log
volumes:
caddy_data: {}
caddy_conf: {}
sqldata: {}
dnsconfig: {}
mosquitto_data: {}
mosquitto_logs: {}
- Byt till din egen domän
- Sätt lång MASTER_KEY och MQ_ADMIN_PASSWORD
Du behöver också filen `Caddyfile` i samma folder med följande innehåll
{
# LetsEncrypt account
email sa6anw@gmail.com
}
# Dashboard
https://dashboard.netmaker.sa6anw.se {
# Apply basic security headers
header {
# Enable cross origin access to *.netmaker.sa6anw.se
Access-Control-Allow-Origin *.netmaker.sa6anw.se
# Enable HTTP Strict Transport Security (HSTS)
Strict-Transport-Security "max-age=31536000;"
# Enable cross-site filter (XSS) and tell browser to block detected attacks
X-XSS-Protection "1; mode=block"
# Disallow the site to be rendered within a frame on a foreign domain (clickjacking protection)
X-Frame-Options "SAMEORIGIN"
# Prevent search engines from indexing
X-Robots-Tag "none"
# Remove the server name
-Server
}
reverse_proxy http://netmaker-ui
}
# API
https://api.netmaker.sa6anw.se {
reverse_proxy http://netmaker:8081
}
# MQ
wss://broker.netmaker.sa6anw.se {
reverse_proxy ws://mq:8883
}
- Samma sak här, byt till din domän och mailadress.
Som näst sista filen du behöver är `wait.sh`
#!/bin/ash
wait_for_netmaker() {
echo "SERVER: ${NETMAKER_SERVER_HOST}"
until curl --output /dev/null --silent --fail --head \
--location "${NETMAKER_SERVER_HOST}/api/server/health"; do
echo "Waiting for netmaker server to startup"
sleep 1
done
}
main(){
# wait for netmaker to startup
apk add curl
wait_for_netmaker
echo "Starting MQ..."
# Run the main container command.
/docker-entrypoint.sh
/usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
}
main "${@}"
Till sist `mosquitto.conf`
per_listener_settings false
listener 8883
protocol websockets
allow_anonymous false
listener 1883
protocol websockets
allow_anonymous false
plugin /usr/lib/mosquitto_dynamic_security.so
plugin_opt_config_file /mosquitto/data/dynamic-security.json
Sen är det bara att köra `docker-compose up -d`
**Modifiering**<br>
Jag har valt att bryta ut caddy så att jag kan köra fler tjänster med bara en publik IP.
Modifiera `docker-compose.yaml` på följande sätt
version: "3.4"
services:
netmaker:
container_name: netmaker
image: gravitl/netmaker:v0.17.0
cap_add:
- NET_ADMIN
- NET_RAW
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv6.conf.all.forwarding=1
restart: always
volumes:
- dnsconfig:/root/config/dnsconfig
- sqldata:/root/data
- mosquitto_data:/etc/netmaker
environment:
SERVER_NAME: "broker.netmaker.sa6anw.se"
SERVER_HOST: "81.170.219.67"
SERVER_API_CONN_STRING: "api.netmaker.sa6anw.se:443"
COREDNS_ADDR: "81.170.219.67"
DNS_MODE: "on"
SERVER_HTTP_HOST: "api.netmaker.sa6anw.se"
API_PORT: "8081"
CLIENT_MODE: "on"
MASTER_KEY: "MasterKey"
CORS_ALLOWED_ORIGIN: "*"
DISPLAY_KEYS: "on"
DATABASE: "sqlite"
NODE_ID: "netmaker-server-1"
MQ_HOST: "mq"
MQ_PORT: "443"
MQ_SERVER_PORT: "1883"
HOST_NETWORK: "off"
VERBOSITY: "1"
MANAGE_IPTABLES: "on"
PORT_FORWARD_SERVICES: "dns"
MQ_ADMIN_PASSWORD: "AdminPassword"
ports:
- "51821-51830:51821-51830/udp"
+ - "8081:8081"
netmaker-ui:
container_name: netmaker-ui
image: gravitl/netmaker-ui:v0.17.0
depends_on:
- netmaker
links:
- "netmaker:api"
restart: always
environment:
BACKEND_URL: "https://api.netmaker.sa6anw.se"
+ ports:
+ - "8080:80"
- caddy:
- image: caddy:2.6.2
- container_name: caddy
- restart: unless-stopped
- volumes:
- - ./Caddyfile:/etc/caddy/Caddyfile
- - caddy_data:/data
- - caddy_conf:/config
- ports:
- - "80:80"
- - "443:443"
coredns:
container_name: coredns
image: coredns/coredns
command: -conf /root/dnsconfig/Corefile
depends_on:
- netmaker
restart: always
volumes:
- dnsconfig:/root/dnsconfig
mq:
container_name: mq
image: eclipse-mosquitto:2.0.15-openssl
depends_on:
- netmaker
restart: unless-stopped
command: ["/mosquitto/config/wait.sh"]
environment:
NETMAKER_SERVER_HOST: "https://api.netmaker.sa6anw.se"
volumes:
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
- ./wait.sh:/mosquitto/config/wait.sh
- mosquitto_data:/mosquitto/data
- mosquitto_logs:/mosquitto/log
+ ports:
+ - "8883:8883"
volumes:
caddy_data: {}
caddy_conf: {}
sqldata: {}
dnsconfig: {}
Filen `Caddyfile` kan du ta bort

30
docs/sa6anwse.md Normal file
View File

@ -0,0 +1,30 @@
---
title: sa6anw.se
---
<div class="ascii-wrapper">
<pre><code><div align="center">
______
/\ ____\
_______ ______ |\ XXXXXX\ ______ _______ __ __ __ _______ ______
/\ _____\ |\ ____\ | XX___\XX |\ ____\ |\ _____\ |\_\ |\_\ |\_\ /\ _____\ /\ ____\
|\ XXXXXXX \XXXXXX\ | XX ___\ \XXXXXX\ | XXXXXXX\ | XX | XX | XX |\ XXXXXXX |\ XXXXXX\
\XX ___\ /\____ XX | XXXXXXX\ /\____ XX | XX | XX | XX | XX | XX \XX ___\ | XX __\XX
_\XXXXXX\ |\ XXXXXXX | XX__/ XX |\ XXXXXXX | XX | XX | XX_/\XX_/\XX __ _\XXXXXX\ | XXXXXXXX
|\ ____\XX \XX __\XX \XX __\XX \XX __\XX | XX | XX \XX_\ XX_\ XX |\_\ |\ ____\XX \XX ____\
\XXXXXXX \XXXXXXX \XXXXXX \XXXXXXX \XX \XX \XXXXX\XXXX \XX \XXXXXXX \XXXXXXX
SA6ANW 20240105
</div></code></pre>
</div>
**Denna hemsida**
Den är gjord med MKDocs och temat Material. Jag skriver sidan med code-server som är vscode med web-ui. Jag comittar allt till min git där DroneCI bygger och publicerar sidan anutomatiskt.
<!--
Ascii-art-rubrikerna är skapade på [denna hemsidan](https://patorjk.com/software/taag/) fonten heter `Big Money-se`. Där efter modifierar jag den till det som finns på hemsidan. Jag ändrar teckenavstånd, lägger till mer detaljer och byter `$` mot `X`.
Alla ascii-art-skisser är gjorda för hand.
-->

50
docs/smokeping.md Normal file
View File

@ -0,0 +1,50 @@
---
title: sa6anw.se
---
<div class="ascii-wrapper">
<pre><code><div align="center">
______ __ __ ______ __ __ ________ _______ ______ __ __ ______
/\ ____\ |\_\ /\_\ /\ ____\ |\_\ /\_\ |\ ______\ |\ _____\ |\ ____\ |\_\ |\_\ /\ ____\
|\ $$$$$$\ | $$\ / $$ |\ $$$$$$\ | $$ / $$ | $$$$$$$$ | $$$$$$$\ \$$$$$$ | $$\ | $$ |\ $$$$$$\
| $$___\$$ | $$$\ / $$$ | $$ | $$ | $$/ $$ | $$__ | $$__/ $$ | $$ | $$$\| $$ | $$ __\$$
\$$ ___\ | $$$$\ $$$$ | $$ | $$ | $$ $$ | $$ _\ | $$ _\ $$ | $$ | $$$$\ $$ | $$|\ __\
_\$$$$$$\ | $$\$$ $$ $$ | $$ | $$ | $$$$$\ | $$$$$ | $$$$$$$ | $$ | $$\$$ $$ | $$ \$$$$
|\_\__| $$ | $$ \$$$| $$ | $$__/\$$ | $$ \$$\ | $$_____ | $$ _| $$_ | $$ \$$$$ | $$__| $$
\$$ __\$$ | $$ \$ | $$ \$$ _\ $$ | $$ \$$\ | $$ ____\ | $$ |\_\$$_\ | $$ \$$$ \$$ __\$$
\$$$$$$ \$$ \$$ \$$$$$$ \$$ \$$ \$$$$$$$$ \$$ \$$$$$$ \$$ \$$ \$$$$$$
SA6ANW 20240105
</div></code></pre>
</div>
**[smokeping.sa6anw.se](https://smokeping.sa6anw.se)**
För att köra netnetmaker i ditt egna labb:
- Skapa en `docker-compose.yaml` med följande innehåll
```
---
services:
smokeping:
image: lscr.io/linuxserver/smokeping:latest
container_name: smokeping
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MASTER_URL=https://smokeping.sa6anw.se
- CACHE_DIR=/tmp
volumes:
- ./config:/config
- ./data:/data
ports:
- 8002:80
restart: unless-stopped
```
- Byt till din domän.
- Sen är det bara att köra `docker-compose up -d`

View File

@ -55,7 +55,7 @@ Anytone AT-D878UVII Plus är den radion jag har som klarar av DMR. Till den har
- **Mobilstationer**<br>
Yaesu FT-1500M<br>
Yaesu FT-100D<br>
Yaesu FT-100D SÅLD<br>
<br>
- **Handaparater**<br>