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