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 d9fc2f2cf8 less explicit logging for expected failures in page decorator 23 hours ago
articles Split static information out into configuration, added README 23 hours ago
resources Minor adjustments 1 day ago
templates Kinda-sorta done. Added font files, improved styles, extended and updated articles, added propaganda 1 month ago
.gitignore Split static information out into configuration, added README 23 hours ago
README.md Split static information out into configuration, added README 23 hours ago
config.py.sample Split static information out into configuration, added README 23 hours ago
defaults.py Split static information out into configuration, added README 23 hours ago
main.py less explicit logging for expected failures in page decorator 23 hours 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.