first version of working infra
This commit is contained in:
@@ -1,14 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Docker
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
Image=docker.io/postgres:alpine
|
|
||||||
Pod=synapse.pod
|
|
||||||
Volume=postgres.volume:/var/lib/postgresql/data
|
|
||||||
Environment=POSTGRES_USER=synapse
|
|
||||||
Environment=POSTGRES_PASSWORD=changeme
|
|
||||||
Environment=POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
|
||||||
Network=synapse.network
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=always
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[Kube]
|
||||||
|
Yaml=postgres.yml
|
||||||
|
Network=synapse.network
|
||||||
@@ -1 +0,0 @@
|
|||||||
[Volume]
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: postgres-data
|
||||||
|
labels:
|
||||||
|
app: postgres
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 20Gi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: postgres
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: postgres
|
||||||
|
image: docker.io/postgres:17-alpine
|
||||||
|
volumeMounts:
|
||||||
|
- name: postgres-data-pvc
|
||||||
|
mountPath: /var/lib/postgresql/data
|
||||||
|
env:
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
value: changeme
|
||||||
|
- name: POSTGRES_USER
|
||||||
|
value: synapse
|
||||||
|
- name: POSTGRES_DB
|
||||||
|
value: synapse
|
||||||
|
- name: POSTGRES_INITDB_ARGS
|
||||||
|
value: --encoding=UTF8 --locale=C
|
||||||
|
volumes:
|
||||||
|
- name: postgres-data-pvc
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: postgres-data
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: synapse-config
|
||||||
|
data:
|
||||||
|
homeserver.yaml: |
|
||||||
|
server_name: "test.legonzaur.fr"
|
||||||
|
pid_file: /data/homeserver.pid
|
||||||
|
listeners:
|
||||||
|
- port: 8008
|
||||||
|
tls: false
|
||||||
|
type: http
|
||||||
|
x_forwarded: true
|
||||||
|
resources:
|
||||||
|
- names: [client, federation]
|
||||||
|
compress: false
|
||||||
|
database:
|
||||||
|
name: psycopg2
|
||||||
|
args:
|
||||||
|
user: synapse
|
||||||
|
password: changeme
|
||||||
|
dbname: synapse
|
||||||
|
host: postgres
|
||||||
|
cp_min: 5
|
||||||
|
cp_max: 10
|
||||||
|
log_config: "/data/test.legonzaur.fr.log.config"
|
||||||
|
media_store_path: /data/media_store
|
||||||
|
registration_shared_secret: "8bn6seIG;1#0p9d~Y~d17*~mehlG-@DDJ~W8Yg9r4B,77*D;Uy"
|
||||||
|
report_stats: true
|
||||||
|
macaroon_secret_key: "@.fx9y+rL_JSE0;7PPYrBuI&,sa;mXHLeFywLgWlDSg;3faNCx"
|
||||||
|
form_secret: "qu6DRGb.1H*Pe:tE4r+E~ZvND.UKiIusz~TwOMz,TLVUpX#9vi"
|
||||||
|
signing_key_path: "/data/test.legonzaur.fr.signing.key"
|
||||||
|
trusted_key_servers:
|
||||||
|
- server_name: "matrix.org"
|
||||||
@@ -1 +0,0 @@
|
|||||||
[Volume]
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Synapse init container
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
Image=docker.io/matrixdotorg/synapse:latest
|
|
||||||
Pod=synapse.pod
|
|
||||||
Volume=synapse-data.volume:/data
|
|
||||||
Environment=SYNAPSE_SERVER_NAME=test.legonzaur.fr
|
|
||||||
Environment=SYNAPSE_REPORT_STATS=no
|
|
||||||
Exec=generate
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[Volume]
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[Volume]
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Synapse
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
Image=docker.io/matrixdotorg/synapse:latest
|
|
||||||
Pod=synapse.pod
|
|
||||||
Volume=synapse-data.volume:/data
|
|
||||||
Volume=synapse-uploads.volume:/data/uploads
|
|
||||||
Volume=synapse-media.volume:/data/media
|
|
||||||
Environment=SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
|
|
||||||
Network=synapse.network
|
|
||||||
PublishPort=8008:8008
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=always
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Requires=postgres.service
|
||||||
|
After=postgres.service
|
||||||
|
|
||||||
|
[Kube]
|
||||||
|
Yaml=synapse.yml
|
||||||
|
|
||||||
|
Network=synapse.network
|
||||||
|
|
||||||
|
PublishPort=8008:8008
|
||||||
|
ConfigMap=synapse-configmap.yml
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
[Network]
|
[Network]
|
||||||
@@ -1 +0,0 @@
|
|||||||
[Pod]
|
|
||||||
+86
@@ -0,0 +1,86 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: synapse-media
|
||||||
|
labels:
|
||||||
|
app: synapse
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 20Gi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: synapse-uploads
|
||||||
|
labels:
|
||||||
|
app: synapse
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 20Gi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: synapse-data
|
||||||
|
labels:
|
||||||
|
app: synapse
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 20Gi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: synapse
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: synapse-init
|
||||||
|
image: docker.io/matrixdotorg/synapse:latest
|
||||||
|
args: ["generate"]
|
||||||
|
volumeMounts:
|
||||||
|
- name: synapse-data-pvc
|
||||||
|
mountPath: /data
|
||||||
|
env:
|
||||||
|
- name: SYNAPSE_SERVER_NAME
|
||||||
|
value: test.legonzaur.fr
|
||||||
|
- name: SYNAPSE_REPORT_STATS
|
||||||
|
value: no
|
||||||
|
containers:
|
||||||
|
- name: synapse
|
||||||
|
image: docker.io/matrixdotorg/synapse:latest
|
||||||
|
volumeMounts:
|
||||||
|
- name: synapse-data-pvc
|
||||||
|
mountPath: /data
|
||||||
|
- name: synapse-uploads-pvc
|
||||||
|
mountPath: /data/uploads
|
||||||
|
- name: synapse-media-pvc
|
||||||
|
mountPath: /data/media
|
||||||
|
- name: synapse-config
|
||||||
|
readOnly: true
|
||||||
|
mountPath: /data/homeserver.yaml
|
||||||
|
subPath: homeserver.yaml
|
||||||
|
volumes:
|
||||||
|
- name: synapse-config
|
||||||
|
configMap:
|
||||||
|
name: synapse-config
|
||||||
|
- name: synapse-data-pvc
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: synapse-data
|
||||||
|
- name: synapse-uploads-pvc
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: synapse-uploads
|
||||||
|
- name: synapse-media-pvc
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: synapse-media
|
||||||
Reference in New Issue
Block a user