You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decentralised_book_index/README.md

41 lines
1.6 KiB

# 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.