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

This commit is contained in:
Joakim Svensson 2024-01-04 13:01:43 +00:00
parent 20bbb3dd04
commit 4b953b203c
2 changed files with 193 additions and 11 deletions

View File

@ -1,5 +1,5 @@
---
Title: Services
title: Services
---
- **[Cloudlog](https://cloudlog.sa6anw.se)**

View File

@ -1,13 +1,195 @@
---
Title: Netmaker
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
**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 AdminPassword
Du behöver också dilen `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.
Sista filen du behöver ät `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 "${@}"
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 IP.
Det kommer mera!!!