hackerspace membership server
  • JavaScript 78.5%
  • HTML 13.8%
  • CSS 5.3%
  • Shell 2.4%
Find a file
2016-06-17 00:53:52 -07:00
bin fixed issue where comrades show as non-paying even when paying 2016-03-15 23:39:12 -07:00
init added example init files 2015-05-21 04:47:17 -07:00
lib set collective title on layout.html 2016-02-08 10:23:55 -08:00
migrations finished grant_all_priv script 2015-12-02 02:40:01 -08:00
routes forgot a bunch of changes in last commit 2016-06-04 07:19:22 -07:00
scripts added sshudo script 2015-06-04 21:49:44 -07:00
static fix credit card number length validation problem 2016-06-17 00:53:52 -07:00
sync local data isn't in app dir anymore, so don't need to avoid syncing it 2015-11-21 20:41:36 -08:00
.gitignore everything marc did 2015-11-23 13:50:57 -08:00
LICENSE license 2015-01-26 02:08:08 -08:00
package.json replace canvas 2016-02-25 20:39:26 -08:00
readme.markdown works with node 0.10.29 2015-11-25 12:25:16 -08:00
settings.js.example everything marc did 2015-11-23 13:50:57 -08:00

sudo-humans

hackerspace membership server for sudoroom

WARNING! We are in the process of implementing features to support multiple collectives/organizations on a single instance of sudo-humans but this work is not yet complete. Expect things to be broken. Use the main branch until then.

In-progress multi-collective features

Define your collectives in settings.js (you need to define all of the fields you see in settings.js.example).

When you create your first user it will be granted all priveleges for all collectives.

Payments for multi-collective is working, just edit your profile and you can edit your membership for each collective.

Admins can also access a per-collective admin dashboard. Currently it is not linked anywhere but it is located at:

/admin/<collective_name>

We still need to implement the following:

  • A way for users to join collectives (as unprivileged comrades) on signup and in general
  • A way for admins to grant/revoke privileges (membership, admin)
  • A way to migrate the old user database to the new multi-collective format

And it would be really nice to have:

  • Automatic emails sent to members when their payments fail.
  • Payment history page for each user that admins can access.

get it running

This application is known to work with version 0.10.29 of node. There is an issue with the canvas module, but once it is updated you should be able to run with version 0.12 of node.

Install node, npm and Cairo development files.

$ sudo apt-get install nodejs npm libcairo2-dev
$ sudo ln -s `which nodejs` /usr/local/bin/node

Make a settings file (and edit to taste):

$ cp -a settings.js.example settings.js

then:

$ npm install

Start sudo-humans:

$ npm start

usage

sudo-humans {OPTIONS}

  Start the sudoroom membership server.

OPTIONS are:

  -p --port     Start the server on a port. Default: 80 (if root) or 8000
  -d --datadir  Directory to put data. 
  -u --uid      Drop to this uid after allocating the port.
  -g --gid      Drop to this gid after allocating the port.
  -h --help     Show this message.
  -D --debug    Enable debug output (warning: will output private data to console)

license

MIT