Compare commits

..

8 Commits

Author SHA1 Message Date
4bd56c7c90 change pdf url, add rss 2025-12-19 14:14:15 +00:00
1bc7f2eb25 update subdomain 2025-11-12 21:44:56 +00:00
6df9115f3d fix issue tailscale 2025-10-26 11:21:03 +00:00
debian
ea2334b8a4 config headscale 2025-10-24 01:01:37 +02:00
debian
b1f755f17d config template 2025-10-24 00:57:49 +02:00
debian
29772a655b create config template for headscale 2025-10-24 00:04:12 +02:00
debian
425de79c33 change port for headscale 2025-10-23 23:05:54 +02:00
debian
b37dda0b67 refine configuration file 2025-10-23 22:24:40 +02:00
5 changed files with 49 additions and 35 deletions

1
.env
View File

@@ -22,3 +22,4 @@ PUBLIC_DOMAIN=crescentec.ch
# Personal info # Personal info
EMAIL=chris.windler@crescentec.ch EMAIL=chris.windler@crescentec.ch
MAIN_SERVER_NODE_IP=100.64.0.1:443

View File

@@ -13,7 +13,7 @@
} }
auth.{$public_domain} { auth.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -23,7 +23,7 @@ auth.{$public_domain} {
} }
audiobookshelf.{$public_domain} { audiobookshelf.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -33,7 +33,7 @@ audiobookshelf.{$public_domain} {
} }
gitea.{$public_domain} { gitea.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -43,18 +43,13 @@ gitea.{$public_domain} {
} }
headscale.{$public_domain} { headscale.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy headscale:8080
transport http {
tls_insecure_skip_verify
}
}
tls {$email} tls {$email}
import forward_headers import forward_headers
} }
immich.{$public_domain} { immich.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -64,7 +59,7 @@ immich.{$public_domain} {
} }
ldap.{$public_domain} { ldap.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -74,7 +69,7 @@ ldap.{$public_domain} {
} }
linkwarden.{$public_domain} { linkwarden.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -84,7 +79,27 @@ linkwarden.{$public_domain} {
} }
mealie.{$public_domain} { mealie.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http {
tls_insecure_skip_verify
}
}
tls {$email}
import forward_headers
}
navidrome.{$public_domain} {
reverse_proxy {$main_server_ip} {
transport http {
tls_insecure_skip_verify
}
}
tls {$email}
import forward_headers
}
ntfy.{$public_domain} {
reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -94,7 +109,7 @@ mealie.{$public_domain} {
} }
paperless.{$public_domain} { paperless.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -104,7 +119,7 @@ paperless.{$public_domain} {
} }
radicale.{$public_domain} { radicale.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -113,8 +128,8 @@ radicale.{$public_domain} {
import forward_headers import forward_headers
} }
shlink.{$public_domain} { rss.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -123,8 +138,8 @@ shlink.{$public_domain} {
import forward_headers import forward_headers
} }
stirling-pdf.{$public_domain} { pdf.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -134,7 +149,7 @@ stirling-pdf.{$public_domain} {
} }
superset.{$public_domain} { superset.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -144,7 +159,7 @@ superset.{$public_domain} {
} }
vaultwarden.{$public_domain} { vaultwarden.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -154,7 +169,7 @@ vaultwarden.{$public_domain} {
} }
vikunja.{$public_domain} { vikunja.{$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }
@@ -164,7 +179,7 @@ vikunja.{$public_domain} {
} }
{$public_domain} { {$public_domain} {
reverse_proxy ${node_local_ip} { reverse_proxy {$main_server_ip} {
transport http { transport http {
tls_insecure_skip_verify tls_insecure_skip_verify
} }

View File

@@ -20,7 +20,7 @@ services:
email: ${EMAIL} email: ${EMAIL}
public_domain: ${PUBLIC_DOMAIN} public_domain: ${PUBLIC_DOMAIN}
private_domain: ${LOCAL_DOMAIN} private_domain: ${LOCAL_DOMAIN}
node_local_ip: ${NODE_LOCAL_IP} main_server_ip: ${MAIN_SERVER_NODE_IP:-10.10.10.2}
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
networks: networks:

View File

@@ -10,13 +10,13 @@
# #
# https://myheadscale.example.com:443 # https://myheadscale.example.com:443
# #
server_url: http://0.0.0.0:8080 server_url: {{ headscale_server_url }}
# Address to listen to / bind to on the server # Address to listen to / bind to on the server
# #
# For production: # For production:
listen_addr: 0.0.0.0:8080
#listen_addr: 127.0.0.1:8080 #listen_addr: 127.0.0.1:8080
listen_addr: {{ headscale_listen_addr }}
# Address to listen to /metrics and /debug, you may want # Address to listen to /metrics and /debug, you may want
# to keep this endpoint private to your internal network # to keep this endpoint private to your internal network
@@ -276,7 +276,7 @@ dns:
# `base_domain` must be a FQDN, without the trailing dot. # `base_domain` must be a FQDN, without the trailing dot.
# The FQDN of the hosts will be # The FQDN of the hosts will be
# `hostname.base_domain` (e.g., _myhost.example.com_). # `hostname.base_domain` (e.g., _myhost.example.com_).
base_domain: example.com base_domain: {{ headscale_base_domain }}
# Whether to use the local DNS settings of a node or override the local DNS # Whether to use the local DNS settings of a node or override the local DNS
# settings (default) and force the use of Headscale's DNS configuration. # settings (default) and force the use of Headscale's DNS configuration.
@@ -285,10 +285,7 @@ dns:
# List of DNS servers to expose to clients. # List of DNS servers to expose to clients.
nameservers: nameservers:
global: global:
- 1.1.1.1 - {{ dns_nameserver }}
- 1.0.0.1
- 2606:4700:4700::1111
- 2606:4700:4700::1001
# NextDNS (see https://tailscale.com/kb/1218/nextdns/). # NextDNS (see https://tailscale.com/kb/1218/nextdns/).
# "abc123" is example NextDNS ID, replace with yours. # "abc123" is example NextDNS ID, replace with yours.

View File

@@ -10,9 +10,10 @@ services:
- ${SERVICE_PATH}/headscale/lib:/var/lib/headscale - ${SERVICE_PATH}/headscale/lib:/var/lib/headscale
- ${SERVICE_PATH}/headscale/run:/var/run/headscale - ${SERVICE_PATH}/headscale/run:/var/run/headscale
ports: ports:
- 0.0.0.0:1000:8080 # api - 127.0.0.1:8080:8080 # api
- 0.0.0.0:1001:9090 # metrics - 127.0.0.1:9090:9090 # metrics
command: serve command: serve
environment:
networks: networks:
- ip4net - ip4net
labels: labels: