Skip to content

AshDevFr/codex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

537 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codex

A next-generation digital library server for comics, manga, and ebooks built in Rust. Designed to scale horizontally while remaining simple for homelab deployments.

Note: Codex is under active development. Architecture and APIs may still change as the project matures. There is a sizable backlog of planned work, so responses to feature requests may be slow. Bug reports are always welcome.

Features

  • Dual database support: SQLite for simple setups, PostgreSQL for production
  • Horizontal scaling: Stateless architecture for Kubernetes deployments
  • Multiple formats: CBZ, CBR, EPUB, PDF support
  • Fast metadata extraction: ComicInfo.xml parsing, page info, and file hashes
  • Flexible organization: Per-library scanning strategies

Quick Start

Build the project:

cargo build --release

Start the server:

codex serve --config codex.yaml

See config/config.sqlite.yaml for configuration options.

Development Setup

After cloning, install pre-commit hooks to ensure OpenAPI files stay in sync:

make setup-hooks

This requires Python and will install pre-commit if not already installed.

CBR Support and Licensing

CBR (Comic Book RAR) archive support requires the UnRAR library, which uses a proprietary license (not standard open source). The UnRAR license allows free use for extraction but prohibits creating RAR compression software.

Building with CBR Support (Default)

By default, Codex includes CBR support:

cargo build --release

Building without CBR Support

If you don't want proprietary dependencies, build without the rar feature:

cargo build --release --no-default-features

This removes the UnRAR dependency and disables CBR parsing. All other formats (CBZ, EPUB, PDF) will continue to work normally.

Testing

# Test with CBR support (default)
cargo test

# Test without CBR support
cargo test --no-default-features

# Test CBR parser specifically (requires manual test files)
cargo test --features rar cbr_parser

For more details, see the UnRAR license.

Documentation

License

This project is licensed under the GNU Affero General Public License v3.0.

For commercial licensing options, contact @AshDevFr.

About

A next-generation digital library server for comics, manga, and ebooks. https://codex.4sh.dev

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors