Cum să configurezi Headscale și Traefik ca să faci proxy la orice serviciu
Requirements:
- a linux server with a public IPv4 address
- docker and docker compose installed
- a domain/subdomain with a A DNS record pointing to your IP
I will use example.com as the domain name in this example, please replace it with your domain/subdomain.
Traefik
Ssh to your public server where you want to host your vpn, make a folder called traefik
with the following files:
mkdir traefik && cd traefik
1. An empty letsencrypt
folder: mkdir letsencrypt
2. An empty file touch dynamic.yml
(for future expansion)
3. The static config: nano static.yml
1api:
2 insecure: true
3 dashboard: true
4
5providers:
6 docker:
7 exposedByDefault: false
8
9entryPoints:
10 web:
11 address: ":80"
12 http2:
13 maxConcurrentStreams: 250 # fix for network error on the proxy to my immich instance
14 http3:
15 advertisedPort: 443
16 # http:
17 # redirections:
18 # entryPoint:
19 # to: websecure
20 # scheme: https
21 forwardedHeaders:
22 trustedIPs:
23 - 10.0.0.0/8
24 - 172.16.0.0/12
25 - 192.168.0.0/16
26 - fc00::/7
27 proxyProtocol:
28 trustedIPs:
29 - 10.0.0.0/8
30 - 172.16.0.0/12
31 - 192.168.0.0/16
32 - fc00::/7
33 websecure:
34 address: ":443"
35 http2:
36 maxConcurrentStreams: 250 # fix for network error on the proxy to my immich instance
37 http3:
38 advertisedPort: 443
39 forwardedHeaders:
40 trustedIPs:
41 - 10.0.0.0/8
42 - 172.16.0.0/12
43 - 192.168.0.0/16
44 - fc00::/7
45 proxyProtocol:
46 trustedIPs:
47 - 10.0.0.0/8
48 - 172.16.0.0/12
49 - 192.168.0.0/16
50 - fc00::/7
51
52certificatesResolvers:
53 myresolver:
54 acme:
55 email: "your-email-goes-here@tutorial.example"
56 storage: "/letsencrypt/acme.json"
57 httpChallenge:
58 entryPoint: web
Replace
your-email-goes-here@tutorial.example
with your email address. Let’s Encrypt send you notifications when your ssl certificate expires.
MiniPC rack Partea 1: pc și carcasă
Am cumpărat hardware-ul pentru MiniPC rack
Cum să controlezi ventilatorul Noctua din Raspberry Pi
Cum să controlezi un ventilator Noctua NF-A20 PWM din Raspberry Pi. De la oprit la viteze între 20%-100%
Cum să folosești Templ în Goravel
Cum să folosești Templ în framework-ul Goravel
Docker Compose script scurtaturi
Cum să faci un script cu scurtături folosite frecvent pentru docker compose
Backup incremental pentru fișiere și MySQL
Cum să configurezi Autorestic pentru backup incremental de fișiere și baza de date MySQL
Dinamic max_connections pentru MySQL
Schimbă setarea max_connections dinamic în MySQL
Calendar complet în Solid JS
Calendar complet în Solid JS cu Moment.js