# DecentralisedBookIndex **DecentralisedBookIndex** is a web-server to manage the book metadata in the decentralise manner. ## Getting started - clone this repository - copy `.env.example` file and save as `.env` - copy `.env_db.example` file and save as `.env_db` - change the values in `.env` and `.env_db` you can use `mix phx.gen.secret` to generate secrets. update the PHX_HOST to your domain name. - if you don't want to pull the pre-built container - uncomment the part to build the image in the `docker-compose.yaml` file - comment the image part to avoid pulling. - run `docker compose up -d` - run migrations `docker exec -it dbi bin/migrate` - open the url (`PHX_HOST`) in a browser. register a user. - install nginx for as a reverse proxy - configure the web-site config for nginx change example.com to your domain. copy example config from `examples/nginx/example.com.conf` to `/etc/nginx/sites-available`. rename the file to your domain and change the domain within the file. enable the web-site with command `ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/`. - run the commands to promote an user to the admin. change `admin@example.com` to your email. ```shell docker exec -it dbi bin/decentralised_book_index remote DecentralisedBookIndex.Accounts.User.get_by_email!("admin@example.com", authorize?: false) \ |> DecentralisedBookIndex.Accounts.User.set_role(:admin, authorize?: false) ``` close the terminal with `Ctrl + c` and `a`. # Author Kostiantyn Klochko (c) 2025 # License Under the GNU Affero General Public License v3.0.