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 a25a4e24da
Update to refatactor tests for syncing.
12 months ago
assets Fix to init new Flowbite components to make them work. 1 year ago
config Add the configuration for the email. 1 year ago
examples/nginx Add an example of the nginx configuration. 1 year ago
lib Fix data transformers to remove a nil value of dbi_server for syncing. 12 months ago
priv Add migrations to require Book's Publisher and AuthorRole's Author. 1 year ago
rel/overlays/bin Add the docker release configuration. 1 year ago
test Update to refatactor tests for syncing. 12 months ago
.dockerignore Add the docker release configuration. 1 year ago
.drone.yml Add the drone CI/CD configuration. 1 year ago
.env.example Add the configuration for the email. 1 year ago
.env_db.example Add the docker-compose configuration and examples of env files. 1 year ago
.formatter.exs Add Oban for background jobs. 1 year ago
.gitignore Update the .gitignore. 1 year ago
.igniter.exs Init the project. 1 year ago
COPYING Add the license. 12 months ago
Dockerfile Update the mix and docker image configuration to install js assets. 1 year ago
README.md Add the license. 12 months ago
docker-compose.yml Add the docker-compose configuration and examples of env files. 1 year ago
mix.exs Add the configuration for the email. 1 year ago
mix.lock Add the configuration for the email. 1 year 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.