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 10 months ago
articles Split static information out into configuration, added README 1 year ago
resources Minor adjustments 1 year ago
templates less verbose console log for converse.js 10 months ago
.gitignore Split static information out into configuration, added README 1 year ago
README.md Split static information out into configuration, added README 1 year ago
config.py.sample added cli command to download converse.js, added websocket support to converse initialization 10 months ago
defaults.py Split static information out into configuration, added README 1 year ago
main.py added cli command to download converse.js, added websocket support to converse initialization 10 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.