diff --git a/servers/link/README.md b/servers/link/README.md new file mode 100644 index 0000000..a230e68 --- /dev/null +++ b/servers/link/README.md @@ -0,0 +1 @@ +server configuration for `link`. diff --git a/servers/link/docker-compose.d/README.md b/servers/link/docker-compose.d/README.md new file mode 100644 index 0000000..26b9ae3 --- /dev/null +++ b/servers/link/docker-compose.d/README.md @@ -0,0 +1 @@ +This folder houses all docker-compose files \ No newline at end of file diff --git a/servers/link/docker-compose.d/custom/gatus/Dockerfile b/servers/link/docker-compose.d/custom/gatus/Dockerfile new file mode 100644 index 0000000..e08d851 --- /dev/null +++ b/servers/link/docker-compose.d/custom/gatus/Dockerfile @@ -0,0 +1,3 @@ +FROM twinproduction/gatus:v5.4.0 + +COPY ./config.yaml /config/config.yaml \ No newline at end of file diff --git a/servers/link/docker-compose.d/custom/gatus/config.yaml b/servers/link/docker-compose.d/custom/gatus/config.yaml new file mode 100644 index 0000000..c6ce879 --- /dev/null +++ b/servers/link/docker-compose.d/custom/gatus/config.yaml @@ -0,0 +1,213 @@ +ui: + title: "IXVD - Status Page" + header: "IXVD's Status Page" + description: "This is the status page for IXVD. Here you can check what's going on!" + buttons: + - name: Home + link: "https://ixvd.net" + - name: Issues + link: "https://git.ixvd.net/ixvd/hub/issues" + +alerting: + ntfy: + url: "https://push.ixvd.net" + topic: "alerts" + default-alert: + failure-threshold: 3 + send-on-resolved: true + +x-default-endpoint: &default + interval: 10m + group: misc + ui: &default-ui + hide-url: true + conditions: &default-conditions + - "[CONNECTED] == true" + +x-http-endpoint: &default-http + <<: *default + group: http + conditions: &default-http-conditions + - "[STATUS] == 200" + +x-icmp-endpoint: &default-icmp + <<: *default + group: icmp + +endpoints: + + # SERVERS # + + - name: link + <<: *default-icmp + group: servers + url: "icmp://link.ixvd.net" + + - name: keymaker + <<: *default-icmp + group: servers + url: "icmp://keymaker.ixvd.net" + + - name: apoc + <<: *default-icmp + group: servers + url: "icmp://apoc.ixvd.net" + + - name: kid + <<: *default-icmp + group: servers + url: "icmp://kid.ixvd.net" + + - name: mouse + <<: *default-icmp + group: servers + url: "icmp://mouse.ixvd.net" + + # CLOUD # + + - name: cryptpad + <<: *default-http + group: cloud + url: "https://pad.ixvd.net" + + - name: "cryptpad sandbox" + <<: *default-http + group: cloud + url: "https://pad.sandbox.neo.ixvd.net" + ui: + hide-hostname: true + + - name: microbin + <<: *default-http + group: cloud + url: "https://bin.ixvd.net" + + # DEVOPS # + + - name: gitea + <<: *default-http + group: devops + url: "https://git.ixvd.net" + + - name: woodpecker + <<: *default-http + group: devops + url: "https://ci.ixvd.net" + + - name: grafana + <<: *default-http + group: devops + url: "https://grafana.neo.faulty.nl" + + # UTILS # + + - name: shlink + <<: *default + group: utils + url: "tcp://via.ixvd.net:80" + + - name: ntfy + <<: *default-http + group: utils + url: "https://push.ixvd.net" + + - name: speedtest + <<: *default-http + group: utils + url: "https://neo.ixvd.net" + + - name: searx + <<: *default-http + group: utils + url: "https://search.faulty.nl" + ui: + hide-hostname: true + + - name: libretranslate + <<: *default-http + group: utils + url: "https://translate.ixvd.net" + + - name: pgadmin + <<: *default-http + group: utils + url: "https://pgadmin.neo.ixvd.net" + + # SOCIAL # + + - name: matrix + <<: *default-http + group: social + url: "https://matrix.neo.ixvd.net/_matrix/client/versions" + + - name: firefish + <<: *default-http + group: social + url: "https://fedi.ixvd.net" + + - name: invidious + <<: *default-http + group: social + url: "https://yt.ixvd.net" + + - name: cinny + <<: *default-http + group: social + url: "https://cinny.neo.ixvd.net" + + # GAMES # + + - name: velocity + <<: *default + group: games + url: "tcp://ixvd.net:25565" + ui: + hide-url: true + + # AUTH # + + - name: keycloak + <<: *default-http + group: auth + url: "https://my.ixvd.net" + + # internal # + + - name: proxy + <<: *default-icmp + group: internal + url: "icmp://nginx" + ui: + hide-url: true + + # mail # + + - name: webmail + <<: *default-http + group: mail + url: "https://mail.ixvd.net" + ui: + hide-hostname: true + + - name: imap + <<: *default + group: mail + url: "tcp://mail.ixvd.net:993" + ui: + hide-url: true + + - name: smtp + <<: *default + group: mail + url: "tcp://mail.ixvd.net:465" + ui: + hide-url: true + + # personal # + + - name: home + <<: *default-http + group: personal + url: "https://home.famslof.nl" + ui: + hide-hostname: true \ No newline at end of file diff --git a/servers/link/docker-compose.d/custom/nginx/Dockerfile b/servers/link/docker-compose.d/custom/nginx/Dockerfile new file mode 100644 index 0000000..6bb5b49 --- /dev/null +++ b/servers/link/docker-compose.d/custom/nginx/Dockerfile @@ -0,0 +1,13 @@ +FROM nginx:alpine + +RUN apk add \ + certbot \ + certbot-nginx + +COPY content /usr/share/nginx/html +COPY conf.d/ /etc/nginx/conf.d/ +COPY nginx.conf /etc/nginx/nginx.conf + +COPY entrypoint.sh /entrypoint +ENTRYPOINT [ "sh", "/entrypoint" ] +CMD [ "nginx", "-g", "daemon off;" ] \ No newline at end of file diff --git a/servers/link/docker-compose.d/custom/nginx/conf.d/default.conf b/servers/link/docker-compose.d/custom/nginx/conf.d/default.conf new file mode 100644 index 0000000..7c8d4b2 --- /dev/null +++ b/servers/link/docker-compose.d/custom/nginx/conf.d/default.conf @@ -0,0 +1,17 @@ +server { + listen 80; + server_name link.ixvd.net; + + # SSL is managed by certbot, no need for a ssl listen; it will be generated automagically! + + # default html page + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} diff --git a/servers/link/docker-compose.d/custom/nginx/conf.d/gatus.conf b/servers/link/docker-compose.d/custom/nginx/conf.d/gatus.conf new file mode 100644 index 0000000..f9c6370 --- /dev/null +++ b/servers/link/docker-compose.d/custom/nginx/conf.d/gatus.conf @@ -0,0 +1,8 @@ +server { + listen 80; + server_name s.ixvd.net; + + location / { + proxy_pass http://gatus:8080$request_uri; + } +} \ No newline at end of file diff --git a/servers/link/docker-compose.d/custom/nginx/conf.d/ntfy.conf b/servers/link/docker-compose.d/custom/nginx/conf.d/ntfy.conf new file mode 100644 index 0000000..13b7049 --- /dev/null +++ b/servers/link/docker-compose.d/custom/nginx/conf.d/ntfy.conf @@ -0,0 +1,8 @@ +server { + listen 80; + server_name push.ixvd.net; + + location / { + proxy_pass http://ntfy$request_uri; + } +} \ No newline at end of file diff --git a/servers/link/docker-compose.d/custom/nginx/content/index.html b/servers/link/docker-compose.d/custom/nginx/content/index.html new file mode 100644 index 0000000..c66cf70 --- /dev/null +++ b/servers/link/docker-compose.d/custom/nginx/content/index.html @@ -0,0 +1,26 @@ + + + +
+