index.community/backend
2021-07-30 21:50:14 +03:00
..
config Forking out 2021-07-30 19:53:51 +03:00
lib Linting 2021-07-30 21:50:14 +03:00
priv improved edges 2019-08-27 13:50:16 +00:00
rel/rel refactor/elixir backend 2019-07-14 11:47:06 +00:00
test add sorting to tabular view 2019-08-29 21:10:37 +01:00
.dockerignore refactor/elixir backend 2019-07-14 11:47:06 +00:00
.formatter.exs refactor/elixir backend 2019-07-14 11:47:06 +00:00
.sobelow-conf set up sobelow for backend 2019-07-17 16:16:25 +00:00
docker-compose.yaml some tests 2021-01-17 12:47:23 +03:00
Dockerfile Forking out 2021-07-30 19:53:51 +03:00
mix.exs Forking out 2021-07-30 19:53:51 +03:00
mix.lock Forking out 2021-07-30 19:53:51 +03:00
Procfile update gollum; more logging in indexer 2019-07-31 18:56:21 +03:00
README.md update to appsignal 2.0 2020-10-06 17:46:41 +01:00

fediverse.space backend

Notes

  • This project requires Elixir >= 1.10.
  • Run with SKIP_CRAWL=true to just run the server (useful for working on the API without also crawling)
  • This project is automatically scanned for potential vulnerabilities with Sobelow.

Configuration

There are several environment variables you can set to configure how the crawler behaves.

  • DATABASE_URL (required) . The URL of the Postgres db.
  • POOL_SIZE. The size of the database pool. Default: 10
  • PORT. Default: 4000
  • BACKEND_HOSTNAME (required). The url the backend is running on.
  • SECRET_KEY_BASE (required). Used for signing tokens.
  • TWILIO_ACCOUNT_SID. Used for sending SMS alerts to the admin.
  • TWILIO_AUTH_TOKEN. As above.
  • ADMIN_PHONE. The phone number to receive alerts at.
    • At the moment, the only alert is when there are potential new spam domains.
  • TWILIO_PHONE. The phone number to send alerts from.
  • ADMIN_EMAIL. Used for receiving alerts.
  • FRONTEND_DOMAIN (required). Used to generate login links for instance admins.
    • Don't enter https://, this is added automatically.
  • SENDGRID_API_KEY. Needed to send emails to the admin, or to instance admins who want to opt in/out.
  • MASTODON_DOMAIN. The domain (e.g. mastodon.social) that your bot login account is hosted on.
  • MASTODON_TOKEN. The access token for the bot login account.

Deployment

Deployment with Docker is handled as per the Distillery docs.

  • To build a new version, run make build in this directory.
  • To migrate a released version, run ./backend eval "Backend.Release.migrate"

Default README

To start your Phoenix server:

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.setup
  • Start Phoenix endpoint with mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more