No description
Find a file
2025-10-30 13:47:47 -03:00
cloudflare-certs put the cloudflare-api-token-secret in the correct namespace 2025-07-20 20:33:41 +00:00
rancher add section to create certificate for rancher 2025-07-18 05:15:02 +00:00
traefik remove ---- 2025-07-18 10:17:37 +00:00
forgejo.yaml add ssh support to forgejo 2025-07-20 09:34:48 +00:00
ghost.yaml fix env of email password 2025-08-16 23:20:51 +00:00
Makefile add ghost to makefile listed options 2025-08-23 01:44:07 +00:00
README.md update 2025-10-30 13:47:47 -03:00
syncthing.yaml update syncthing to use k8s operator 2025-07-22 07:08:08 +00:00
uptime-kuma.yaml fix comments 2025-07-21 06:38:37 +00:00
whoami.yaml silence some stupid error 2025-08-12 22:23:05 +00:00

Kubernetes configuration

This is my configuration for kubernetes, values are replaced with envsubst.

Makefile

I have a Makefile that provides targets to do the setup/deployment necessary.

Targets

k3s

Add DNS entry for rancher.${DOMAIN} before setting up k3s

make k3s

cert-manager

make cert_manager

rancher

make rancher

Certs

This creates a certificate issuer using the cloudflare API that responds to the annotation of cert-manager.io/cluster-issuer: letsencrypt-prod, and an accompanying certificate for rancher.

make certs

After a while the page at https://rancher.${DOMAIN} should have a nice valid certificate.

Traefik

Add a little HTTP to HTTPS redirect

make traefik

Whoami

Add DNS entry for whoami.${DOMAIN}

I like to use this to test that everything is working.

make whoami

Forgejo

Add DNS entry for git.${DOMAIN}

Requires port 22 to be unused (e.g. using Tailscale for SSH) as port 22 is redirected to git in the deployment

make forgejo

Syncthing

This will create a complete syncthing setup with the WebUI exposed over your tailscale network, the following components are created:

  1. A namespace called syncthing
  2. Persistent Volume Claims to store syncthing configuration and data via local-storage
  3. A deployment of syncthing
  4. A service that connects to the port 8384 of the deployment
  5. A service that Load Balances the ports 22000 and 21017
  6. An ingress that exposes the port 8384 of the deployment over HTTPS to your tailnet
make syncthing

Uptime-kuma

This will create a uptime-kuma setup with the WebUI exposed over your tailscale network, the following components are created:

  1. A namespace called kuma
  2. Persistent Volume Claims to store uptime-kuma data via local-storage
  3. A deployment of uptime-kuma
  4. A service that connects to the port 3001 of the deployment
  5. An ingress that exposes the port 3001 of the deployment over HTTPS to your tailnet
make uptime_kuma

Ghost

Add DNS entry for blog.${DOMAIN}

This will create a Ghost CMS setup exposed over the blog.${DOMAIN}, it includes sending email over your GMail account (provide the proper variables the Makefile asks for).

Sources

List of sources that helped me set this up: