- Notifications
You must be signed in to change notification settings - Fork3
[WIP] Self-hosted physical book collection manager.
License
alessandrojean/tankobon
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Tankobon is a free and open source physical book collection manager,created withKotlin,Spring Boot andVue.js.
WarningTankobon is under active development and is an ongoingWIP.Anyone is welcome to try it out, but do not expect a fully featured,bug-free experience. Some features will be missing and/or broken.It's not recommended to be used in production yet. Stay tunedfor any news and future stable releases.
The following items are the major features aimed to be added toTankobon on the initial releases.
- Generic book support, including manga and comics;
- Import books by ISBN from Open Library, Google Books™ and others;
- Publishers, people, stores, groups and other related entities;
- Multiple users, shared libraries and administration tools;
- Cover search by ISBN, code or book title;
- Book readings history tracking;
- Search with advanced query syntax;
- Upload custom covers and pictures;
- Monthly statistics of expense.
The project is open to suggestions and ideas, so feel freeto reach out if you have anything you'd like to see.
Get the tool from ourreleases page or throughDocker.
Tankobon isn't ready for normal usage yet. For now, you can follow theContributing section to build from source and run locally or try anightly Docker image build.
The nightly images are available inDocker Hub andGitHub Packages.You can run manually by using thedocker
command or by usingDocker Compose.
Command-line instructions
Pull the Docker image.
$docker pull alessandrojean/tankobon:nightly
If you want to use the image fromGitHub Packages, use the command below instead.
$docker pull ghcr.io/alessandrojean/tankobon:nightly
Start a Docker container in detached mode.
$ docker run -d \ -p 25565:8080 \ -v /path/to/user_home/.tankobon:/root/.tankobon \ alessandrojean/tankobon:nightly
Openhttp://localhost:25565 on a browser and proceed with the claim setupto create the first administrator user.
Docker Compose instructions
Create a
docker-compose.yml
file.version:'3.9'services:tankobon:# To use the GitHub Packages image, use the line below instead.# image: ghcr.io/alessandrojean/tankobon:nightlyimage:alessandrojean/tankobon:nightlyports:# Tankobon will be available at port 25565. -'25565:8080'volumes:# The app files will be available outside the container. -/path/to/user_home/.tankobon:/root/.tankobon
Start a Docker container in detached mode.
$docker-compose up -d
Openhttp://localhost:25565 on a browser and proceed with the claim setupto create the first administrator user.
Contributions are verywelcome! Please review theCONTRIBUTING.mdguide before getting started.
Development instructions
```console$ ./gradlew bootRun --args='--spring.profiles.active=dev,localdb'```
- Run the client:
```console$ pnpm dev```
And that's it! Openhttp://localhost:8081 in a browserand follow the claim setup at the first time to create the administrator user.
If you use IntelliJ Idea, you can use some run configurations provided withthe project that will make easier to run the application within specificcontexts such aslocaldb
,noclaim
anddev
.
Check the documentation at the website (to be written).
For the API there is a OpenAPI V3 documentation included with the server.It can be accessed through/docs/swagger-ui.html
or/docs/redoc.html
for a graphical experience, or through/docs/openapi-v3
or/docs/openapi-v3.yaml
to get the Tankobon OpenAPI V3 specificationin a raw format.
Tankobon has a monorepo structure.
The core Spring Boot backend that powers up Tankobon.
The standard Vue.js web client that consumes the API.
Komga project structure is the main inspiration for the Tankoboncode structure. Although it's a self-hosted tool with a differentpurpose, it's definetely worth taking a look into it.
You can check out the full licensehere.
This repository is licensed under the terms of theMIT license.
About
[WIP] Self-hosted physical book collection manager.