diff options
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 - } - } - } -} |