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:
parent
faed1bff72
commit
e6fd941262
88
apps/revolt/config.json
Normal file
88
apps/revolt/config.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
28
apps/revolt/data/CaddyFiles/Caddyfile
Normal file
28
apps/revolt/data/CaddyFiles/Caddyfile
Normal 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
|
||||||
|
}
|
380
apps/revolt/docker-compose.yml
Normal file
380
apps/revolt/docker-compose.yml
Normal 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
|
||||||
|
|
32
apps/revolt/metadata/description.md
Normal file
32
apps/revolt/metadata/description.md
Normal 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)
|
||||||
|
|
BIN
apps/revolt/metadata/logo.jpg
Normal file
BIN
apps/revolt/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
Loading…
Reference in New Issue
Block a user