2019-07-14 11:47:06 +00:00
|
|
|
# fediverse.space backend
|
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
2020-10-06 16:46:41 +00:00
|
|
|
- This project requires Elixir >= 1.10.
|
2019-07-14 11:47:06 +00:00
|
|
|
- Run with `SKIP_CRAWL=true` to just run the server (useful for working on the API without also crawling)
|
2019-07-17 16:16:25 +00:00
|
|
|
- This project is automatically scanned for potential vulnerabilities with [Sobelow](https://sobelow.io/).
|
2019-07-14 11:47:06 +00:00
|
|
|
|
2019-07-26 14:34:23 +00:00
|
|
|
## 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.
|
2020-06-19 10:46:43 +00:00
|
|
|
- `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.
|
2019-07-26 14:34:23 +00:00
|
|
|
|
2019-07-14 11:47:06 +00:00
|
|
|
## Deployment
|
|
|
|
|
|
|
|
Deployment with Docker is handled as per the [Distillery docs](https://hexdocs.pm/distillery/guides/working_with_docker.html).
|
|
|
|
|
|
|
|
- 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`](http://localhost:4000) from your browser.
|
|
|
|
|
|
|
|
Ready to run in production? Please [check our deployment guides](https://hexdocs.pm/phoenix/deployment.html).
|
|
|
|
|
|
|
|
## Learn more
|
|
|
|
|
|
|
|
- Official website: http://www.phoenixframework.org/
|
|
|
|
- Guides: https://hexdocs.pm/phoenix/overview.html
|
|
|
|
- Docs: https://hexdocs.pm/phoenix
|
|
|
|
- Mailing list: http://groups.google.com/group/phoenix-talk
|
|
|
|
- Source: https://github.com/phoenixframework/phoenix
|