From 230573dc7aec83f9b21f88c252405b62b6e8f90a Mon Sep 17 00:00:00 2001 From: Lucinda Quintal Date: Sun, 29 Sep 2024 07:32:50 -0700 Subject: [PATCH] Enhance README: Adds Troubleshooting section, expands Contribution section - Adds Troubleshooting Section which has common issues, configuration errors, and user management issues to help users diagnose problems effectively. - Expanded the Contributing Section to include guidelines for contributions, a code of conduct, bug reporting, and feature requests. - In the Additional Resources section , provided links to documentation and community contributions for ease of reference --- README.md | 140 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 104 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 614e27c1..c992b026 100755 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ Calibre-Web is a web app that offers a clean and intuitive interface for browsin - [Quick start](#quick-start) - [Requirements](#requirements) 4. [Docker Images](#docker-images) -5. [Contributor Recognition](#contributor-recognition) -6. [Contact](#contact) -7. [Contributing to Calibre-Web](#contributing-to-calibre-web) +5. [Troubleshooting](#troubleshooting) +6. [Contributor Recognition](#contributor-recognition) +7. [Contact](#contact) +8. [Contributing to Calibre-Web](#contributing-to-calibre-web) - *This software is a fork of [library](https://github.com/mutschler/calibreserver) and licensed under the GPL v3 License.* ![Main screen](https://github.com/janeczku/calibre-web/wiki/images/main_screen.png) @@ -57,52 +57,103 @@ Calibre-Web is a web app that offers a clean and intuitive interface for browsin ## Installation -#### Installation via pip (recommended) -1. Create a virtual environment for Calibre-Web to avoid conflicts with existing Python dependencies -2. Install Calibre-Web via pip: `pip install calibreweb` (or `pip3` depending on your OS/distro) -3. Install optional features via pip as needed, see [this page](https://github.com/janeczku/calibre-web/wiki/Dependencies-in-Calibre-Web-Linux-and-Windows) for details -4. Start Calibre-Web by typing `cps` +### Installation via pip (recommended) -*Note: Raspberry Pi OS users may encounter issues during installation. If so, please update pip (`./venv/bin/python3 -m pip install --upgrade pip`) and/or install cargo (`sudo apt install cargo`) before retrying the installation.* +1. **Create a virtual environment**: It’s essential to isolate your Calibre-Web installation to avoid dependency conflicts. You can create a virtual environment by running: + ``` + python3 -m venv calibre-web-env + ``` +2. **Activate the virtual environment**: + ``` + source calibre-web-env/bin/activate + ``` +3. **Install Calibre-Web**: Use pip to install the application: + ``` + pip install calibreweb + ``` +4. **Install optional features**: For additional functionality, you may need to install optional features. Refer to [this page](https://github.com/janeczku/calibre-web/wiki/Dependencies-in-Calibre-Web-Linux-and-Windows) for details on what can be installed. +5. **Start Calibre-Web**: After installation, you can start the application with: + ``` + cps + ``` -Refer to the Wiki for additional installation examples: [manual installation](https://github.com/janeczku/calibre-web/wiki/Manual-installation), [Linux Mint](https://github.com/janeczku/calibre-web/wiki/How-To:-Install-Calibre-Web-in-Linux-Mint-19-or-20), [Cloud Provider](https://github.com/janeczku/calibre-web/wiki/How-To:-Install-Calibre-Web-on-a-Cloud-Provider). +*Note: Users of Raspberry Pi OS may encounter installation issues. If you do, try upgrading pip and/or installing cargo as follows:* + ``` + ./venv/bin/python3 -m pip install --upgrade pip + sudo apt install cargo + ``` + +### Important Links +- For additional installation examples, check the following: + - [Manual installation](https://github.com/janeczku/calibre-web/wiki/Manual-installation) + - [Linux Mint installation](https://github.com/janeczku/calibre-web/wiki/How-To:-Install-Calibre-Web-in-Linux-Mint-19-or-20) + - [Cloud Provider setup](https://github.com/janeczku/calibre-web/wiki/How-To:-Install-Calibre-Web-on-a-Cloud-Provider) ## Quick Start -1. Open your browser and navigate to `http://localhost:8083` or `http://localhost:8083/opds` for the OPDS catalog -2. Log in with the default admin credentials -3. If you don't have a Calibre database, you can use [this database](https://github.com/janeczku/calibre-web/raw/master/library/metadata.db) (move it out of the Calibre-Web folder to prevent overwriting during updates) -4. Set `Location of Calibre database` to the path of the folder containing your Calibre library (metadata.db) and click "Save" -5. Optionally, use Google Drive to host your Calibre library by following the [Google Drive integration guide](https://github.com/janeczku/calibre-web/wiki/G-Drive-Setup#using-google-drive-integration) -6. Configure your Calibre-Web instance via the admin page, referring to the [Basic Configuration](https://github.com/janeczku/calibre-web/wiki/Configuration#basic-configuration) and [UI Configuration](https://github.com/janeczku/calibre-web/wiki/Configuration#ui-configuration) guides - -#### Default Admin Login: -- **Username:** admin -- **Password:** admin123 +1. **Access Calibre-Web**: Open your browser and navigate to: + ``` + http://localhost:8083 + ``` + or for the OPDS catalog: + ``` + http://localhost:8083/opds + ``` +2. **Log in**: Use the default admin credentials: + - **Username:** admin + - **Password:** admin123 +3. **Database Setup**: If you do not have a Calibre database, download a sample from: + ``` + https://github.com/janeczku/calibre-web/raw/master/library/metadata.db + ``` + Move it out of the Calibre-Web folder to avoid overwriting during updates. +4. **Configure Calibre Database**: In the admin interface, set the `Location of Calibre database` to the path of the folder containing your Calibre library (where `metadata.db` is located) and click "Save". +5. **Google Drive Integration**: For hosting your Calibre library on Google Drive, refer to the [Google Drive integration guide](https://github.com/janeczku/calibre-web/wiki/G-Drive-Setup#using-google-drive-integration). +6. **Admin Configuration**: Configure your instance via the admin page, referring to the [Basic Configuration](https://github.com/janeczku/calibre-web/wiki/Configuration#basic-configuration) and [UI Configuration](https://github.com/janeczku/calibre-web/wiki/Configuration#ui-configuration) guides. ## Requirements -- Python 3.7+ -- [Imagemagick](https://imagemagick.org/script/download.php) for cover extraction from EPUBs (Windows users may need to install [Ghostscript](https://ghostscript.com/releases/gsdnld.html) for PDF cover extraction) -- Windows users need to install [libmagic for 32bit python](https://gnuwin32.sourceforge.net/downlinks/file.php) or [libmagic for 64bit python](https://github.com/nscaife/file-windows/releases/tag/20170108), depending on the python version; The files need to be installed in path (e.g. script folder of your Calibre-Web venv, or in the root folder of Calibre-Web -- Optional: [Calibre desktop program](https://calibre-ebook.com/download) for on-the-fly conversion and metadata editing (set "calibre's converter tool" path on the setup page) -- Optional: [Kepubify tool](https://github.com/pgaskin/kepubify/releases/latest) for Kobo device support (place the binary in `/opt/kepubify` on Linux or `C:\Program Files\kepubify` on Windows) +- **Python Version**: Ensure you have Python 3.7 or newer. +- **Imagemagick**: Required for cover extraction from EPUBs. Windows users may also need to install [Ghostscript](https://ghostscript.com/releases/gsdnld.html) for PDF cover extraction. +- **Windows Users**: Install [libmagic](https://gnuwin32.sourceforge.net/downlinks/file.php) for 32bit python or [libmagic for 64bit python](https://github.com/nscaife/file-windows/releases/tag/20170108), depending on your Python version. Make sure these files are included in your path. +- **Optional Tools**: + - **Calibre desktop program**: Recommended for on-the-fly conversion and metadata editing. Set the path to Calibre’s converter tool on the setup page. + - **Kepubify tool**: Needed for Kobo device support. Download the tool and place the binary in `/opt/kepubify` on Linux or `C:\Program Files\kepubify` on Windows. ## Docker Images -Pre-built Docker images are available in the following Docker Hub repositories (maintained by the LinuxServer team): +Pre-built Docker images are available: -#### **LinuxServer - x64, aarch64** -- [Docker Hub](https://hub.docker.com/r/linuxserver/calibre-web) -- [GitHub](https://github.com/linuxserver/docker-calibre-web) -- [GitHub - Optional Calibre layer](https://github.com/linuxserver/docker-mods/tree/universal-calibre) +### **LinuxServer - x64, aarch64** +- **Docker Hub**: [linuxserver/calibre-web](https://hub.docker.com/r/linuxserver/calibre-web) +- **GitHub**: [linuxserver/docker-calibre-web](https://github.com/linuxserver/docker-calibre-web) +- **Optional Calibre layer**: [linuxserver/docker-mods](https://github.com/linuxserver/docker-mods/tree/universal-calibre) - Include the environment variable `DOCKER_MODS=linuxserver/mods:universal-calibre` in your Docker run/compose file to add the Calibre `ebook-convert` binary (x64 only). Omit this variable for a lightweight image. +To include the Calibre `ebook-convert` binary (x64 only), add the environment variable: +``` +DOCKER_MODS=linuxserver/mods:universal-calibre +``` +in your Docker run/compose file. Omit this variable for a lightweight image. - Both the Calibre-Web and Calibre-Mod images are automatically rebuilt on new releases and updates. +- **Paths Configuration**: + - Set **Path to Calibre Binaries** to `/usr/bin`. + - Set **Path to Unrar** to `/usr/bin/unrar`. - - Set "Path to Calibre Binaries" to `/usr/bin` - - Set "Path to Unrar" to `/usr/bin/unrar` +## Troubleshooting + +- **Common Issues**: + - If you experience issues starting the application, check the log files located in the `logs` directory for error messages. + - If eBooks fail to load, verify that the `Location of Calibre database` is correctly set and that the database file is accessible. + +- **Configuration Errors**: Ensure that your Calibre database is compatible and properly formatted. Refer to the Calibre documentation for guidance on maintaining the database. + +- **Performance Problems**: + - If the application is slow, consider increasing the allocated resources (CPU/RAM) to your server or optimizing the Calibre database by removing duplicates and unnecessary entries. + - Regularly clear the cache in your web browser to improve loading times. + +- **User Management Issues**: If users are unable to log in or register, check the user permission settings in the admin interface. Ensure that registration is enabled and that users are being assigned appropriate roles. + +- **Support Resources**: For additional help, consider visiting the [FAQ section](https://github.com/janeczku/calibre-web/wiki/FAQ) of the wiki or posting your questions in the [Discord community](https://discord.gg/h2VsJ2NEfB). ## Contributor Recognition @@ -116,4 +167,21 @@ For more information, How To's, and FAQs, please visit the [Wiki](https://github ## Contributing to Calibre-Web -Check out our [Contributing Guidelines](https://github.com/janeczku/calibre-web/blob/master/CONTRIBUTING.md) +To contribute, please check our [Contributing Guidelines](https://github.com/janeczku/calibre-web/blob/master/CONTRIBUTING.md). We welcome issues, feature requests, and pull requests from the community. + +### Reporting Bugs + +If you encounter bugs or issues, please report them in the [issues section](https://github.com/janeczku/calibre-web/issues) of the repository. Be sure to include detailed information about your setup and the problem encountered. + +### Feature Requests + +We welcome suggestions for new features. Please create a new issue in the repository to discuss your ideas. + +## Additional Resources + +- **Documentation**: Comprehensive documentation is available on the [Calibre-Web wiki](https://github.com/janeczku/calibre-web/wiki). +- **Community Contributions**: Explore the [community contributions](https://github.com/janeczku/calibre-web/pulls) to see ongoing work and how you can get involved. + +--- + +Thank you for using Calibre-Web! We hope you enjoy managing your eBook library with our tool.