annotate deploy.yaml @ 1:9dc67ae8b507

update
author drewp@bigasterisk.com
date Sat, 14 Jan 2023 18:18:35 -0800
parents 1e65c0f57ff6
children 781290b4a683
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
drewp@bigasterisk.com
parents:
diff changeset
1 apiVersion: v1
drewp@bigasterisk.com
parents:
diff changeset
2 kind: PersistentVolume
drewp@bigasterisk.com
parents:
diff changeset
3 metadata:
drewp@bigasterisk.com
parents:
diff changeset
4 name: photoprism-storage
drewp@bigasterisk.com
parents:
diff changeset
5 labels: { type: local }
drewp@bigasterisk.com
parents:
diff changeset
6 spec:
drewp@bigasterisk.com
parents:
diff changeset
7 storageClassName: manual
1
drewp@bigasterisk.com
parents: 0
diff changeset
8 hostPath: { path: "/d4/photoprism" }
0
drewp@bigasterisk.com
parents:
diff changeset
9 capacity: { storage: 5Gi }
drewp@bigasterisk.com
parents:
diff changeset
10 accessModes: ["ReadWriteOnce"]
drewp@bigasterisk.com
parents:
diff changeset
11 persistentVolumeReclaimPolicy: Retain
drewp@bigasterisk.com
parents:
diff changeset
12 claimRef: { namespace: default, name: photoprism-storage }
1
drewp@bigasterisk.com
parents: 0
diff changeset
13
0
drewp@bigasterisk.com
parents:
diff changeset
14 ---
drewp@bigasterisk.com
parents:
diff changeset
15 apiVersion: v1
drewp@bigasterisk.com
parents:
diff changeset
16 kind: PersistentVolume
drewp@bigasterisk.com
parents:
diff changeset
17 metadata:
drewp@bigasterisk.com
parents:
diff changeset
18 name: photoprism-originals
drewp@bigasterisk.com
parents:
diff changeset
19 labels: { type: local }
drewp@bigasterisk.com
parents:
diff changeset
20 spec:
drewp@bigasterisk.com
parents:
diff changeset
21 storageClassName: manual
1
drewp@bigasterisk.com
parents: 0
diff changeset
22 hostPath: { path: "/my/pic" }
0
drewp@bigasterisk.com
parents:
diff changeset
23 capacity: { storage: 5Gi }
drewp@bigasterisk.com
parents:
diff changeset
24 accessModes: ["ReadWriteOnce"]
drewp@bigasterisk.com
parents:
diff changeset
25 persistentVolumeReclaimPolicy: Retain
drewp@bigasterisk.com
parents:
diff changeset
26 claimRef: { namespace: default, name: photoprism-originals }
1
drewp@bigasterisk.com
parents: 0
diff changeset
27
0
drewp@bigasterisk.com
parents:
diff changeset
28 ---
drewp@bigasterisk.com
parents:
diff changeset
29 apiVersion: v1
drewp@bigasterisk.com
parents:
diff changeset
30 kind: PersistentVolumeClaim
drewp@bigasterisk.com
parents:
diff changeset
31 metadata: { name: photoprism-storage }
drewp@bigasterisk.com
parents:
diff changeset
32 spec:
drewp@bigasterisk.com
parents:
diff changeset
33 storageClassName: ""
drewp@bigasterisk.com
parents:
diff changeset
34 volumeName: "photoprism-storage"
drewp@bigasterisk.com
parents:
diff changeset
35 accessModes: ["ReadWriteOnce"]
drewp@bigasterisk.com
parents:
diff changeset
36 resources: { requests: { storage: 5Gi } }
1
drewp@bigasterisk.com
parents: 0
diff changeset
37
0
drewp@bigasterisk.com
parents:
diff changeset
38 ---
drewp@bigasterisk.com
parents:
diff changeset
39 apiVersion: v1
drewp@bigasterisk.com
parents:
diff changeset
40 kind: PersistentVolumeClaim
drewp@bigasterisk.com
parents:
diff changeset
41 metadata: { name: photoprism-originals }
drewp@bigasterisk.com
parents:
diff changeset
42 spec:
drewp@bigasterisk.com
parents:
diff changeset
43 storageClassName: ""
drewp@bigasterisk.com
parents:
diff changeset
44 volumeName: "photoprism-originals"
drewp@bigasterisk.com
parents:
diff changeset
45 accessModes: ["ReadWriteOnce"]
drewp@bigasterisk.com
parents:
diff changeset
46 resources: { requests: { storage: 5Gi } }
1
drewp@bigasterisk.com
parents: 0
diff changeset
47
0
drewp@bigasterisk.com
parents:
diff changeset
48 ---
drewp@bigasterisk.com
parents:
diff changeset
49 apiVersion: apps/v1
drewp@bigasterisk.com
parents:
diff changeset
50 kind: Deployment
drewp@bigasterisk.com
parents:
diff changeset
51 metadata:
drewp@bigasterisk.com
parents:
diff changeset
52 name: photoprism
drewp@bigasterisk.com
parents:
diff changeset
53 spec:
drewp@bigasterisk.com
parents:
diff changeset
54 replicas: 1
drewp@bigasterisk.com
parents:
diff changeset
55 selector:
drewp@bigasterisk.com
parents:
diff changeset
56 matchLabels:
drewp@bigasterisk.com
parents:
diff changeset
57 app: photoprism
drewp@bigasterisk.com
parents:
diff changeset
58 template:
drewp@bigasterisk.com
parents:
diff changeset
59 metadata:
drewp@bigasterisk.com
parents:
diff changeset
60 labels:
drewp@bigasterisk.com
parents:
diff changeset
61 app: photoprism
1
drewp@bigasterisk.com
parents: 0
diff changeset
62 annotations:
drewp@bigasterisk.com
parents: 0
diff changeset
63 prometheus.io/scrape: "false"
0
drewp@bigasterisk.com
parents:
diff changeset
64 spec:
drewp@bigasterisk.com
parents:
diff changeset
65 volumes:
drewp@bigasterisk.com
parents:
diff changeset
66 - { name: photoprism-storage, persistentVolumeClaim: { claimName: photoprism-storage } }
drewp@bigasterisk.com
parents:
diff changeset
67 - { name: photoprism-originals, persistentVolumeClaim: { claimName: photoprism-originals } }
1
drewp@bigasterisk.com
parents: 0
diff changeset
68 - { name: run-mysqld, emptyDir: {}}
0
drewp@bigasterisk.com
parents:
diff changeset
69 containers:
drewp@bigasterisk.com
parents:
diff changeset
70 - name: photoprism
1
drewp@bigasterisk.com
parents: 0
diff changeset
71 # https://github.com/photoprism/photoprism/releases
drewp@bigasterisk.com
parents: 0
diff changeset
72 image: docker.io/photoprism/photoprism:221118-jammy
0
drewp@bigasterisk.com
parents:
diff changeset
73 env:
drewp@bigasterisk.com
parents:
diff changeset
74 - { name: PHOTOPRISM_UPLOAD_NSFW, value: "true" }
drewp@bigasterisk.com
parents:
diff changeset
75 - { name: PHOTOPRISM_READONLY, value: "true" }
drewp@bigasterisk.com
parents:
diff changeset
76 - { name: PHOTOPRISM_LOG_LEVEL, value: "info" }
drewp@bigasterisk.com
parents:
diff changeset
77 - { name: PHOTOPRISM_SITE_URL, value: "https://bigasterisk.com/photoprism/" }
1
drewp@bigasterisk.com
parents: 0
diff changeset
78 - { name: PHOTOPRISM_AUTH_MODE, value: "public" }
drewp@bigasterisk.com
parents: 0
diff changeset
79 - { name: PHOTOPRISM_WORKERS, value: "4" }
drewp@bigasterisk.com
parents: 0
diff changeset
80
drewp@bigasterisk.com
parents: 0
diff changeset
81 - { name: PHOTOPRISM_DISABLE_WEBDAV, value: "true" }
drewp@bigasterisk.com
parents: 0
diff changeset
82 - { name: PHOTOPRISM_DISABLE_CLASSIFICATION, value: "true" }
drewp@bigasterisk.com
parents: 0
diff changeset
83 - { name: PHOTOPRISM_DISABLE_RAW, value: "true" }
drewp@bigasterisk.com
parents: 0
diff changeset
84 - { name: PHOTOPRISM_JPEG_SIZE, value: "720" }
drewp@bigasterisk.com
parents: 0
diff changeset
85 - { name: PHOTOPRISM_THUMB_SIZE, value: "720" }
drewp@bigasterisk.com
parents: 0
diff changeset
86
drewp@bigasterisk.com
parents: 0
diff changeset
87 - { name: PHOTOPRISM_DATABASE_DRIVER, value: "mysql" }
drewp@bigasterisk.com
parents: 0
diff changeset
88 - { name: PHOTOPRISM_DATABASE_SERVER, value: "/run/mysqld/mysqld.sock" }
drewp@bigasterisk.com
parents: 0
diff changeset
89 - { name: PHOTOPRISM_DATABASE_NAME, value: "photoprism" }
drewp@bigasterisk.com
parents: 0
diff changeset
90 - { name: PHOTOPRISM_DATABASE_USER, value: "photoprism" }
drewp@bigasterisk.com
parents: 0
diff changeset
91 - { name: PHOTOPRISM_DATABASE_PASSWORD, value: "insecure" }
drewp@bigasterisk.com
parents: 0
diff changeset
92
0
drewp@bigasterisk.com
parents:
diff changeset
93 ports:
drewp@bigasterisk.com
parents:
diff changeset
94 - containerPort: 2342
drewp@bigasterisk.com
parents:
diff changeset
95 volumeMounts:
drewp@bigasterisk.com
parents:
diff changeset
96 - { name: photoprism-storage, mountPath: "/photoprism/storage" }
drewp@bigasterisk.com
parents:
diff changeset
97 - { name: photoprism-originals, mountPath: "/photoprism/originals" }
1
drewp@bigasterisk.com
parents: 0
diff changeset
98 - { name: run-mysqld, mountPath: "/run/mysqld" }
0
drewp@bigasterisk.com
parents:
diff changeset
99 resources:
drewp@bigasterisk.com
parents:
diff changeset
100 limits:
drewp@bigasterisk.com
parents:
diff changeset
101 # tensorflow analysis goes to like 1200Mi
drewp@bigasterisk.com
parents:
diff changeset
102 memory: 2500Mi
1
drewp@bigasterisk.com
parents: 0
diff changeset
103 - name: mariadb
drewp@bigasterisk.com
parents: 0
diff changeset
104 image: docker.io/mariadb:10.10.2
drewp@bigasterisk.com
parents: 0
diff changeset
105 securityContext:
drewp@bigasterisk.com
parents: 0
diff changeset
106 runAsUser: 1000
drewp@bigasterisk.com
parents: 0
diff changeset
107 # let https://github.com/MariaDB/mariadb-docker/blob/749c720c63306d1572849afc6ab1cfa02fd08338/10.8/docker-entrypoint.sh
drewp@bigasterisk.com
parents: 0
diff changeset
108 # do the startup. We could write to /etc/mysql/mariadb.conf.d if we really needed to config things.
drewp@bigasterisk.com
parents: 0
diff changeset
109 # command: suggested from photoprism docs
drewp@bigasterisk.com
parents: 0
diff changeset
110 # - mysqld
drewp@bigasterisk.com
parents: 0
diff changeset
111 # - --innodb-buffer-pool-size=512M
drewp@bigasterisk.com
parents: 0
diff changeset
112 # - --transaction-isolation=READ-COMMITTED
drewp@bigasterisk.com
parents: 0
diff changeset
113 # - --character-set-server=utf8mb4
drewp@bigasterisk.com
parents: 0
diff changeset
114 # - --collation-server=utf8mb4_unicode_ci
drewp@bigasterisk.com
parents: 0
diff changeset
115 # - --max-connections=512
drewp@bigasterisk.com
parents: 0
diff changeset
116 # - --innodb-rollback-on-timeout=OFF
drewp@bigasterisk.com
parents: 0
diff changeset
117 # - --innodb-lock-wait-timeout=120
drewp@bigasterisk.com
parents: 0
diff changeset
118 volumeMounts:
drewp@bigasterisk.com
parents: 0
diff changeset
119 - { name: photoprism-storage, subPath: "mariadb", mountPath: "/var/lib/mysql" }
drewp@bigasterisk.com
parents: 0
diff changeset
120 - { name: run-mysqld, mountPath: "/run/mysqld" }
drewp@bigasterisk.com
parents: 0
diff changeset
121 env:
drewp@bigasterisk.com
parents: 0
diff changeset
122 - { name: MARIADB_AUTO_UPGRADE, value: "1" }
drewp@bigasterisk.com
parents: 0
diff changeset
123 - { name: MARIADB_INITDB_SKIP_TZINFO, value: "1" }
drewp@bigasterisk.com
parents: 0
diff changeset
124 - { name: MARIADB_DATABASE, value: "photoprism" }
drewp@bigasterisk.com
parents: 0
diff changeset
125 - { name: MARIADB_USER, value: "photoprism" }
drewp@bigasterisk.com
parents: 0
diff changeset
126 - { name: MARIADB_PASSWORD, value: "insecure" }
drewp@bigasterisk.com
parents: 0
diff changeset
127 - { name: MARIADB_ROOT_PASSWORD, value: "insecure" }
0
drewp@bigasterisk.com
parents:
diff changeset
128 affinity:
drewp@bigasterisk.com
parents:
diff changeset
129 nodeAffinity:
drewp@bigasterisk.com
parents:
diff changeset
130 requiredDuringSchedulingIgnoredDuringExecution:
drewp@bigasterisk.com
parents:
diff changeset
131 nodeSelectorTerms:
drewp@bigasterisk.com
parents:
diff changeset
132 - matchExpressions:
drewp@bigasterisk.com
parents:
diff changeset
133 - key: "kubernetes.io/hostname"
drewp@bigasterisk.com
parents:
diff changeset
134 operator: In
drewp@bigasterisk.com
parents:
diff changeset
135 values: ["bang"]
1
drewp@bigasterisk.com
parents: 0
diff changeset
136
0
drewp@bigasterisk.com
parents:
diff changeset
137 ---
drewp@bigasterisk.com
parents:
diff changeset
138 apiVersion: v1
drewp@bigasterisk.com
parents:
diff changeset
139 kind: Service
drewp@bigasterisk.com
parents:
diff changeset
140 metadata:
drewp@bigasterisk.com
parents:
diff changeset
141 name: photoprism
drewp@bigasterisk.com
parents:
diff changeset
142 spec:
drewp@bigasterisk.com
parents:
diff changeset
143 type: LoadBalancer
drewp@bigasterisk.com
parents:
diff changeset
144 ports:
drewp@bigasterisk.com
parents:
diff changeset
145 - { port: 80, targetPort: 2342 }
drewp@bigasterisk.com
parents:
diff changeset
146 selector:
drewp@bigasterisk.com
parents:
diff changeset
147 app: photoprism