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.
 
 
 
 
Go to file
KKlochko 045faf59a4
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Update the CI/CD configuration to build the image.
1 month ago
assets Fix to init new Flowbite components to make them work. 2 months ago
config Update Oban configuration to prune jobs which older than 7 days. 1 month ago
examples/nginx Add an example of the nginx configuration. 2 months ago
lib Update Navbar partial to show the Server menu item for moderators. 1 month ago
priv Add migrations to require Book's Publisher and AuthorRole's Author. 2 months ago
rel/overlays/bin Add the docker release configuration. 2 months ago
test Update DBIServer's Index and Show to allow moderators to read. 1 month ago
.dockerignore Add the docker release configuration. 2 months ago
.drone.yml Update the CI/CD configuration to build the image. 1 month ago
.env.example Add the configuration for the email. 2 months ago
.env_db.example Add the docker-compose configuration and examples of env files. 2 months ago
.formatter.exs Add Oban for background jobs. 2 months ago
.gitignore Update the .gitignore. 4 months ago
.igniter.exs Init the project. 4 months ago
COPYING Add the license. 2 months ago
Dockerfile Update the mix and docker image configuration to install js assets. 2 months ago
README.md Add the license. 2 months ago
docker-compose.yml Add the docker-compose configuration and examples of env files. 2 months ago
mix.exs Update the version. 1 month ago
mix.lock Add the configuration for the email. 2 months ago

README.md

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