Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vhs/nomos
Membership management system made VHS-centric
https://github.com/vhs/nomos
Last synced: 5 days ago
JSON representation
Membership management system made VHS-centric
- Host: GitHub
- URL: https://github.com/vhs/nomos
- Owner: vhs
- Created: 2014-09-22T23:27:31.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-07-22T21:43:34.000Z (4 months ago)
- Last Synced: 2024-08-02T12:43:06.669Z (3 months ago)
- Language: PHP
- Size: 11.2 MB
- Stars: 25
- Watchers: 22
- Forks: 7
- Open Issues: 62
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - vhs/nomos - Membership management system made VHS-centric (others)
README
# Nomos
_In greek mythology, Nomos is the personified spirit of law._
This system in a way acts as the rule set for how things are governed, via membership levels and privileges.
## Development
See here for complete setup, API, and philosophy:
https://github.com/vhs/nomos/wikiFor the old development guide, see:
https://github.com/vhs/nomos/wiki/Contributing### docker-compose
#### Site configuration files
Two configuration files are used, which will vary based on the installation:
`docker/nomos.env`, and `docker-compose.conf`. These should be set up before
running the `docker-compose` setup.There is a development configuration at `docker-compose.dev.conf`, which can be
used for development.#### Usage
- Copy `docker-compose.template.conf`, `docker-compose.sample.conf`, or `docker-compose.dev.conf` to `docker-compose.conf`
- Edit/uncomment the relevant lines in `docker-compose.conf` to enable - or even add - specific functionality
- Run `./docker-compose.sh` as a 1:1 wrapper for docker-compose, or generate a
local `docker-compose.yml` file for direct usage with `docker-compose` with
`./docker-compose.sh config > docker-compose.yml`#### Development setup guide
On Linux, first install `docker` and `docker-compose` from your distribution
package manager. On Mac/Windows, you probably want [Docker Desktop], which is a
fancy app that makes and manages a Linux virtual machine that it runs Docker in.[Docker Desktop]: https://docs.docker.com/get-docker/
Copy `docker/nomos.env.template` to `docker/nomos.env`.
Copy `docker-compose.dev.conf` to `docker-compose.conf`.
Grant write permission to all users on the log directory: `chmod a+w logs`. The
reason this is needed is because the back-end PHP code runs as a non-root user
inside the container, and by default permissions don't grant write access to
non-owners of directories.Start the service with `./docker-compose.sh up`. This should bring everything up,
but the webhook service will still be failing, which is expected.To get the webhook service working, run `tools/make-webhook-key.sh`, which will
provide the correct value of `NOMOS_RABBITMQ_NOMOS_TOKEN`. Then, edit that into
`docker/nomos.env`.Once you have done this, press Ctrl-C in the terminal with `./docker-compose.sh up`,
then run `./docker-compose.sh up` again.You're all set! You can get the address to access the Nomos service locally by
running the following in a separate terminal as `docker-compose.sh`:```
$ docker inspect nomos-frontend | jq -r '.[0].NetworkSettings.Networks | to_entries | .[0].value.IPAddress'
```The username is `vhs` and the password is `password`.