initial import
This commit is contained in:
parent
98e244df45
commit
6753d2b62c
49
docker-compose.yaml
Normal file
49
docker-compose.yaml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
# cloudflared tunnel create ytmd
|
||||||
|
# cloudflared tunnel route dns ytmd ytmd.strudelline.net
|
||||||
|
# cp ~/.cloudflared/*.json /Volumes/webdav.strudelline.net/docker-compose-mounts/cloudflared
|
||||||
|
#
|
||||||
|
# grab the tunnel-id that's output from the first two commands and open this file again
|
||||||
|
# add the tunnel-id to TUNNELID below
|
||||||
|
|
||||||
|
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
config: {}
|
||||||
|
|
||||||
|
services:
|
||||||
|
main:
|
||||||
|
image: ghcr.io/jamesandariese/ytmd-api:main
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- "HOST=127.0.0.1"
|
||||||
|
cloudflared-configurator:
|
||||||
|
image: debian:11
|
||||||
|
environment:
|
||||||
|
- TUNNELID=4f3aba1c-c226-4e14-800f-ad4b8d30dc60
|
||||||
|
- HOST=ytmd.strudelline.net
|
||||||
|
- SVCPORT=8000
|
||||||
|
command:
|
||||||
|
- bash
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
cat /cloudflared/$${TUNNELID}.json > /config/tunnel.json
|
||||||
|
cat << EOF > /config/cloudflared.yaml
|
||||||
|
tunnel: $${TUNNELID}
|
||||||
|
credentials-file: /config/tunnel.json
|
||||||
|
ingress:
|
||||||
|
- hostname: ytmd.strudelline.net
|
||||||
|
service: http://localhost:$${SVCPORT}
|
||||||
|
- service: http_status:404
|
||||||
|
EOF
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker-compose-mounts/cloudflared:/cloudflared
|
||||||
|
- config:/config
|
||||||
|
cloudflared:
|
||||||
|
image: cloudflare/cloudflared:latest
|
||||||
|
restart: always
|
||||||
|
depends_on: {"cloudflared-configurator": {"condition": "service_completed_successfully"}}
|
||||||
|
volumes:
|
||||||
|
- config:/config
|
||||||
|
command: tunnel --config /config/cloudflared.yaml run
|
||||||
|
network_mode: service:main
|
24
manifests/deployment.yaml
Normal file
24
manifests/deployment.yaml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
namespace: ytmd
|
||||||
|
name: ytmd
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: ytmd
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: ytmd
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: HOST
|
||||||
|
value: 0.0.0.0
|
||||||
|
image: ghcr.io/jamesandariese/ytmd-api:main
|
||||||
|
name: ytmd
|
||||||
|
restartPolicy: Always
|
24
manifests/ingress.yaml
Normal file
24
manifests/ingress.yaml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: ytmd
|
||||||
|
namespace: ytmd
|
||||||
|
annotations:
|
||||||
|
haproxy-ingress.github.io/ssl-redirect: "true"
|
||||||
|
spec:
|
||||||
|
ingressClassName: haproxy
|
||||||
|
rules:
|
||||||
|
- host: ytmd.strudelline.net
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: ytmd
|
||||||
|
port:
|
||||||
|
number: 8000
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- ytmd.strudelline.net
|
||||||
|
secretName: wildcard-tls
|
4
manifests/ns.yaml
Normal file
4
manifests/ns.yaml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: ytmd
|
17
manifests/svc.yaml
Normal file
17
manifests/svc.yaml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: ytmd
|
||||||
|
name: ytmd
|
||||||
|
namespace: ytmd
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: ytmd
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 8000
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8000
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
Loading…
Reference in New Issue
Block a user