Bonfire - tend to your digital life in community. Customise and host your own online space and control your experience at the most granular level.
Go to file
2021-05-04 21:16:59 +02:00
.github Merge branch 'with-valueflows-api' 2021-05-04 16:26:02 +02:00
.sobelow assocs & deps 2021-02-18 14:45:59 +01:00
assets up 2021-05-04 16:41:11 +02:00
flavours/classic load migrations from flavour 2021-05-04 21:16:59 +02:00
lib Merge branch 'with-valueflows-api' 2021-05-04 16:26:02 +02:00
priv/gettext load migrations from flavour 2021-05-04 21:16:59 +02:00
test up 2021-04-17 21:51:10 +02:00
.dockerignore fix 2021-04-24 22:34:14 +02:00
.envrc add nix dev instructions 2021-04-27 00:10:03 +09:00
.formatter.exs generic live handler 2021-05-01 20:36:25 +02:00
.gitignore add nix dev instructions 2021-04-27 00:10:03 +09:00
.iex.exs recompiling deps 2020-11-10 15:45:38 +01:00
.tool-versions updates 2020-11-28 11:12:32 +00:00
DEPENDENCIES.md deps 2021-04-20 16:13:34 +02:00
docker-compose.release.yml images 2021-04-20 13:34:46 +02:00
docker-compose.yml search 2021-04-22 22:11:41 +02:00
Dockerfile.dev disable optimisation that doesn't work 2021-01-22 19:06:48 +01:00
Dockerfile.release up 2021-04-30 14:04:27 +02:00
git-publish.sh up 2021-04-30 13:35:06 +02:00
LICENSE initial commit 2020-08-05 09:39:59 +02:00
Makefile chmod 2021-05-04 16:30:55 +02:00
mess.exs oops, forgot mess 2020-09-10 12:29:10 +00:00
mix.exs release config path 2021-05-04 20:09:59 +02:00
mix.lock up 2021-05-04 16:41:11 +02:00
README.md add exts 2021-04-27 11:33:34 +02:00
shell.nix add readme & set FORK 2021-04-27 00:10:03 +09:00

Bonfire

This app is part of the Bonfire ecosystem and bundles the following extensions:

Handy commands

  • Upgrade the app + extensions: make update (or make d-update if using docker)
  • Wipe clean Bonfire extensions builds so they get recompiled: mix bonfire.deps.clean (necessary after changing config such as in config/bonfire_data.exs)
  • Clone a git dep and use the local version, eg: make dep-clone-local dep="bonfire_me" repo=https://github.com/bonfire-networks/bonfire_me
  • Automatically commit and push all your changes to local forks (caution, here be dragons!): make bonfire-push-all-update
  • Migrate DB when the app is running: Bonfire.Repo.ReleaseTasks.migrate
  • More handy commands: make help and mix help

Dev environment with Nix

If you use direnv, just cd in the directory and you will have all the dependencies. If you just have nix, running nix-shell will set you up with a shell.

You will need to create and init the db directory (keeping all your Postgres data inside this directory). create the db directory initdb ./db create the postgres user createuser postgres -ds create the db createdb bonfire_dev start the postgres instance pg_ctl -l "$PGDATA/server.log" start

mix deps.get to get elixir dependencies cd assets && npm install to get the frontend dependencies mix ecto.migrate to get an up to date database iex -S phx.server to start the server check out the app on localhost:4000 in your browser

Additional information

  • messctl is a little utility for programmatically updating the .deps files from which the final elixir dependencies list is compiled by the mess script. The only use of it is in the dep-* tasks of the Makefile. It is used by some of the project developers and the build does not rely on it.

  • FORKS is used by the same developer tasks to determine where to find local forks of dependencies.

Copyright (c) 2021 Bonfire Contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.