Files
ProxMenux/oci/catalog/apps/calibre-web.json
T

280 lines
9.4 KiB
JSON
Raw Normal View History

{
"schema_version": "0.3.0",
"kind": "proxmenux.oci-template",
"id": "linuxserver-calibre-web",
"status": "generated-unvalidated",
"catalog_ui": {
"title": {
"en_US": "Calibre Web"
},
"tagline": {
"en_US": "Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself."
},
"description": {
"en_US": "Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself."
},
"category": "media",
"category_label": "Media & Streaming",
"author": "LinuxServer.io",
"developer": null,
"icon": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png",
"thumbnail": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-banner.png",
"screenshots": [],
"architectures": [
"amd64",
"arm64"
],
"launch": {
"scheme": "http",
"port": 8083,
"path": "/"
},
"website": "https://github.com/janeczku/calibre-web",
"documentation": "https://docs.linuxserver.io/images/docker-calibre-web/",
"repository": "https://github.com/linuxserver/docker-calibre-web",
"tips": [],
"mini_changelog": [
{
"date": "2025-10-28",
"note": "Add libxfixes3 and libasound2t64 to support epub to pdf conversion; also set --no-sandbox for qtwebengine."
},
{
"date": "2025-01-07",
"note": "Set kepubify path by default."
},
{
"date": "2024-12-05",
"note": "Rebase to noble."
},
{
"date": "2024-08-26",
"note": "Add new dep, xdg-utils."
},
{
"date": "2024-07-07",
"note": "Add new dep, libmagic1."
}
],
"display_version": null,
"updated_at": "2025-10-28"
},
"source": {
"provider": "linuxserver.io",
"repository": "https://github.com/linuxserver/docker-calibre-web",
"default_branch": "master",
"revision": "6cf8ca68f272f1e5ffd1b673e9194a89e0162385",
"readme_raw_url": "https://raw.githubusercontent.com/linuxserver/docker-calibre-web/6cf8ca68f272f1e5ffd1b673e9194a89e0162385/README.md",
"readme_pushed_at": "2026-09-06T04:54:26Z",
"compose_sha256": "02a0710202f82692e0caaf389fd7c0bf0490ea54645130d5dc750067364e8079",
"generated_at": "2026-09-12T14:37:24+00:00"
},
"container_contract": {
"service_name": "calibre-web",
"container_name": "calibre-web",
"image": {
"reference": "lscr.io/linuxserver/calibre-web:latest",
"registry": "lscr.io",
"repository": "lscr.io/linuxserver/calibre-web",
"tag": "latest",
"digest": null,
"pull_policy": "resolve-selected-tag-to-architecture-digest-at-install"
},
"environment": [
{
"name": "PUID",
"example": "1000",
"required": true,
"sensitive": false,
"source": "linuxserver-compose"
},
{
"name": "PGID",
"example": "1000",
"required": true,
"sensitive": false,
"source": "linuxserver-compose"
},
{
"name": "TZ",
"example": "Etc/UTC",
"required": true,
"sensitive": false,
"source": "linuxserver-compose"
},
{
"name": "DOCKER_MODS",
"example": "linuxserver/mods:universal-calibre",
"required": false,
"sensitive": false,
"source": "linuxserver-compose"
},
{
"name": "OAUTHLIB_RELAX_TOKEN_SCOPE",
"example": "1",
"required": false,
"sensitive": true,
"source": "linuxserver-compose"
}
],
"volumes": [
{
"id": "volume-0",
"container_path": "/config",
"compose_source_example": "/path/to/calibre-web/data",
"read_only": false,
"required": true,
"installation_choice": [
"managed-volume",
"host-bind"
],
"default": "managed-volume",
"managed_volume": {
"backup": true,
"default_size_gb": 4
}
},
{
"id": "volume-1",
"container_path": "/books",
"compose_source_example": "/path/to/calibre/library",
"read_only": false,
"required": true,
"installation_choice": [
"managed-volume",
"host-bind"
],
"default": "managed-volume",
"managed_volume": {
"backup": true,
"default_size_gb": 8
}
}
],
"ports": [
{
"container_port": 8083,
"published_example": 8083,
"protocol": "tcp",
"required": true,
"proxmox_behavior": "listener-on-dedicated-lxc-address-no-nat"
}
],
"related_services": [],
"restart": "unless-stopped",
"stop_grace_period": null,
"original_compose": "---\nservices:\n calibre-web:\n image: lscr.io/linuxserver/calibre-web:latest\n container_name: calibre-web\n environment:\n - PUID=1000\n - PGID=1000\n - TZ=Etc/UTC\n - DOCKER_MODS=linuxserver/mods:universal-calibre #optional\n - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional\n volumes:\n - /path/to/calibre-web/data:/config\n - /path/to/calibre/library:/books\n ports:\n - 8083:8083\n restart: unless-stopped\n"
},
"first_run": {
"endpoints": [
{
"label": "Web UI",
"scheme": "http",
"port": 8083,
"path": "/",
"source": "linuxserver-readme-application-setup"
}
],
"credentials": [
{
"label": "Default login",
"username": "admin",
"password": "admin123",
"change_required": true,
"source": "linuxserver-readme-application-setup"
}
]
},
"proxmox": {
"runtime": "native-oci-lxc",
"technology_status": "proxmox-technology-preview",
"defaults": {
"unprivileged": true,
"ostype": "auto-from-image",
"cores": 2,
"memory_mb": 1024,
"swap_mb": 512,
"rootfs_size_gb": 8,
"rootfs_storage": "local-lvm",
"volume_storage": "local-lvm",
"template_storage": "local",
"bridge": "vmbr0",
"ipv4": "dhcp",
"firewall": true,
"host_managed_network": true,
"onboot": false,
"features": [
"nesting=1"
],
"shutdown_timeout_seconds": 30
},
"image_metadata_policy": {
"entrypoint": "import-from-oci-image",
"cmd": "import-from-oci-image",
"environment": "import-image-env-then-apply-compose-overrides",
"user": "import-from-oci-image",
"working_dir": "import-from-oci-image",
"stop_signal": "import-from-oci-image"
},
"adaptations": [
{
"id": "dedicated-lxc-network",
"upstream_behavior": "Docker publishes selected container ports on the Docker host.",
"native_lxc_behavior": "The application listens on the same container ports at its dedicated LXC address.",
"reason": "A native LXC has its own address and does not require Docker port NAT.",
"behavioral_impact": "Users open the LXC address instead of the Proxmox host address.",
"validation": "pending-per-application"
},
{
"id": "compose-environment-overlay",
"upstream_behavior": "Compose environment values override OCI image environment values.",
"native_lxc_behavior": "ProxMenux merges the same values into lxc.environment.runtime while the CT is stopped.",
"reason": "PVE imports image Env automatically; Compose values still need to override it.",
"behavioral_impact": "None expected.",
"validation": "pending-per-application"
},
{
"id": "stop-grace-period",
"upstream_behavior": "Docker waits for Compose stop_grace_period before forcing termination.",
"native_lxc_behavior": "ProxMenux records the same timeout for its pct shutdown lifecycle operations.",
"reason": "Proxmox has no equivalent per-CT persistent restart-policy field; startup.down is not a shutdown timeout.",
"behavioral_impact": "Normal Proxmox node shutdown remains governed by the node-wide shutdown policy.",
"validation": "not-requested-by-compose"
}
]
},
"compatibility": {
"automatic_install_candidate": true,
"validated": false,
"supported_compose_keys": [
"container_name",
"environment",
"image",
"ports",
"restart",
"stop_grace_period",
"volumes"
],
"untranslated_blockers": [],
"policy": "A generated template is never promoted to validated without install, health, restart and persistence tests."
},
"validation": {
"schema": "passed-at-generation",
"clean_install": "pending",
"service_health": "pending",
"restart_persistence": "pending",
"backup_restore": "pending",
"update_preserves_data": "pending"
},
"lifecycle": {
"update_strategy": "replace-rootfs-from-new-oci-image-preserve-managed-volumes",
"registry_state": {
"resolved_architecture": null,
"resolved_digest": null,
"image_version_label": null,
"image_created": null
},
"change_detection": "compare-resolved-architecture-digest",
"automatic_unattended_updates": false
}
}