aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-11-29 22:03:48 +0100
committerAlex Auvolat <alex@adnab.me>2022-11-29 22:03:48 +0100
commit1ac979080677f28a432e5a730ded0b7834e59879 (patch)
tree0179a21860ade4ee507b0808d97961109496bd9b
parentab7a7701682074e2f074c3195fcb138305db8f0e (diff)
downloadnixcfg-1ac979080677f28a432e5a730ded0b7834e59879.tar.gz
nixcfg-1ac979080677f28a432e5a730ded0b7834e59879.zip
Staging: remove Docker-based synapse config
-rw-r--r--cluster/staging/app/im/build/matrix-synapse/Dockerfile54
-rwxr-xr-xcluster/staging/app/im/build/matrix-synapse/entrypoint.sh3
-rwxr-xr-xcluster/staging/app/im/build/matrix-synapse/matrix-s3-async16
-rwxr-xr-xcluster/staging/app/im/build/matrix-synapse/matrix-s3-async-sqlite13
-rw-r--r--cluster/staging/app/im/deploy/im.hcl175
5 files changed, 0 insertions, 261 deletions
diff --git a/cluster/staging/app/im/build/matrix-synapse/Dockerfile b/cluster/staging/app/im/build/matrix-synapse/Dockerfile
deleted file mode 100644
index 0496b19..0000000
--- a/cluster/staging/app/im/build/matrix-synapse/Dockerfile
+++ /dev/null
@@ -1,54 +0,0 @@
-FROM amd64/debian:buster as builder
-
-ARG VERSION
-ARG S3_VERSION
-RUN apt-get update && \
- apt-get -qq -y full-upgrade && \
- apt-get install -y \
- python3 \
- python3-pip \
- python3-dev \
- python3-setuptools \
- libffi-dev \
- build-essential \
- libssl-dev \
- libjpeg-dev \
- libjpeg62-turbo-dev \
- libxml2-dev \
- zlib1g-dev \
- # postgresql-dev \
- libpq-dev \
- virtualenv \
- libxslt1-dev \
- git
-
-RUN virtualenv /root/matrix-env -p /usr/bin/python3
-RUN . /root/matrix-env/bin/activate && \
- pip3 install \
- https://github.com/matrix-org/synapse/archive/v${VERSION}.tar.gz#egg=matrix-synapse[matrix-synapse-ldap3,postgres,resources.consent,saml2,url_preview] && \
- pip3 install \
- git+https://github.com/matrix-org/synapse-s3-storage-provider.git@${S3_VERSION}
-
-FROM amd64/debian:buster
-
-RUN apt-get update && \
- apt-get -qq -y full-upgrade && \
- apt-get install -y \
- python3 \
- python3-distutils \
- libffi6 \
- libjpeg62-turbo \
- libssl1.1 \
- libxslt1.1 \
- libpq5 \
- zlib1g \
- libjemalloc2 \
- ca-certificates
-
-ENV LD_PRELOAD /usr/lib/x86_64-linux-gnu/libjemalloc.so.2
-COPY --from=builder /root/matrix-env /root/matrix-env
-COPY matrix-s3-async /usr/local/bin/matrix-s3-async
-COPY matrix-s3-async-sqlite /usr/local/bin/matrix-s3-async-sqlite
-COPY entrypoint.sh /usr/local/bin/entrypoint
-
-ENTRYPOINT ["/usr/local/bin/entrypoint"]
diff --git a/cluster/staging/app/im/build/matrix-synapse/entrypoint.sh b/cluster/staging/app/im/build/matrix-synapse/entrypoint.sh
deleted file mode 100755
index b93a702..0000000
--- a/cluster/staging/app/im/build/matrix-synapse/entrypoint.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-. /root/matrix-env/bin/activate
-exec "$@"
diff --git a/cluster/staging/app/im/build/matrix-synapse/matrix-s3-async b/cluster/staging/app/im/build/matrix-synapse/matrix-s3-async
deleted file mode 100755
index e435144..0000000
--- a/cluster/staging/app/im/build/matrix-synapse/matrix-s3-async
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-cat > database.yaml <<EOF
-user: $PG_USER
-password: $PG_PASS
-database: $PG_DB
-host: $PG_HOST
-port: $PG_PORT
-EOF
-
-while true; do
- /root/matrix-env/bin/s3_media_upload update-db 0d
- /root/matrix-env/bin/s3_media_upload --no-progress check-deleted /var/lib/matrix-synapse/media
- /root/matrix-env/bin/s3_media_upload --no-progress upload /var/lib/matrix-synapse/media matrix --delete --endpoint-url https://garage.deuxfleurs.fr
- sleep 600
-done
diff --git a/cluster/staging/app/im/build/matrix-synapse/matrix-s3-async-sqlite b/cluster/staging/app/im/build/matrix-synapse/matrix-s3-async-sqlite
deleted file mode 100755
index 4bba072..0000000
--- a/cluster/staging/app/im/build/matrix-synapse/matrix-s3-async-sqlite
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-cat > database.yaml <<EOF
-sqlite:
- database: $SYNAPSE_SQLITE_DB
-EOF
-
-while true; do
- /root/matrix-env/bin/s3_media_upload update-db 0d
- /root/matrix-env/bin/s3_media_upload --no-progress check-deleted $SYNAPSE_MEDIA_STORE
- /root/matrix-env/bin/s3_media_upload --no-progress upload $SYNAPSE_MEDIA_STORE $SYNAPSE_MEDIA_S3_BUCKET --delete --endpoint-url $S3_ENDPOINT
- sleep 600
-done
diff --git a/cluster/staging/app/im/deploy/im.hcl b/cluster/staging/app/im/deploy/im.hcl
deleted file mode 100644
index 5d5d8bb..0000000
--- a/cluster/staging/app/im/deploy/im.hcl
+++ /dev/null
@@ -1,175 +0,0 @@
-job "im" {
- datacenters = ["neptune"]
- type = "service"
-
- group "synapse" {
- count = 1
-
- network {
- port "http" {
- to = 8008
- }
- }
-
- ephemeral_disk {
- size = 10000
- }
-
- restart {
- attempts = 10
- delay = "30s"
- }
-
- constraint {
- attribute = "${attr.unique.hostname}"
- operator = "!="
- value = "caribou"
- }
-
- task "restore-db" {
- lifecycle {
- hook = "prestart"
- sidecar = false
- }
-
- driver = "docker"
- config {
- image = "litestream/litestream:0.3.7"
- args = [
- "restore", "-config", "/etc/litestream.yml", "/ephemeral/homeserver.db"
- ]
- volumes = [
- "../alloc/data:/ephemeral",
- "secrets/litestream.yml:/etc/litestream.yml"
- ]
- }
-
- template {
- data = file("../config/litestream.yml")
- destination = "secrets/litestream.yml"
- }
-
- resources {
- memory = 100
- memory_max = 1000
- cpu = 1000
- }
- }
-
- task "synapse" {
- driver = "docker"
- config {
- image = "lxpz/amd64_synapse:1.49.2-4"
- ports = [ "http" ]
-
- command = "python"
- args = [
- "-m", "synapse.app.homeserver",
- "-n",
- "-c", "/etc/matrix-synapse/homeserver.yaml"
- ]
-
- volumes = [
- "secrets:/etc/matrix-synapse",
- "../alloc/data:/ephemeral",
- ]
- }
-
- template {
- data = file("../config/homeserver.yaml")
- destination = "secrets/homeserver.yaml"
- }
-
- template {
- data = file("../config/synapse.log.config.yaml")
- destination = "secrets/synapse.log.config.yaml"
- }
-
- template {
- data = "{{ key \"secrets/synapse/signing_key\" }}"
- destination = "secrets/signing_key"
- }
-
- resources {
- memory = 2000
- memory_max = 3000
- cpu = 1000
- }
-
- service {
- port = "http"
- tags = [
- "tricot matrix.home.adnab.me 100",
- "tricot matrix.home.adnab.me:443 100",
- "tricot-add-header Access-Control-Allow-Origin *",
- ]
- check {
- type = "http"
- path = "/"
- interval = "10s"
- timeout = "2s"
- }
- }
- }
-
- task "media-async-upload" {
- driver = "docker"
-
- config {
- image = "lxpz/amd64_synapse:1.49.2-4"
- readonly_rootfs = true
- command = "/usr/local/bin/matrix-s3-async-sqlite"
- work_dir = "/ephemeral"
- volumes = [
- "../alloc/data:/ephemeral",
- ]
- }
-
- resources {
- cpu = 100
- memory = 100
- memory_max = 500
- }
-
- template {
- data = <<EOH
-SYNAPSE_SQLITE_DB=/ephemeral/homeserver.db
-SYNAPSE_MEDIA_STORE=/ephemeral/media_store
-SYNAPSE_MEDIA_S3_BUCKET=synapse-data
-AWS_ACCESS_KEY_ID={{ key "secrets/synapse/s3_access_key" | trimSpace }}
-AWS_SECRET_ACCESS_KEY={{ key "secrets/synapse/s3_secret_key" | trimSpace }}
-AWS_DEFAULT_REGION=garage-staging
-S3_ENDPOINT=http://{{ env "attr.unique.network.ip-address" }}:3990
-
-EOH
- destination = "secrets/env"
- env = true
- }
- }
-
- task "replicate-db" {
- driver = "docker"
- config {
- image = "litestream/litestream:0.3.7"
- args = [
- "replicate", "-config", "/etc/litestream.yml"
- ]
- volumes = [
- "../alloc/data:/ephemeral",
- "secrets/litestream.yml:/etc/litestream.yml"
- ]
- }
-
- template {
- data = file("../config/litestream.yml")
- destination = "secrets/litestream.yml"
- }
-
- resources {
- memory = 200
- memory_max = 1000
- cpu = 100
- }
- }
- }
-}