Kubernetes.K3s.installLog/services/_archived/Mastodon/deploy-Mastodon.yml

226 lines
5.1 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: mastodon
spec:
ports:
- protocol: TCP
name: web
port: 3000
- protocol: TCP
name: api
port: 4000
- protocol: TCP
name: db
port: 5432
- protocol: TCP
name: redis
port: 6379
selector:
app: mastodon
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mastodon
labels:
app: mastodon
spec:
replicas: 1
selector:
matchLabels:
app: mastodon
template:
metadata:
labels:
app: mastodon
spec:
containers:
- name: web
image: bv11-cr01.bessems.eu/proxy/tootsuite/mastodon
args:
- bash
- -c
- 'rm -f /mastodon/tmp/pids/server.pid; bundle exec rails db:migrate; bundle exec rails s -p 3000'
envFrom:
- configMapRef:
name: configmap-mastodon
ports:
- name: web
containerPort: 3000
volumeMounts:
- mountPath: /mastodon/public/system
name: flexvolsmb-mastodon-system
- name: api
image: bv11-cr01.bessems.eu/proxy/tootsuite/mastodon
args:
- node
- ./streaming
envFrom:
- configMapRef:
name: configmap-mastodon
ports:
- name: api
containerPort: 4000
- name: backend
image: bv11-cr01.bessems.eu/proxy/tootsuite/mastodon
args:
- bundle
- exec
- sidekiq
envFrom:
- configMapRef:
name: configmap-mastodon
volumeMounts:
- mountPath: /mastodon/public/system
name: flexvolsmb-mastodon-system
- name: postgres
image: bv11-cr01.bessems.eu/proxy/library/postgres:14-alpine
env:
- name: POSTGRES_USER
value: mastodon
- name: POSTGRES_PASSWORD
value: mastodon
- name: POSTGRES_DB
value: mastodon
ports:
- name: db
containerPort: 5432
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: flexvolsmb-mastodon-db
- name: redis
image: bv11-cr01.bessems.eu/proxy/library/redis:alpine
# args:
# - redis-server
# - --requirepass mastodon
# - --appendonly yes
ports:
- name: redis
containerPort: 6379
volumeMounts:
- name: flexvolsmb-mastodon-redis
mountPath: /data
volumes:
- name: flexvolsmb-mastodon-system
persistentVolumeClaim:
claimName: flexvolsmb-mastodon-system
- name: flexvolsmb-mastodon-db
persistentVolumeClaim:
claimName: flexvolsmb-mastodon-db
- name: flexvolsmb-mastodon-redis
persistentVolumeClaim:
claimName: flexvolsmb-mastodon-redis
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: mastodon
spec:
entryPoints:
- websecure
routes:
- match: Host(`st.itch.fyi`)
kind: Rule
services:
- name: mastodon
port: 3000
middlewares:
- name: security-headers@file
- name: compression@file
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-mastodon-db
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-mastodon-db
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0600,dir_mode=0700,uid=70,gid=70,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/mastodon/db
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-mastodon-db
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-mastodon-db
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-mastodon-redis
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-mastodon-redis
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0700,dir_mode=0700,uid=999,gid=1000,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/mastodon/redis
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-mastodon-redis
namespace: default
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-mastodon-redis
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-mastodon-system
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-mastodon-system
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0755,dir_mode=0755,uid=991,gid=991,iocharset=utf8
server: 192.168.11.225
share: /K3s.Volumes/mastodon/system
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-mastodon-system
namespace: default
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-mastodon-system
resources:
requests:
storage: 1Gi