Trustroots / trustroots

Travellers' community for sharing, hosting and getting people together.
https://www.trustroots.org
GNU Affero General Public License v3.0
398 stars 135 forks source link
community hospex hospitality javascript map traveling trustroots



Trustroots

Travellers' community. Sharing, hosting and getting people together.

Maintenance mode

Trustroots is in maintenance mode.

No new features are being developed.

Our medium term plan is decentralisation thru the nostr protocol, see https://github.com/Trustroots/nostroots

We are also open to improvments that make trustroots forkable.

nvm & npm

We're using nvm to manage node versions.

It's important to use the latest version of npm v7 and not later.

To be able to install dependencies on macOS / apple silicon, the following dependencies are required:

Installing mmmagic expects python to be a valid binary, which it is not. This can be solved by adding a symlink from python to python3 like so:

If you're running on apple silicon, you also need to run this command:

You might also need to run the linux equivalent of that if you see an error about "ValueError: invalid mode: 'rU' while trying to load binding.gyp". The linux equivalent removes the first set of ''.

Running locally

npm start

or

docker compose up

If you experience docker issues you could try clearing up docker - even though it shouldn't be necessary, it can help:

docker image prune
docker image prune -a
docker container prune
docker volume prune
docker builder prune
docker builder prune -a
docker system prune
docker system prune -a --volumes -f

Building for production

See deploy/docker. Run dockerBuild.sh. Then docker push the latest tags which are output as the last part of the dockerBuild.sh script.

Merging

Only use git merge --no-ff branch or the "Create a merge commit" option on GitHub. We don't want to delete any commit hashes. No rebasing or squashing.

We use the commit hash to track what was deployed when, so any of those operations can destroy that history, making it much harder to understand what code was deployed when in the past.

License