--- apiVersion: v1 kind: Service metadata: name: foundryvtt labels: app: foundryvtt spec: selector: app: foundryvtt type: ClusterIP ports: - port: 8080 targetPort: http protocol: TCP name: http --- apiVersion: apps/v1 kind: Deployment metadata: name: foundryvtt spec: selector: matchLabels: app: foundryvtt revisionHistoryLimit: 1 replicas: 1 template: metadata: annotations: # gethomepage.dev/enabled: "true" # gethomepage.dev/href: https://library.nc.landry.land # gethomepage.dev/name: "FoundryVTT" # gethomepage.dev/description: "Virtual-tabletop" # gethomepage.dev/group: "Games" # gethomepage.dev/icon: "foundryvtt.png" labels: app: foundryvtt spec: containers: - name: foundryvtt image: pgschk/foundryvtt-containerized:latest ports: - name: http protocol: TCP containerPort: 8080 volumeMounts: - name: foundryvtt-data mountPath: /data/foundryvtt - name: foundryvtt-install mountPath: /usr/src/app/foundryvtt resources: requests: cpu: 150m memory: 500Mi limits: cpu: 1000m memory: 2000Mi securityContext: runAsUser: 1000 startupProbe: httpGet: path: / port: http failureThreshold: 60 periodSeconds: 10 terminationGracePeriodSeconds: 1200 volumes: - name: foundryvtt-data persistentVolumeClaim: claimName: foundryvtt-data - name: foundryvtt-install persistentVolumeClaim: claimName: foundryvtt-install --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: foundryvtt-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: foundryvtt-install spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: cert-manager.io/cluster-issuer: letsencrypt-issuer gethomepage.dev/enabled: "true" gethomepage.dev/name: "FoundryVTT" gethomepage.dev/description: "Virtual-tabletop" gethomepage.dev/group: "Games" gethomepage.dev/icon: "foundryvtt.png" nginx.ingress.kubernetes.io/proxy-body-size: "1g" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/proxy-send-timeout: "600" name: foundryvtt labels: name: foundryvtt spec: rules: - host: vtt.nc.landry.land http: paths: - backend: service: name: foundryvtt port: number: 8080 path: / pathType: Prefix tls: - hosts: - vtt.nc.landry.land secretName: foundryvtt-tls