dockerize cloudflared on cuddlefish + ssh proxying test

This commit is contained in:
2023-06-19 11:27:48 -07:00
parent 9c1ed78fac
commit 76fda3f1d5
6 changed files with 118 additions and 69 deletions

View File

@@ -0,0 +1,67 @@
#/etc/nginx/nginx.conf
events {}
http {
server {
listen 80;
server_name git.turtlebasket.ml;
client_max_body_size 50m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name analytics.turtlebasket.ml;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name md.turtlebasket.ml;
location / {
proxy_pass http://192.168.1.25:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name money.turtlebasket.ml;
location / {
proxy_pass http://192.168.1.25:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name iot.turtlebasket.ml;
location / {
proxy_pass http://192.168.1.25:8123;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Critical for websockets, which Home Assistant uses
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}

View File

@@ -5,7 +5,8 @@ networks:
external: false
services:
server:
gitea-server:
image: gitea/gitea:1.19.3
container_name: gitea
environment:
@@ -22,3 +23,13 @@ services:
- "3000:3000"
- "222:22"
gitea-cloudflared:
container_name: cloudflared-gitea
image: cloudflare/cloudflared
restart: unless-stopped
command: tunnel run --url http://server:3000
environment:
- TUNNEL_TOKEN=${GITEA_TUNNEL_TOKEN}
networks:
- gitea

View File

@@ -1,3 +1,7 @@
BACKUP_HOST=bob@1.2.3.4
BACKUP_KEYPATH=~/.ssh/id_backup
BACKUP_SSH_PORT=22
SSH_TUNNEL_TOKEN=...
GITEA_TUNNEL_TOKEN=...

View File

@@ -1,67 +1,19 @@
#/etc/nginx/nginx.conf
#/etc/nginx/stream.conf
events {}
load_module /usr/lib64/nginx/modules/ngx_stream_module.so;
http {
server {
listen 80;
server_name git.turtlebasket.ml;
client_max_body_size 50m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
stream {
map $ssl_preread_server_name $target_host {
cuddlefish.ssh.michael.com 127.0.0.1:22;
rocktiplex.ssh.michaellisano.com 192.168.1.19:22;
default 127.0.0.1:22;
}
}
server {
listen 80;
server_name analytics.turtlebasket.ml;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
server {
listen 2200;
proxy_pass $backend;
ssl_preread on
}
}
server {
listen 80;
server_name md.turtlebasket.ml;
location / {
proxy_pass http://192.168.1.25:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name money.turtlebasket.ml;
location / {
proxy_pass http://192.168.1.25:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name iot.turtlebasket.ml;
location / {
proxy_pass http://192.168.1.25:8123;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Critical for websockets, which Home Assistant uses
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}