Add Revolt (#395)

* WIP Revolt

* Add Caddy

* Update Labels

* Updated Reverse Proxy

* Update docker-compose.yml

* Add Vapid Key Generation

* Update config.json

* Update Info

* Change Version Back

* Update description.md

* Update config.json

* Update config.json

* Update config.json

* Update config.json
This commit is contained in:
DrMxrcy 2023-05-17 09:39:53 -04:00 committed by GitHub
parent faed1bff72
commit e6fd941262
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 528 additions and 0 deletions

88
apps/revolt/config.json Normal file
View File

@ -0,0 +1,88 @@
{
"$schema": "../schema.json",
"name": "Revolt Chat",
"port": 8272,
"available": true,
"exposable": true,
"force_expose": true,
"generate_vapid_keys": true,
"supported_architectures": ["amd64"],
"id": "revolt",
"tipi_version": 1,
"version": "1.1.8/20230421-3",
"categories": ["media"],
"description": "Open source user-first chat platform.",
"short_desc": "Open source user-first chat platform.",
"author": "RevoltChat",
"source": "https://github.com/revoltchat",
"form_fields": [
{
"type": "random",
"label": "Revlot Minio Root Password",
"min": 32,
"env_variable": "REVOLT_MINIO_ROOT_PASSWORD"
},
{
"type": "random",
"label": "Revlot Minio Root Password",
"min": 32,
"env_variable": "REVOLT_MINIO_ROOT_PASSWORD"
},
{
"type": "random",
"label": "Revlot AWS Access Key",
"min": 16,
"max": 16,
"env_variable": "REVOLT_AWS_ACCESS_KEY_ID"
},
{
"type": "random",
"label": "Revlot AWS Secret Access Key",
"min": 32,
"max": 32,
"env_variable": "REVOLT_AWS_SECRET_ACCESS_KEY"
},
{
"type": "text",
"label": "SMTP Host",
"hint": "Your SMTP Server",
"placeholder": "smtp.example.com",
"required": true,
"env_variable": "REVOLT_SMTP_HOST"
},
{
"type": "text",
"label": "SMTP Username",
"hint": "Your SMTP Server User/Username",
"placeholder": "noreply@example.com",
"required": true,
"env_variable": "REVOLT_SMTP_USERNAME"
},
{
"type": "text",
"label": "SMTP Password",
"hint": "Your SMTP Server Password",
"required": true,
"env_variable": "REVOLT_SMTP_PASSWORD"
},
{
"type": "text",
"label": "SMTP From Address",
"hint": "Make sure the Format is like Revolt <noreply@example.com>",
"placeholder": "Revolt <noreply@example.com>",
"required": true,
"env_variable": "REVOLT_SMTP_FROM"
},
{
"label": "Revolt Invite Only",
"type": "text",
"hint": "Choose whether you want Open Signups or have the Platform Invite Only",
"required": true,
"options": [
{ "label": "Open Signups", "value": "0" },
{ "label": "Invite Only", "value": "1" }
],
"env_variable": "REVOLT_INVITE_ONLY"
}
]
}

View File

@ -0,0 +1,28 @@
{$HOSTNAME} {
route /api* {
uri strip_prefix /api
reverse_proxy http://revolt-api:8000
}
route /ws {
@upgrade {
header Connection *Upgrade*
header Upgrade websocket
}
uri strip_prefix /ws
reverse_proxy @upgrade http://revolt-events:9000
}
route /autumn* {
uri strip_prefix /autumn
reverse_proxy http://revolt-autumn:3000
}
route /january* {
uri strip_prefix /january
reverse_proxy http://revolt-january:7000
}
reverse_proxy http://revolt-web:5000
}

View File

@ -0,0 +1,380 @@
version: "3.8"
services:
revolt-database:
image: mongo
container_name: revolt-database
restart: always
volumes:
- ${APP_DATA_DIR}/data/db:/data/db
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# Redis server
revolt-redis:
image: eqalpha/keydb
container_name: revolt-redis
restart: always
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# S3-compatible storage server
revolt-minio:
image: minio/minio
container_name: revolt-minio
command: server /data
volumes:
- ${APP_DATA_DIR}/data/minio:/data
restart: always
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# Web App (revite)
revolt-web:
image: ghcr.io/revoltchat/client:master
container_name: revolt-web
restart: always
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# API server (delta)
revolt-api:
image: ghcr.io/revoltchat/server:20230421-3
container_name: revolt-api
depends_on:
- revolt-database
- revolt-redis
- revolt
restart: always
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# Events service (quark)
revolt-events:
image: ghcr.io/revoltchat/bonfire:20230421-3
container_name: revolt-events
depends_on:
- revolt-database
- revolt-redis
- revolt
restart: always
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# File server (autumn)
revolt-autumn:
image: ghcr.io/revoltchat/autumn:1.1.8
container_name: revolt-autumn
depends_on:
- revolt-database
- revolt-createbuckets
- revolt
restart: always
networks:
- tipi_main_network
environment:
# Container Specific
- AUTUMN_MONGO_URI=mongodb://revolt-database
# Below is Standard Config
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# Metadata and image proxy (january)
revolt-january:
image: ghcr.io/revoltchat/january:master
container_name: revolt-january
depends_on:
- revolt
restart: always
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
# Create buckets for minio.
revolt-createbuckets:
image: minio/mc
container_name: revolt-createbuckets
depends_on:
- revolt-minio
entrypoint: >
/bin/sh -c "
while ! curl -s --output /dev/null --connect-timeout 1 http://revolt-minio:9000; do echo 'Waiting minio...' && sleep 0.1; done;
/usr/bin/mc alias set minio http://revolt-minio:9000 minioautumn ${REVOLT_MINIO_ROOT_PASSWORD};
/usr/bin/mc mb minio/attachments;
/usr/bin/mc mb minio/avatars;
/usr/bin/mc mb minio/backgrounds;
/usr/bin/mc mb minio/icons;
/usr/bin/mc mb minio/banners;
/usr/bin/mc mb minio/emojis;
exit 0;
"
networks:
- tipi_main_network
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
revolt:
image: caddy
container_name: revolt
restart: always
environment:
- MONGODB=mongodb://revolt-database
- REDIS_URI=redis://revolt-redis/
- HOSTNAME=:80
- REVOLT_APP_URL=https://${APP_DOMAIN}
- REVOLT_PUBLIC_URL=https://${APP_DOMAIN}/api
- VITE_API_URL=https://${APP_DOMAIN}/api
- REVOLT_EXTERNAL_WS_URL=wss://${APP_DOMAIN}/ws
- AUTUMN_PUBLIC_URL=https://${APP_DOMAIN}/autumn
- JANUARY_PUBLIC_URL=https://${APP_DOMAIN}/january
- REVOLT_UNSAFE_NO_CAPTCHA=1
- REVOLT_SMTP_HOST=${REVOLT_SMTP_HOST}
- REVOLT_SMTP_USERNAME=${REVOLT_SMTP_USERNAME}
- REVOLT_SMTP_PASSWORD=${REVOLT_SMTP_PASSWORD}
- REVOLT_SMTP_FROM=${REVOLT_SMTP_FROM}
- REVOLT_INVITE_ONLY=${REVOLT_INVITE_ONLY}
- REVOLT_MAX_GROUP_SIZE=150
- REVOLT_VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- REVOLT_VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- AUTUMN_S3_REGION=minio
- AUTUMN_S3_ENDPOINT=http://revolt-minio:9000
- MINIO_ROOT_USER=minioautumn
- MINIO_ROOT_PASSWORD=${REVOLT_MINIO_ROOT_PASSWORD}
- AWS_ACCESS_KEY_ID=${REVOLT_AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${REVOLT_AWS_SECRET_ACCESS_KEY}
ports:
- "8272:80"
- "8273:443"
volumes:
- ${APP_DATA_DIR}/data/CaddyFiles:/etc/caddy/
- ${APP_DATA_DIR}/data/caddy-data:/data
- ${APP_DATA_DIR}/data/caddy-config:/config
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
traefik.http.routers.revolt.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.revolt.entrypoints: websecure
traefik.http.routers.revolt.service: revolt
traefik.http.routers.revolt.tls.certresolver: myresolver
traefik.http.services.revolt.loadbalancer.server.port: 80

View File

@ -0,0 +1,32 @@
# Install Information
# SMTP Server
For Email Verfication, you need some sort of SMTP Provider
A few options are using GMAIl as a SMTP server, a SMTP Provider like SMTP2Go or MailGun, or if you host your own mailserver
Here are some Methods
- [Gmail SMTP Guide by Noted.lol](https://noted.lol/setup-gmail-smtp-sending-2023/)
- [SMTP2Go](https://get.smtp2go.com/cplmmj203pg7)
### SMTP From
Make Sure when setting the SMTP From Adress, it matches the `Revolt <noreply@example.com>` format. An example could be `Tipi Chat <no-reply@runtipi.io>`
## Invite Only Instance
Set Revolt Invite Only to `1`
If set, you can create invites by SSHing into your Tipi Server and running these commands
1. `docker exec -i revolt-database mongosh`
2.
```
use revolt
db.invites.insertOne({ _id: "enter_an_invite_code_here" })
```
### Voice Server Information
Revolts self hosted setup currently does not have a working voice server. Thier Voice Server, [Vortex](https://github.com/revoltchat/vortex), [devlopemnt is paused.](https://github.com/revoltchat/self-hosted/pull/28#issuecomment-1522325342)

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB