comet

All-in-one chat and forums for communities.

280
38
JavaScript

Comet (joincomet.app)

Screenshot

All-in-one chat and forums for communities.

Known active forks: https://github.com/gudfhr95/stelllar

Tech Stack

Frontend

Backend

Join our Discord server (mostly inactive)

Development Instructions

Frontend

Development

Start dev server:

  • yarn run dev:web

Production

The frontend is a React app, and can be deployed in many ways. joincomet.app is using GitHub Pages in this repo, but
another good option is Cloudflare Pages

Build frontend:

  • yarn run build:web

Environment variables:

  • VITE_API_DOMAIN (domain server is running on i.e. api.joincomet.app)

Backend

Development

Start dev server with below environment variables:

  • yarn run dev:server

Environment variables:

  • DATABASE_URL (defaults to postgresql://postgres:password@localhost:5432 if left blank)
  • ACCESS_TOKEN_SECRET (required, secret used for encrypting passwords)
  • REDIS_URL (optional, in-memory will be used if not provided)

The following environment variables are related to S3 file uploads and are required for file uploads to work. Comet has
only been tested with DigitalOcean Spaces, but may also work with AWS S3.

  • MEDIA_DOMAIN (domain media is hosted on i.e. media.joincomet.app)
  • BUCKET (name of bucket, DO Spaces requires this to be same as MEDIA_DOMAIN i.e. media.joincomet.app)
  • AWS_ENDPOINT (endpoint bucket is hosted on i.e. nyc3.digitaloceanspaces.com)
  • AWS_ACCESS_KEY_ID (access key ID provided by DO Spaces/AWS)
  • AWS_SECRET_ACCESS_KEY (secret access key provided by DO Spaces/AWS)

Production

A Docker image is available at Docker Hub. joincomet.
app uses DigitalOcean App Platform to deploy the Docker image.
Run the Docker image with the above environment variables.