fix calibre slow startup: bake calibre binaries into image, skip chown on NFS
Custom Docker image pre-installs the universal-calibre mod at build time, eliminating ~10 min apt-get on every container start. Added NO_CHOWN=true to skip recursive chown that hangs on NFS mounts. Tightened startup probe since pod now starts in ~2 min instead of 15-20 min.
This commit is contained in:
parent
016aaae99c
commit
af3ba0306c
2 changed files with 14 additions and 8 deletions
7
stacks/calibre/Dockerfile
Normal file
7
stacks/calibre/Dockerfile
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
FROM crocodilestick/calibre-web-automated:latest
|
||||
|
||||
# Pre-install the universal-calibre mod at build time (avoids apt-get on every container start)
|
||||
ENV DOCKER_MODS=linuxserver/mods:universal-calibre
|
||||
RUN /docker-mods || true
|
||||
# Clear the env so it doesn't re-run at startup
|
||||
ENV DOCKER_MODS=
|
||||
|
|
@ -138,7 +138,7 @@ module "nfs_stacks_config" {
|
|||
# }
|
||||
|
||||
resource "kubernetes_deployment" "calibre-web-automated" {
|
||||
wait_for_rollout = false # DOCKER_MODS install takes 10+ min on every container start
|
||||
wait_for_rollout = true
|
||||
metadata {
|
||||
name = "calibre-web-automated"
|
||||
namespace = kubernetes_namespace.calibre.metadata[0].name
|
||||
|
|
@ -173,7 +173,7 @@ resource "kubernetes_deployment" "calibre-web-automated" {
|
|||
}
|
||||
spec {
|
||||
container {
|
||||
image = "crocodilestick/calibre-web-automated:latest"
|
||||
image = "viktorbarzin/calibre-web-automated:latest"
|
||||
name = "calibre-web-automated"
|
||||
env {
|
||||
name = "PUID"
|
||||
|
|
@ -184,8 +184,8 @@ resource "kubernetes_deployment" "calibre-web-automated" {
|
|||
value = 1000
|
||||
}
|
||||
env {
|
||||
name = "DOCKER_MODS"
|
||||
value = "linuxserver/mods:universal-calibre"
|
||||
name = "NO_CHOWN"
|
||||
value = "true"
|
||||
}
|
||||
env {
|
||||
# If your library is on a network share (e.g., NFS/SMB), disable WAL to reduce locking issues
|
||||
|
|
@ -200,16 +200,15 @@ resource "kubernetes_deployment" "calibre-web-automated" {
|
|||
port {
|
||||
container_port = 8083
|
||||
}
|
||||
# Startup probe: allow up to 10 min for calibre binary install on first boot
|
||||
startup_probe {
|
||||
http_get {
|
||||
path = "/"
|
||||
port = 8083
|
||||
}
|
||||
initial_delay_seconds = 120
|
||||
initial_delay_seconds = 10
|
||||
timeout_seconds = 5
|
||||
period_seconds = 15
|
||||
failure_threshold = 56
|
||||
period_seconds = 5
|
||||
failure_threshold = 24
|
||||
}
|
||||
liveness_probe {
|
||||
http_get {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue