Website for chat.phryk.net, handling invite-based registration, guiding people through installation of a supported client and offering a web-based client as fallback.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
phryk 8d127309e7 less verbose console log for converse.js 2 months ago
articles
resources
templates less verbose console log for converse.js 2 months ago
.gitignore
README.md
config.py.sample added cli command to download converse.js, added websocket support to converse initialization 2 months ago
defaults.py
main.py added cli command to download converse.js, added websocket support to converse initialization 2 months ago

README.md

This repository holds the code for the website of the XMPP service at chat.phryk.net. It interfaces to any webserver via WSGI.

Features

  • Implements invite-based registrations
  • Offers dynamically generated installation/registration guides for every defined OS/client combination.
  • Provides ConverseJS web-based XMPP client as fallback
  • Renders markdown articles
  • SCSS integration
  • looks spiffy, but has no JS except for Converse

Dependencies

What you don't need is a database. :)

Future Plans

Code is currently a wee bit messy and not terribly well suited to customization. This is supposed to change in order to make it easier for others to set up invite-based XMPP services.

In particular, we want to:

* Make the site easily extensible (routes, assets, content – the works)
* Make all integrated templates and assets overridable
* Make the whole thing a bit cleaner
* Add CLI command to automatically pull ConverseJS resources
* Package the whole thing for easy installation

Deployment

No time to write a proper guide.

For now, you can check out Flasks deployment docs if you get stuck.

You need:

  • A config.py (look at config.py.sample)
  • An HTTP server, commonly nginx or Apache
  • Something that talks WSGI
  • The contents of this repository

If you use nginx, use uwsgi to run the app. Read their docs, try this .ini:

chdir = /path/to/xmpp-site

# unix socket uwsgi listens on
socket = /tmp/xmpp-site.sock

wsgi = main:app

Hook it up to nginx via uwsgi_pass.

If you use Apache, we have no idea, read the docs of mod_wsgi. The WSGI application object is app in main.py.