Warning: this is a simple proof of concept. Code is not polished and I'm not used to elixir/phoenix, this is a toy project. UI is awful.
You're more than welcome to contribute though. I will most probably learn some more elixir by merging your PRs. On the frontend side, I might not learn anything unfortunately. I'll still welcome any effort to make this better.
Clericalist
It's a simple toot search engine.
Requirements:
- docker
- docker-compose
- elixir
To start the project locally:
- Get a mastodon postgres dump, place it at
pgdata/dump - Run
./services.sh- First question asked: do you want to drop your current data by removing this project's postgres and elastic containers?
- Second question: do you want to automatically download a new pg dump replacing the local one?
- Say no, unless you add
mastodonto your ssh config and adapt thescpcommand to get the dump from the correct location in the correct format
- Say no, unless you add
This services.sh does the following (unless you answer "yes" to any question):
- Start the containers
- Create the postgres DB
- Run the migrations
- Import the dump into the DB
Next step:
- Install Node.js dependencies with
cd assets && yarn install - Index the publicly visible toots into elasticsearch with
mix index
Finally:
- Start Phoenix endpoint with
mix phx.server, now you can visitlocalhost:4000from your browser.