diff --git a/README.md b/README.md index 25f6d702..0d1851fc 100644 --- a/README.md +++ b/README.md @@ -5,30 +5,5 @@ classified libraries. ## Documentation -- [Setup the docker environment and dependencies](doc/install.md) -- [Upgrade to a newer version](doc/update.md) -- [Console Commands](doc/commands.md) -- [Adding books](doc/adding-books.md) +[Read the full documentation on the dedicated website](https://biblioverse.github.io/biblioteca-doc/) -## Features - -### Dynamic shelves -You can create your own shelves and manually add books in them, or you can create smart shelves that will automatically include books based on the rules you define. - -### Search -Fast and powerful search with Typesense! - -### AI Tagging -Because it's 2024 some AI was bound to be in there somewhere: you can ask chatGPT to tag or write a summary of your books. - -### Folder structure -You can define your own folder structure or just mount a folder with your books, scan them in the app and don't relocate them. - -### Multi user -You can create multiple users and restrict them to age categories, or just let them have access to everything. (WIP) - -### Themes -Light and dark themes are available, and you can easily create new themes. - -### Sync with Kobo -Sync your library with your Kobo reader \ No newline at end of file diff --git a/doc/adding-books.md b/doc/adding-books.md deleted file mode 100644 index 98cbfc1f..00000000 --- a/doc/adding-books.md +++ /dev/null @@ -1,6 +0,0 @@ -Any book in the `public/books` folder will be added to the database when you run the `books:scan` command. If a book already exists, it will be skipped. - -Adding books to the `public/books/consume` will list them in the `/books/new/consume/files` page. -This is useful when you want to add books to the library but don't want to add them to the database yet or to mount a folder where books might arrive later (Maybe like a download folder 🫢). - -When books are added to the database, their "verified" status is set to false and a link to all unverified books is available in the menu. diff --git a/doc/commands.md b/doc/commands.md deleted file mode 100644 index c8af71d9..00000000 --- a/doc/commands.md +++ /dev/null @@ -1,47 +0,0 @@ -Multiple helper commands are available to help you manage your library. -For simplicity, only the command is listed here, you will need to prefix it depending on your installation: - - -With a standard docker compose environment: `docker-compose exec php bin/console ` - -With ddev: `ddev exec bin/console ` - -## `app:create-admin-user` -Create an admin user. - -## `books:check` -Check the integrity of all books. - -## `books:extract-cover` -Tries to extract the cover from the book and saves it in the `public/covers` folder. - -## `books:relocate` -Relocate all books to their calculated folder. This is necessary only if you want Biblioteca to manage your library structure. - -## `books:scan` -Will scan the `public/books` folder and add all books to the database. If a book already exists, it will be skipped. - -## `books:tag` - -> First you will need to setup an openAi chatgpt key in a user's properties and run the command as this user - -Then you can run the command to generate tag for all books in the library: - -``` -bin/console books:tag -``` - -## `cache:clear` -Clears the cache - -## `doctrine:migrations:migrate` -Executes all missing database migrations. - -## `symandy:databases:backup` -Creates a sql backup of the database in the `backups folder`. - -## `typesense:create` -Will re-create the search engine index. - -## `typesense:import` -Will re-import all books from the database to the search engine. diff --git a/doc/docker-compose-pontsun.yml b/doc/docker-compose-pontsun.yml deleted file mode 100644 index d0e6120b..00000000 --- a/doc/docker-compose-pontsun.yml +++ /dev/null @@ -1,69 +0,0 @@ -version: '3.8' - -services: - biblioteca: - build: - context: . - target: base - entrypoint: ["/bin/sh", "-c" , "crontab /var/www/html/config/crontab.txt && apache2-foreground" ] - ports: - - "48480:8080" - depends_on: - - db - volumes: - - .:/var/www/html - - .composer:/home/.composer:cached - stdin_open: true - tty: true - networks: - - default - - pontsun - - labels: - - 'traefik.port=8080' - - 'traefik.frontend.rule=Host:biblioteca.docker.test' - # Traefik v2 - - 'traefik.enable=true' - - 'traefik.docker.network=pontsun' - - 'traefik.http.routers.biblioteca.service=biblioteca' - - 'traefik.http.routers.biblioteca.entrypoints=https,http' - - 'traefik.http.routers.biblioteca.rule=Host(`biblioteca.docker.test`)' - - 'traefik.http.services.biblioteca.loadbalancer.server.port=8080' - - 'traefik.http.routers.biblioteca.middlewares=https_redirect' - - 'traefik.http.middlewares.https_redirect.redirectscheme.scheme=https' - - 'traefik.http.middlewares.https_redirect.redirectscheme.permanent=true' - - db: - image: mariadb:10.10 - environment: - - MYSQL_ROOT_PASSWORD=biblioteca - - MYSQL_DATABASE=biblioteca - - MYSQL_USER=biblioteca - - MYSQL_PASSWORD=biblioteca - ports: - - "49405:3306" - volumes: - - mariadb:/var/lib/mysql - networks: - - default - - typesense: - image: typesense/typesense:0.26.0.rc46 - restart: on-failure - ports: - - 8983 - - "8108:8108" - volumes: - - searchdata:/data - command: '--data-dir /data --api-key=xyz --enable-cors' - -volumes: - mariadb: - searchdata: - -networks: - pontsun: - external: true - - - diff --git a/doc/docker-compose.yml b/doc/docker-compose.yml deleted file mode 100644 index 61102db6..00000000 --- a/doc/docker-compose.yml +++ /dev/null @@ -1,56 +0,0 @@ -version: '3.8' - -services: - biblioteca: - image: ghcr.io/biblioverse/biblioteca-docker:latest - # build: - # context: . - # target: base - entrypoint: ["/bin/sh", "-c" , "crontab /var/www/html/config/crontab.txt && apache2-foreground" ] - ports: - - "48480:8080" - depends_on: - - db - volumes: - - .:/var/www/html - - .composer:/home/.composer:cached - stdin_open: true - tty: true - networks: - - default - - pontsun - - db: - image: mariadb:10.10 - environment: - - MYSQL_ROOT_PASSWORD=db - - MYSQL_DATABASE=db - - MYSQL_USER=db - - MYSQL_PASSWORD=db - ports: - - "49405:3306" - volumes: - - mariadb:/var/lib/mysql - networks: - - default - - typesense: - image: typesense/typesense:0.26.0.rc46 - restart: on-failure - ports: - - 8983 - - "8108:8108" - volumes: - - searchdata:/data - command: '--data-dir /data --api-key=xyz --enable-cors' - -volumes: - mariadb: - searchdata: - -networks: - pontsun: - external: true - - - diff --git a/doc/install.md b/doc/install.md deleted file mode 100644 index 44e5f15f..00000000 --- a/doc/install.md +++ /dev/null @@ -1,73 +0,0 @@ -# Installing Biblioteca for the first time -## Pre-requisites - -* Docker and docker compose installed -* Ddev - -## Local development with DDEV - -1. Clone the repository -2. `cd` to your local directory where you cloned the repository -3. Run `ddev start` -4. Run `ddev composer install` -5. Run `ddev exec bin/console doctrine:database:create` -6. Run `ddev exec bin/console doctrine:migration:sync-metadata-storage` -7. Run `ddev exec bin/console doctrine:migration:migrate` -8. Run `ddev exec bin/console typesense:create` -9. Run `ddev exec bin/console app:create-admin-user ` -10. Run `ddev exec npm i` -11. Run `ddev exec npm run build` -12. Run `ddev launch` - -### Enable Xdebug -Run `ddev xdebug` - - -## With docker compose - -1. Copy the [docker-compose.yml](docker-compose.yml) file to your project directory -2. Copy the [Dockerfile](Dockerfile) -3. run `docker-compose up -d` -4. run `docker-compose exec php composer install` -5. run `docker-compose exec php bin/console doctrine:schema:create` -6. run `docker-compose exec php bin/console typesense:create` -7. run `docker-compose exec php bin/console app:create-admin-user ` -8. run `docker-compose exec npm i` -9. run `docker-compose exec npm run build` -10. open your browser on `http://localhost:48480` - -### Enable Xdebug - -1. Create a `docker-compose-overrides.yml` file with the following content: - -```yaml -services: - biblioteca: - build: - target: debug - environment: - - XDEBUG_MODE=debug - - PHP_IDE_CONFIG=serverName=biblioteca.docker.test -``` -2. Make sure your container is up-to-date with `docker compose up -d --build --force-recreate` -3. Create a new server in your IDE with the following settings: - - Host: `biblioteca.docker.test` - - Mapping: => `/var/www/html` -4. Be sure that you are listening to the Xdebug port in your IDE -5. Set a breakpoint in your code -6. Start debugging. - - -Note: On command line, you can debug with this: -```bash - docker-compose exec -e XDEBUG_MODE=debug -e XDEBUG_TRIGGER=1 biblioteca ./vendor/bin/phpunit -``` - -## With [liip/pontsun](https://github.com/liip/pontsun) -1. Copy the [docker-compose-pontsun.yml](docker-compose-pontsun.yml) file to your project directory -2. ... Follow steps 2 to 9 from the docker compose installation -3. open your browser on `http://biblioteca.docker.test` - - -## In your Unraid setup -You can use [dockge](https://github.com/louislam/dockge) and setup a stack. Use the same docker-compose procedure as before. \ No newline at end of file diff --git a/doc/update.md b/doc/update.md deleted file mode 100644 index 03ab9f75..00000000 --- a/doc/update.md +++ /dev/null @@ -1,7 +0,0 @@ -# Updating Biblioteca -1. Pull the latest changes from the repository -2. Run `composer install` -3. Run `bin/console doctrine:migrations:migrate` -4. Run `npm i` -5. Run `npm run build` -6. Run `bin/console cache:clear`