Skip to content

Commit 10e0cb9

Browse files
committed
add lazylibrarian
1 parent 8975ba3 commit 10e0cb9

7 files changed

Lines changed: 266 additions & 0 deletions

File tree

‎charts/lazylibrarian/.helmignore‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/

‎charts/lazylibrarian/Chart.yaml‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: v2
2+
name: lazylibrarian
3+
description: LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs. It uses a combination of Goodreads Librarything and optionally GoogleBooks as sources for author info and book info. This container is based on the DobyTang fork.
4+
appVersion: "c570fd29"
5+
type: application
6+
version: 0.0.1
7+
keywords:
8+
- lazylibrarian
9+
- books
10+
- audiobooks
11+
- mediafactory
12+
- torrent
13+
- usenet
14+
maintainers:
15+
- name: GenericEric
16+
email: eric@bgeneric.net
17+
url: https://bgeneric.net
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Thank you for deploying your media factory with bgeneric charts!
2+
{{ .Values.appName }} will be accessable shortly.
3+
4+
5+
Port forward access method:
6+
7+
Run this command:
8+
kubectl --namespace {{ .Values.namespace }} port-forward service/{{ .Values.appName }} 8888:{{ .Values.service.port }}
9+
10+
Then, in a browser, go to:
11+
http://localhost:8888
12+
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: {{ .Values.appName }}
5+
namespace: {{ .Values.namespace }}
6+
labels:
7+
app: {{ .Values.appName }}
8+
spec:
9+
selector:
10+
matchLabels:
11+
app: {{ .Values.appName }}
12+
replicas: 1
13+
strategy:
14+
type: Recreate
15+
template:
16+
metadata:
17+
labels:
18+
app: {{ .Values.appName }}
19+
spec:
20+
containers:
21+
- name: {{ .Values.appName }}
22+
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
23+
imagePullPolicy: {{ .Values.image.imagePullPolicy }}
24+
resources:
25+
requests:
26+
cpu: {{ .Values.resources.requests.cpu }}
27+
memory: {{ .Values.resources.requests.memory }}
28+
limits:
29+
cpu: {{ .Values.resources.limits.cpu }}
30+
memory: {{ .Values.resources.limits.memory }}
31+
env:
32+
- name: TZ
33+
value: "{{ .Values.env.TZ }}"
34+
- name: PUID
35+
value: "{{ .Values.env.PUID }}"
36+
- name: PGID
37+
value: "{{ .Values.env.PGID }}"
38+
- name: DOCKER_MODS
39+
value: "{{ .Values.env.DOCKER_MODS }}"
40+
ports:
41+
- containerPort: {{ .Values.service.port }}
42+
name: {{ .Values.appName }}
43+
volumeMounts:
44+
- name: config
45+
mountPath: {{ .Values.persistence.config.mountPath }}
46+
{{ if .Values.persistence.backups.enabled }}
47+
- name: backups
48+
mountPath: {{ .Values.persistence.backups.mountPath }}
49+
{{ end }}
50+
{{ if .Values.persistence.books.enabled }}
51+
- name: books
52+
mountPath: {{ .Values.persistence.books.mountPath }}
53+
{{ end }}
54+
{{ if .Values.persistence.audioBooks.enabled }}
55+
- name: audiobooks
56+
mountPath: {{ .Values.persistence.audiobooks.mountPath }}
57+
{{ end }}
58+
{{ if .Values.persistence.torrent.enabled }}
59+
- name: torrent
60+
mountPath: {{ .Values.persistence.torrent.mountPath }}
61+
{{ end }}
62+
{{ if .Values.persistence.news.enabled }}
63+
- name: news
64+
mountPath: {{ .Values.persistence.news.mountPath }}
65+
{{ end }}
66+
{{ if .Values.persistence.customServices.enabled }}
67+
- name: custom-services
68+
mountPath: {{ .Values.persistence.customServices.mountPath }}
69+
{{ end }}
70+
{{ if .Values.persistence.customContInit.enabled }}
71+
- name: custom-cont-init
72+
mountPath: {{ .Values.persistence.customContInit.mountPath }}
73+
{{ end }}
74+
volumes:
75+
- name: config
76+
hostPath:
77+
path: {{ .Values.persistence.config.hostPath }}
78+
{{ if .Values.persistence.backups.enabled }}
79+
- name: backups
80+
persistentVolumeClaim:
81+
claimName: {{ .Values.persistence.backups.existingClaim }}
82+
{{ end }}
83+
{{ if .Values.persistence.books.enabled }}
84+
- name: books
85+
persistentVolumeClaim:
86+
claimName: {{ .Values.persistence.books.existingClaim }}
87+
{{ end }}
88+
{{ if .Values.persistence.audioBooks.enabled }}
89+
- name: audiobooks
90+
persistentVolumeClaim:
91+
claimName: {{ .Values.persistence.audiobooks.existingClaim }}
92+
{{ end }}
93+
{{ if .Values.persistence.torrent.enabled }}
94+
- name: torrent
95+
hostPath:
96+
path: {{ .Values.persistence.torrent.hostPath }}
97+
{{ end }}
98+
{{ if .Values.persistence.news.enabled }}
99+
- name: news
100+
hostPath:
101+
path: {{ .Values.persistence.news.hostPath }}
102+
{{ end }}
103+
{{ if .Values.persistence.customServices.enabled }}
104+
- name: custom-services
105+
hostPath:
106+
path: {{ .Values.persistence.customServices.hostPath }}
107+
{{ end }}
108+
{{ if .Values.persistence.customContInit.enabled }}
109+
- name: custom-cont-init
110+
hostPath:
111+
path: {{ .Values.persistence.customContInit.hostPath }}
112+
{{ end }}
113+
restartPolicy: Always
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: {{ .Values.appName }}
5+
namespace: {{ .Values.namespace }}
6+
labels:
7+
name: {{ .Values.appName }}
8+
spec:
9+
rules:
10+
- host: {{ .Values.ingress.host }}
11+
http:
12+
paths:
13+
- pathType: Prefix
14+
path: "/"
15+
backend:
16+
service:
17+
name: {{ .Values.appName }}
18+
port:
19+
number: {{ .Values.service.port }}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: {{ .Values.appName }}
5+
namespace: {{ .Values.namespace }}
6+
labels:
7+
app: {{ .Values.appName }}
8+
spec:
9+
selector:
10+
app: {{ .Values.appName }}
11+
type: ClusterIP
12+
sessionAffinity: None
13+
sessionAffinityConfig:
14+
clientIP:
15+
timeoutSeconds: 10800
16+
ports:
17+
- name: {{ .Values.appName }}
18+
protocol: TCP
19+
port: {{ .Values.service.port }}
20+
targetPort: {{ .Values.service.port }}

‎charts/lazylibrarian/values.yaml‎

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
appName: lazylibrarian
2+
namespace: mediafactory
3+
4+
image:
5+
repository: lscr.io/linuxserver/lazylibrarian
6+
tag: latest
7+
imagePullPolicy: IfNotPresent
8+
9+
env:
10+
TZ: America/Chicago
11+
PGID: 568
12+
PUID: 568
13+
DOCKER_MODS: "" #optional: "linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg"
14+
15+
ingress:
16+
host: lazylibrarian.example.com
17+
18+
service:
19+
port: 5299
20+
21+
persistence:
22+
config:
23+
hostPath:
24+
mountPath: /config
25+
backups:
26+
enabled: false
27+
existingClaim:
28+
mountPath: /backups
29+
books:
30+
enabled: false
31+
existingClaim:
32+
storageClass:
33+
mountPath: /media/books
34+
audioBooks:
35+
enabled: false
36+
existingClaim:
37+
storageClass:
38+
mountPath: /media/audiobooks
39+
torrent:
40+
enabled: false
41+
hostPath:
42+
mountPath: /torrent
43+
news:
44+
enabled: false
45+
hostPath:
46+
mountPath: /news
47+
customServices:
48+
enabled: false
49+
hostPath:
50+
mountPath: /custom-services.d
51+
customContInit:
52+
enabled: false
53+
hostPath:
54+
mountPath: /custom-cont-init.d
55+
56+
resources:
57+
requests:
58+
cpu: 100m
59+
memory: 60Mi
60+
limits:
61+
cpu: 4000m
62+
memory: 2000Mi

0 commit comments

Comments
 (0)