Winston Hoy bu gisti düzenledi 2 days ago. Düzenlemeye git
3 files changed, 179 insertions
README.md(dosya oluşturuldu)
| @@ -0,0 +1,9 @@ | |||
| 1 | + | References: | |
| 2 | + | - [Slidge Docs](https://slidge.im/docs/slidge/main/) | |
| 3 | + | - [Snikket Quickstart](https://snikket.org/service/quickstart/) | |
| 4 | + | - [Snikket patch guide for reverse proxy](https://github.com/snikket-im/snikket-web-proxy/pull/26#issue-2836247230) | |
| 5 | + | ||
| 6 | + | redactions/replacements: | |
| 7 | + | - component_secret in each Slidge gateway should match been cfg.lua and --secret in docker-compose | |
| 8 | + | - me@domain.tld should be replaced with your jid | |
| 9 | + | - domain.tld should be replaced by your own hostname | |
docker-compose.yml(dosya oluşturuldu)
| @@ -0,0 +1,123 @@ | |||
| 1 | + | version: "3.3" | |
| 2 | + | ||
| 3 | + | networks: | |
| 4 | + | www: | |
| 5 | + | name: www | |
| 6 | + | external: true | |
| 7 | + | ||
| 8 | + | services: | |
| 9 | + | snikket_proxy: | |
| 10 | + | container_name: snikket-proxy | |
| 11 | + | image: snikket/snikket-web-proxy:dev | |
| 12 | + | env_file: ./conf/snikket.conf | |
| 13 | + | network_mode: host | |
| 14 | + | volumes: | |
| 15 | + | - ./data:/snikket | |
| 16 | + | - /srv/snikket/entrypoint.sh:/entrypoint.sh | |
| 17 | + | - /srv/snikket/etc/nginx/templates/proxy:/etc/nginx/templates/proxy | |
| 18 | + | restart: "unless-stopped" | |
| 19 | + | snikket_portal: | |
| 20 | + | container_name: snikket-portal | |
| 21 | + | image: snikket/snikket-web-portal:dev | |
| 22 | + | network_mode: host | |
| 23 | + | env_file: ./conf/snikket.conf | |
| 24 | + | restart: "unless-stopped" | |
| 25 | + | ||
| 26 | + | snikket_server: | |
| 27 | + | container_name: snikket | |
| 28 | + | image: snikket/snikket-server:dev | |
| 29 | + | network_mode: host | |
| 30 | + | volumes: | |
| 31 | + | - ./data:/snikket | |
| 32 | + | - /srv/snikket/etc/prosody/certs/domain.tld.key:/etc/prosody/certs/domain.tld.key | |
| 33 | + | - /srv/snikket/etc/prosody/certs/domain.tld.crt:/etc/prosody/certs/domain.tld.crt | |
| 34 | + | - /srv/snikket/etc/sv/prosody/wait-for-certs:/etc/sv/prosody/wait-for-certs:ro | |
| 35 | + | env_file: ./conf/snikket.conf | |
| 36 | + | restart: "unless-stopped" | |
| 37 | + | ||
| 38 | + | conversejs: | |
| 39 | + | image: sebp/lighttpd | |
| 40 | + | container_name: conversejs | |
| 41 | + | volumes: | |
| 42 | + | - ./conversejs:/var/www/localhost/htdocs | |
| 43 | + | networks: | |
| 44 | + | - www | |
| 45 | + | restart: unless-stopped | |
| 46 | + | tty: true | |
| 47 | + | ||
| 48 | + | matteridge: | |
| 49 | + | #image: codeberg.org/slidge/matteridge:token-expiry-investigation | |
| 50 | + | image: codeberg.org/slidge/matteridge:main | |
| 51 | + | command: | |
| 52 | + | - "--admins=me@domain.tld" | |
| 53 | + | - "--jid=mattermost.domain.tld" | |
| 54 | + | - "--secret=redacted" | |
| 55 | + | - "--user-jid-validator=.*@domain.tld" | |
| 56 | + | volumes: | |
| 57 | + | - ./slidge_data:/var/lib/slidge | |
| 58 | + | network_mode: host | |
| 59 | + | depends_on: | |
| 60 | + | snikket_server: | |
| 61 | + | condition: service_started | |
| 62 | + | restart: "unless-stopped" | |
| 63 | + | ||
| 64 | + | slidge-whatsapp: | |
| 65 | + | image: codeberg.org/slidge/slidge-whatsapp:main-amd64 | |
| 66 | + | command: | |
| 67 | + | - "--admins=me@domain.tld" | |
| 68 | + | - "--jid=whatsapp.domain.tld" | |
| 69 | + | - "--secret=redacted" | |
| 70 | + | #- "--upload-requester=me@domain.tld" | |
| 71 | + | - "--user-jid-validator=.*@domain.tld" | |
| 72 | + | volumes: | |
| 73 | + | - ./slidge_data:/var/lib/slidge | |
| 74 | + | network_mode: host | |
| 75 | + | depends_on: | |
| 76 | + | snikket_server: | |
| 77 | + | condition: service_started | |
| 78 | + | restart: "unless-stopped" | |
| 79 | + | ||
| 80 | + | matridge: | |
| 81 | + | image: codeberg.org/slidge/matridge | |
| 82 | + | command: | |
| 83 | + | - "--admins=me@domain.tld" | |
| 84 | + | - "--jid=matrix.domain.tld" | |
| 85 | + | - "--secret=redacted" | |
| 86 | + | - "--user-jid-validator=.*@domain.tld" | |
| 87 | + | volumes: | |
| 88 | + | - ./slidge_data:/var/lib/slidge | |
| 89 | + | network_mode: host | |
| 90 | + | depends_on: | |
| 91 | + | snikket_server: | |
| 92 | + | condition: service_started | |
| 93 | + | restart: "unless-stopped" | |
| 94 | + | ||
| 95 | + | slidgram: | |
| 96 | + | image: codeberg.org/slidge/slidgram:main | |
| 97 | + | command: | |
| 98 | + | - "--admins=me@domain.tld" | |
| 99 | + | - "--jid=telegram.domain.tld" | |
| 100 | + | - "--secret=redacted" | |
| 101 | + | - "--user-jid-validator=.*@domain.tld" | |
| 102 | + | volumes: | |
| 103 | + | - ./slidge_data:/var/lib/slidge | |
| 104 | + | network_mode: host | |
| 105 | + | depends_on: | |
| 106 | + | snikket_server: | |
| 107 | + | condition: service_started | |
| 108 | + | restart: "unless-stopped" | |
| 109 | + | ||
| 110 | + | slidgnal: | |
| 111 | + | image: codeberg.org/slidge/slidgnal:main-amd64 | |
| 112 | + | command: | |
| 113 | + | - "--admins=me@domain.tld" | |
| 114 | + | - "--jid=signal.domain.tld" | |
| 115 | + | - "--secret=redacted" | |
| 116 | + | - "--user-jid-validator=.*@domain.tld" | |
| 117 | + | volumes: | |
| 118 | + | - ./slidge_data:/var/lib/slidge | |
| 119 | + | network_mode: host | |
| 120 | + | depends_on: | |
| 121 | + | snikket_server: | |
| 122 | + | condition: service_started | |
| 123 | + | restart: "unless-stopped" | |
slidge.cfg.lua(dosya oluşturuldu)
| @@ -0,0 +1,47 @@ | |||
| 1 | + | local DOMAIN = Lua.assert(ENV_SNIKKET_DOMAIN, "Please set the SNIKKET_DOMAIN environment variable") | |
| 2 | + | ||
| 3 | + | modules_enabled: append { | |
| 4 | + | "privilege"; | |
| 5 | + | } | |
| 6 | + | ||
| 7 | + | local _privileges = { | |
| 8 | + | roster = "both"; | |
| 9 | + | message = "outgoing"; | |
| 10 | + | iq = { | |
| 11 | + | ["http://jabber.org/protocol/pubsub"] = "both"; | |
| 12 | + | ["http://jabber.org/protocol/pubsub#owner"] = "set"; | |
| 13 | + | }; | |
| 14 | + | } | |
| 15 | + | ||
| 16 | + | VirtualHost (DOMAIN) | |
| 17 | + | -- for roster sync and 'legacy carbons' | |
| 18 | + | privileged_entities = { | |
| 19 | + | ["mattermost.domain.tld"] = _privileges, | |
| 20 | + | ["whatsapp.domain.tld"] = _privileges, | |
| 21 | + | ["matrix.domain.tld"] = _privileges, | |
| 22 | + | ["telegram.domain.tld"] = _privileges, | |
| 23 | + | ["signal.domain.tld"] = _privileges, | |
| 24 | + | } | |
| 25 | + | ||
| 26 | + | Component ("share."..DOMAIN) "http_file_share" | |
| 27 | + | server_user_role = "prosody:registered" | |
| 28 | + | ||
| 29 | + | Component ("mattermost."..DOMAIN) | |
| 30 | + | component_secret = "redacted" | |
| 31 | + | modules_enabled = {"privilege"} | |
| 32 | + | ||
| 33 | + | Component ("whatsapp."..DOMAIN) | |
| 34 | + | component_secret = "redacted" | |
| 35 | + | modules_enabled = {"privilege"} | |
| 36 | + | ||
| 37 | + | Component ("matrix."..DOMAIN) | |
| 38 | + | component_secret = "redacted" | |
| 39 | + | modules_enabled = {"privilege"} | |
| 40 | + | ||
| 41 | + | Component ("telegram."..DOMAIN) | |
| 42 | + | component_secret = "redacted" | |
| 43 | + | modules_enabled = {"privilege"} | |
| 44 | + | ||
| 45 | + | Component ("signal."..DOMAIN) | |
| 46 | + | component_secret = "redacted" | |
| 47 | + | modules_enabled = {"privilege"} | |