From d375c4e727ae5ef53b2f6735ddeff780338e2e77 Mon Sep 17 00:00:00 2001 From: sa6anw Date: Fri, 18 Jul 2025 06:29:03 +0000 Subject: [PATCH] i18n --- docs/caddy.md | 19 +++ docs/hf.md | 4 +- docs/homelab.md | 30 +++++ docs/netmaker.md | 314 ++++++++++++++++++++++++++++++++++++++++++++++ docs/sa6anwse.md | 30 +++++ docs/smokeping.md | 50 ++++++++ docs/vhfuhfdmr.md | 2 +- 7 files changed, 446 insertions(+), 3 deletions(-) create mode 100644 docs/caddy.md create mode 100644 docs/homelab.md create mode 100644 docs/netmaker.md create mode 100644 docs/sa6anwse.md create mode 100644 docs/smokeping.md diff --git a/docs/caddy.md b/docs/caddy.md new file mode 100644 index 0000000..1e27984 --- /dev/null +++ b/docs/caddy.md @@ -0,0 +1,19 @@ +--- +title: Caddy +--- + +
+
+ ______ ______ _______ _______ __ __ + /\ ____\ /\_____\ |\ _____\ |\ _____\ |\_\ /\_\ +|\ 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 +
+
diff --git a/docs/hf.md b/docs/hf.md index 2158e87..daa5541 100644 --- a/docs/hf.md +++ b/docs/hf.md @@ -122,8 +122,8 @@ Work in progress. Up and running men inte integrerad mot radion
**Övrig utrustning** - **HF-stationer**
-Yaesu FT-100D
-Yaesu FT-900
+Yaesu FT-100D SÅLD
+Yaesu FT-900 SÅLD
- **PSU**
Svebry 13.8V 30A
diff --git a/docs/homelab.md b/docs/homelab.md new file mode 100644 index 0000000..2ea8145 --- /dev/null +++ b/docs/homelab.md @@ -0,0 +1,30 @@ +--- +title: Home Lab +--- +
+
+ __ __ ______ __ __ ________ __ ______ _______ +|\_\ |\_\ /\ ____\ |\_\ /\_\ |\ ______\ |\_\ /\ ____\ |\ _____\ +| 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 +
+
+ +- **[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? + + diff --git a/docs/netmaker.md b/docs/netmaker.md new file mode 100644 index 0000000..1959bdd --- /dev/null +++ b/docs/netmaker.md @@ -0,0 +1,314 @@ +--- +title: Netmaker +--- + +
+
+ __ __ ________ ________ __ __ ______ __ __ ________ _______ +|\_\ |\_\ |\ ______\ |\ ______\ |\_\ /\_\ /\ ____\ |\_\ /\_\ |\ ______\ |\ _____\ +| 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 +
+
+ +**Netmaker**
+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**
+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 diff --git a/docs/sa6anwse.md b/docs/sa6anwse.md new file mode 100644 index 0000000..7fb45c8 --- /dev/null +++ b/docs/sa6anwse.md @@ -0,0 +1,30 @@ +--- +title: sa6anw.se +--- + +
+
+ ______ + /\ ____\ + _______ ______ |\ 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 +
+
+ + + **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. + + \ No newline at end of file diff --git a/docs/smokeping.md b/docs/smokeping.md new file mode 100644 index 0000000..d8eb3dd --- /dev/null +++ b/docs/smokeping.md @@ -0,0 +1,50 @@ +--- +title: sa6anw.se +--- + +
+
+ ______ __ __ ______ __ __ ________ _______ ______ __ __ ______ + /\ ____\ |\_\ /\_\ /\ ____\ |\_\ /\_\ |\ ______\ |\ _____\ |\ ____\ |\_\ |\_\ /\ ____\ +|\ $$$$$$\ | $$\ / $$ |\ $$$$$$\ | $$ / $$ | $$$$$$$$ | $$$$$$$\ \$$$$$$ | $$\ | $$ |\ $$$$$$\ +| $$___\$$ | $$$\ / $$$ | $$ | $$ | $$/ $$ | $$__ | $$__/ $$ | $$ | $$$\| $$ | $$ __\$$ + \$$ ___\ | $$$$\ $$$$ | $$ | $$ | $$ $$ | $$ _\ | $$ _\ $$ | $$ | $$$$\ $$ | $$|\ __\ + _\$$$$$$\ | $$\$$ $$ $$ | $$ | $$ | $$$$$\ | $$$$$ | $$$$$$$ | $$ | $$\$$ $$ | $$ \$$$$ +|\_\__| $$ | $$ \$$$| $$ | $$__/\$$ | $$ \$$\ | $$_____ | $$ _| $$_ | $$ \$$$$ | $$__| $$ + \$$ __\$$ | $$ \$ | $$ \$$ _\ $$ | $$ \$$\ | $$ ____\ | $$ |\_\$$_\ | $$ \$$$ \$$ __\$$ + \$$$$$$ \$$ \$$ \$$$$$$ \$$ \$$ \$$$$$$$$ \$$ \$$$$$$ \$$ \$$ \$$$$$$ + + SA6ANW 20240105 +
+
+ +**[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` + diff --git a/docs/vhfuhfdmr.md b/docs/vhfuhfdmr.md index 6d25fc4..42e81fb 100644 --- a/docs/vhfuhfdmr.md +++ b/docs/vhfuhfdmr.md @@ -55,7 +55,7 @@ Anytone AT-D878UVII Plus är den radion jag har som klarar av DMR. Till den har - **Mobilstationer**
Yaesu FT-1500M
-Yaesu FT-100D
+Yaesu FT-100D SÅLD

- **Handaparater**