- Multi-host flake.nix (3x N97 x86_64 + 2x RPi4 aarch64) - Shared modules: k3s-cluster, tailscale, meos-gateway - Node configs: n97-1 (control plane), n97-2/n97-3 (Ollama workers), rpi4-1/rpi4-2 (ARM workers) - K8s manifests: Forgejo, Postgres (CNPG), Umami, OpenBrain, MeOS Dashboard, MCP servers - Bootstrap and DB migration scripts - Migration plan doc (7-day phased rollout)
103 lines
No EOL
2.4 KiB
YAML
103 lines
No EOL
2.4 KiB
YAML
# Forgejo on k3s
|
|
---
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: forgejo
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: forgejo-data
|
|
namespace: forgejo
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
storageClassName: local-path
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: forgejo
|
|
namespace: forgejo
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate
|
|
selector:
|
|
matchLabels:
|
|
app: forgejo
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: forgejo
|
|
spec:
|
|
containers:
|
|
- name: forgejo
|
|
image: codeberg.org/forgejo/forgejo:11.0
|
|
ports:
|
|
- containerPort: 3000
|
|
name: http
|
|
- containerPort: 22
|
|
name: ssh
|
|
env:
|
|
- name: USER_UID
|
|
value: "1000"
|
|
- name: USER_GID
|
|
value: "1000"
|
|
- name: FORGEJO__database__DB_TYPE
|
|
value: postgres
|
|
- name: FORGEJO__database__HOST
|
|
value: postgres-scobleclaw-rw.database.svc.cluster.local:5432
|
|
- name: FORGEJO__database__NAME
|
|
value: forgejo
|
|
- name: FORGEJO__database__USER
|
|
value: forgejo
|
|
- name: FORGEJO__database__PASSWD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: postgres-users
|
|
key: forgejo-password
|
|
- name: FORGEJO__server__ROOT_URL
|
|
value: "https://os.scoble.me/forgejo/"
|
|
- name: FORGEJO__server__HTTP_PORT
|
|
value: "3000"
|
|
- name: FORGEJO__server__DOMAIN
|
|
value: os.scoble.me
|
|
- name: FORGEJO__server__DISABLE_SSH
|
|
value: "false"
|
|
- name: FORGEJO__server__SSH_PORT
|
|
value: "2222"
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /data
|
|
resources:
|
|
requests:
|
|
memory: "256Mi"
|
|
cpu: "250m"
|
|
limits:
|
|
memory: "512Mi"
|
|
cpu: "1"
|
|
volumes:
|
|
- name: data
|
|
persistentVolumeClaim:
|
|
claimName: forgejo-data
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: forgejo
|
|
namespace: forgejo
|
|
spec:
|
|
ports:
|
|
- name: http
|
|
port: 3000
|
|
targetPort: 3000
|
|
- name: ssh
|
|
port: 22
|
|
targetPort: 22
|
|
selector:
|
|
app: forgejo |