summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/matrix-conduit.yml
blob: dd1b1cf44efb6acd8617ff4dc4b87fe56368d709 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
captainVersion: 4
services:
    $$cap_appname:
        image: matrixconduit/matrix-conduit:$$cap_conduit_version
        restart: unless-stopped
        environment:
            CONDUIT_SERVER_NAME: '$$cap_conduit_server_name'
            CONDUIT_DATABASE_BACKEND: 'rocksdb'
            CONDUIT_ALLOW_REGISTRATION: '$$cap_conduit_allow_registration'
            CONDUIT_ALLOW_FEDERATION: '$$cap_conduit_allow_federation'
            CONDUIT_MAX_REQUEST_SIZE: '$$cap_conduit_max_request_size'
            CONDUIT_TRUSTED_SERVERS: '["matrix.org"]'
            CONDUIT_MAX_CONCURRENT_REQUESTS: '$$cap_conduit_max_concurrent_requests'
            CONDUIT_LOG: 'info,rocket=off,_=off,sled=off'
        volumes:
            - '$$cap_appname-data:/var/lib/matrix-conduit'
        caproverExtra:
            containerHttpPort: '6167'

caproverOneClickApp:
    variables:
        - id: '$$cap_conduit_version'
          label: Conduit Version
          defaultValue: 'v0.4.0'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/matrixconduit/matrix-conduit/tags
          validRegex: '/^v[0-9]{1,}|latest$/'
        - id: '$$cap_conduit_server_name'
          label: 'Conduit server name'
          defaultValue: 'example.com'
          description: >-
              The domain part for your usernames (e.g. @myusername:example.com).

              You will need to set up .well-known files on that domain (for our example https://example.com/.well-known/matrix/...)
              to point to your actual domain (which will probably be something like appname.apps.your-caprover-domain.com).

              You might find the Synapse documentation useful for this: https://matrix-org.github.io/synapse/latest/setup/installation.html#client-well-known-uri
        - id: '$$cap_conduit_allow_registration'
          label: Enable public registration
          defaultValue: 'false'
          description: >-
              Set this to true if you want EVERYONE to be able to register.
              It's recommended to set this to false as soon as possible.

              Otherwise, your server might be used by spammers to mass-register accounts,
              which will risk your server being banned by other servers.
          validRegex: '/^(true|false)$/i'
        - id: '$$cap_conduit_allow_federation'
          label: Enable federation with other homeservers
          defaultValue: 'true'
          description: >-
              Set this to false if you don't want your users to talk to users on other Matrix servers.
          validRegex: '/^(true|false)$/i'
        - id: '$$cap_conduit_max_request_size'
          label: Max request size
          defaultValue: '20000000'
          description: >-
              The maximum allowed size for incoming requests, in bytes.

              If you set this higher than 500000000, you will will also need to increase the nginx "client_max_body_size".
          validRegex: '/^[0-9]{2,}$/'
        - id: '$$cap_conduit_max_concurrent_requests'
          label: Maximum number of concurrent requests
          defaultValue: '100'
    instructions:
        start: >-
            Conduit is a simple, fast and reliable chat server powered by the Matrix protocol

            Matrix is build to federate with other servers, so you can communicate with people from other servers.

            More information about matrix can be found here: https://matrix.org/.

            More information about Conduit in particular is available on https://conduit.rs/.
        end: >-
            Almost done.

            Enable and force https in the web interface!

            Unless you have set up .well-known files for other servers to find your server, you can not message users on other servers.

            To set up a .well-known file for Clients, go to https://matrix-org.github.io/synapse/latest/setup/installation.html#client-well-known-uri

            Else, $$cap_appname.$$cap_root_domain is the domain you enter in the custom homeserver field of your client.

            Remember this is just the server, you also need a client like https://app.element.io/ to use this app.

    displayName: 'Matrix Conduit'
    isOfficial: true
    description: 'Server for the matrix protocol, written in Rust'
    documentation: 'https://gitlab.com/famedly/conduit/-/blob/next/README.md'