summary refs log tree commit diff
path: root/contrib/snap/snapcraft.yaml
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2022-03-02 19:22:44 +0000
committerGitHub <noreply@github.com>2022-03-02 19:22:44 +0000
commit11282ade1d8deeafa042a639e2685472d6347e69 (patch)
treeabbda189d9e5ccbf17501c5e553d7c48ade6680b /contrib/snap/snapcraft.yaml
parentAdd suffices to scripts in scripts-dev (#12137) (diff)
downloadsynapse-11282ade1d8deeafa042a639e2685472d6347e69.tar.xz
Move the `snapcraft` configuration to `contrib`. (#12142)
* Move the `snapcraft` configuration to `contrib`.

We're happy for people to package this as a snap image if it's useful,
but we don't support or maintain it. I'd like to move the config to
`contrib` to reflect this state of affairs.

* Changelog
Diffstat (limited to 'contrib/snap/snapcraft.yaml')
-rw-r--r--contrib/snap/snapcraft.yaml57
1 files changed, 57 insertions, 0 deletions
diff --git a/contrib/snap/snapcraft.yaml b/contrib/snap/snapcraft.yaml
new file mode 100644
index 0000000000..dd4c8478d5
--- /dev/null
+++ b/contrib/snap/snapcraft.yaml
@@ -0,0 +1,57 @@
+name: matrix-synapse
+base: core18
+version: git
+summary: Reference Matrix homeserver
+description: |
+  Synapse is the reference Matrix homeserver.
+  Matrix is a federated and decentralised instant messaging and VoIP system.
+
+grade: stable
+confinement: strict
+
+apps:
+  matrix-synapse:
+    command: synctl --no-daemonize start $SNAP_COMMON/homeserver.yaml
+    stop-command: synctl -c $SNAP_COMMON stop
+    plugs: [network-bind, network]
+    daemon: simple
+  hash-password:
+    command: hash_password
+  generate-config:
+    command: generate_config
+  generate-signing-key:
+    command: generate_signing_key
+  register-new-matrix-user:
+    command: register_new_matrix_user
+    plugs: [network]
+  synctl:
+    command: synctl
+parts:
+  matrix-synapse:
+    source: .
+    plugin: python
+    python-version: python3
+    python-packages:
+      - '.[all]'
+      - pip
+      - setuptools
+      - setuptools-scm
+      - wheel
+    build-packages:
+      - libffi-dev
+      - libturbojpeg0-dev
+      - libssl-dev
+      - libxslt1-dev
+      - libpq-dev
+      - zlib1g-dev
+    stage-packages:
+      - libasn1-8-heimdal
+      - libgssapi3-heimdal
+      - libhcrypto4-heimdal
+      - libheimbase1-heimdal
+      - libheimntlm0-heimdal
+      - libhx509-5-heimdal
+      - libkrb5-26-heimdal
+      - libldap-2.4-2
+      - libpq5
+      - libsasl2-2