7b084dbddd
Two self-hosted apps behind traefik, both keeping their state on the GlusterFS volume that is mounted on every node: - dashwise (home.wittyoneoff.com) is an all-in-one image running its web server, a bundled PocketBase and valkey side by side. Only port 3000 is published: the frontend resolves its backend as window.location.origin and every PocketBase call is made server-side, so 8090 stays inside the pod. It is on the service so the PocketBase admin UI can be reached with kubectl port-forward. - tududi (tududi.wittyoneoff.com) stores a SQLite database and user uploads. Both are VOLUMEs in the image, so both are backed by the claim -- as one volume mounted twice with subPath, because naming the same claim as two volume entries wedges kubelet, which is what happened with limesurvey. Both images are pinned to tags that publish an arm64 manifest. dashwise :latest and :stable are amd64 only and would not start on these nodes. Namespaces and secrets are applied out of band, as with the other apps. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
16 lines
441 B
YAML
16 lines
441 B
YAML
# Copy to secret.yaml (gitignored), set real values, and apply once:
|
|
# kubectl apply -f secret.yaml
|
|
# user-email / user-password are the login tududi creates on first start.
|
|
# session-secret signs session cookies -- generate with:
|
|
# openssl rand -hex 64
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: tududi
|
|
namespace: tududi
|
|
type: Opaque
|
|
stringData:
|
|
user-email: you@example.com
|
|
user-password: CHANGE-ME
|
|
session-secret: CHANGE-ME
|