# Akkoma module for IPFS as uploader ## Important, please read **This module replaces the default `upload.ex` file to implement the IPFS uploader, this because Elixir doesn't implement Monkey Patching and without the modified `upload.ex` Akkoma won't return the right base url back.** ### Installation * Enter in the module folder of akkoma (defined in the `config.exs`, by default Akkoma uses this: `/var/lib/akkoma/modules`) * Clone this repo inside (only the .ex files will be loaded by Akkoma) ### Cheatsheet * `post_gateway_url`: URL with port of POST Gateway (unauthenticated) * `get_gateway_url`: URL of public GET Gateway * `api_add_params`: List of params compatible with `/api/v0/add`: https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-add, if not provided will be default to `['cid-version': 1]` ### Example *config.exs* ```elixir config :pleroma, :modules, runtime_dir: "instance/modules" config :pleroma, Pleroma.Uploaders.IPFS, post_gateway_url: "http://localhost:5001", get_gateway_url: "https://{CID}.ipfs.mydomain.com", api_add_params: ['cid-version': 1, hash: "blake3"] config :pleroma, Pleroma.Upload, uploader: Pleroma.Uploaders.IPFS ``` ### Akkoma commit alignment group by branch - master: fef4bae0067fcd6e102e3d625390e8ae909c6bb8 - develop: fef4bae0067fcd6e102e3d625390e8ae909c6bb8