Mercurial > code > home > repos > photoprism
comparison deploy.yaml @ 6:4bf137b25259
reformat
author | drewp@bigasterisk.com |
---|---|
date | Sun, 19 Mar 2023 17:18:17 -0700 |
parents | 01128677024d |
children | 07aa4c3cddc4 |
comparison
equal
deleted
inserted
replaced
5:01128677024d | 6:4bf137b25259 |
---|---|
63 prometheus.io/port: "9104" | 63 prometheus.io/port: "9104" |
64 spec: | 64 spec: |
65 volumes: | 65 volumes: |
66 - { name: photoprism-storage, persistentVolumeClaim: { claimName: photoprism-storage } } | 66 - { name: photoprism-storage, persistentVolumeClaim: { claimName: photoprism-storage } } |
67 - { name: photoprism-originals, persistentVolumeClaim: { claimName: photoprism-originals } } | 67 - { name: photoprism-originals, persistentVolumeClaim: { claimName: photoprism-originals } } |
68 - { name: run-mysqld, emptyDir: {}} | 68 - { name: run-mysqld, emptyDir: {} } |
69 containers: | 69 containers: |
70 - name: photoprism | 70 - name: photoprism |
71 # https://github.com/photoprism/photoprism/releases | 71 # https://github.com/photoprism/photoprism/releases |
72 # image: docker.io/photoprism/photoprism:221118-jammy | 72 # image: docker.io/photoprism/photoprism:221118-jammy |
73 image: docker.io/photoprism/photoprism:preview | 73 image: docker.io/photoprism/photoprism:preview |
74 env: | 74 env: |
75 - { name: PHOTOPRISM_UPLOAD_NSFW, value: "true" } | 75 - { name: PHOTOPRISM_UPLOAD_NSFW, value: "true" } |
76 - { name: PHOTOPRISM_READONLY, value: "true" } | 76 - { name: PHOTOPRISM_READONLY, value: "true" } |
77 - { name: PHOTOPRISM_LOG_LEVEL, value: "trace" } | 77 - { name: PHOTOPRISM_LOG_LEVEL, value: "trace" } |
78 - { name: PHOTOPRISM_TRACE, value: "true"} | 78 - { name: PHOTOPRISM_TRACE, value: "true" } |
79 - { name: PHOTOPRISM_SITE_URL, value: "https://bigasterisk.com/photoprism/" } | 79 - { name: PHOTOPRISM_SITE_URL, value: "https://bigasterisk.com/photoprism/" } |
80 - { name: PHOTOPRISM_AUTH_MODE, value: "public" } | 80 - { name: PHOTOPRISM_AUTH_MODE, value: "public" } |
81 - { name: PHOTOPRISM_WORKERS, value: "2" } | 81 - { name: PHOTOPRISM_WORKERS, value: "2" } |
82 | 82 |
83 - { name: PHOTOPRISM_DISABLE_CHOWN, value: "true" } | 83 - { name: PHOTOPRISM_DISABLE_CHOWN, value: "true" } |
84 - { name: PHOTOPRISM_DISABLE_WEBDAV, value: "true" } | 84 - { name: PHOTOPRISM_DISABLE_WEBDAV, value: "true" } |
85 - { name: PHOTOPRISM_DISABLE_CLASSIFICATION, value: "true" } | 85 - { name: PHOTOPRISM_DISABLE_CLASSIFICATION, value: "true" } |
86 - { name: PHOTOPRISM_DISABLE_RAW, value: "true" } | 86 - { name: PHOTOPRISM_DISABLE_RAW, value: "true" } |
87 - { name: PHOTOPRISM_JPEG_SIZE, value: "720" } | 87 - { name: PHOTOPRISM_JPEG_SIZE, value: "720" } |
88 - { name: PHOTOPRISM_THUMB_SIZE, value: "720" } | 88 - { name: PHOTOPRISM_THUMB_SIZE, value: "720" } |
89 | 89 |
90 - { name: PHOTOPRISM_DATABASE_DRIVER, value: "mysql" } | 90 - { name: PHOTOPRISM_DATABASE_DRIVER, value: "mysql" } |
91 - { name: PHOTOPRISM_DATABASE_SERVER, value: "/run/mysqld/mysqld.sock" } | 91 - { name: PHOTOPRISM_DATABASE_SERVER, value: "/run/mysqld/mysqld.sock" } |
92 - { name: PHOTOPRISM_DATABASE_NAME, value: "photoprism" } | 92 - { name: PHOTOPRISM_DATABASE_NAME, value: "photoprism" } |
93 - { name: PHOTOPRISM_DATABASE_USER, value: "photoprism" } | 93 - { name: PHOTOPRISM_DATABASE_USER, value: "photoprism" } |
94 - { name: PHOTOPRISM_DATABASE_PASSWORD, value: "insecure" } | 94 - { name: PHOTOPRISM_DATABASE_PASSWORD, value: "insecure" } |
108 memory: 2500Mi | 108 memory: 2500Mi |
109 - name: mariadb | 109 - name: mariadb |
110 image: docker.io/mariadb:10.10.3 | 110 image: docker.io/mariadb:10.10.3 |
111 securityContext: | 111 securityContext: |
112 runAsUser: 1000 | 112 runAsUser: 1000 |
113 # let https://github.com/MariaDB/mariadb-docker/blob/749c720c63306d1572849afc6ab1cfa02fd08338/10.8/docker-entrypoint.sh | 113 # let https://github.com/MariaDB/mariadb-docker/blob/749c720c63306d1572849afc6ab1cfa02fd08338/10.8/docker-entrypoint.sh |
114 # do the startup. We could write to /etc/mysql/mariadb.conf.d if we really needed to config things. | 114 # do the startup. We could write to /etc/mysql/mariadb.conf.d if we really needed to config things. |
115 # command: suggested from photoprism docs | 115 # command: suggested from photoprism docs |
116 # - mysqld | 116 # - mysqld |
117 # - --innodb-buffer-pool-size=512M | 117 # - --innodb-buffer-pool-size=512M |
118 ## https://mariadb.com/kb/en/set-transaction/#isolation-levels current default is REPEATABLE-READ | 118 ## https://mariadb.com/kb/en/set-transaction/#isolation-levels current default is REPEATABLE-READ |
127 # - --innodb-lock-wait-timeout=120 | 127 # - --innodb-lock-wait-timeout=120 |
128 volumeMounts: | 128 volumeMounts: |
129 - { name: photoprism-storage, subPath: "mariadb", mountPath: "/var/lib/mysql" } | 129 - { name: photoprism-storage, subPath: "mariadb", mountPath: "/var/lib/mysql" } |
130 - { name: run-mysqld, mountPath: "/run/mysqld" } | 130 - { name: run-mysqld, mountPath: "/run/mysqld" } |
131 env: | 131 env: |
132 # https://hub.docker.com/_/mariadb/#:~:text=latest%20%2D%2Dverbose%20%2D%2Dhelp-,Environment%20Variables,-When%20you%20start | 132 # https://hub.docker.com/_/mariadb/#:~:text=latest%20%2D%2Dverbose%20%2D%2Dhelp-,Environment%20Variables,-When%20you%20start |
133 # says these only matter upon the first run. | 133 # says these only matter upon the first run. |
134 - { name: MARIADB_AUTO_UPGRADE, value: "1" } | 134 - { name: MARIADB_AUTO_UPGRADE, value: "1" } |
135 - { name: MARIADB_INITDB_SKIP_TZINFO, value: "1" } | 135 - { name: MARIADB_INITDB_SKIP_TZINFO, value: "1" } |
136 - { name: MARIADB_DATABASE, value: "photoprism" } | 136 - { name: MARIADB_DATABASE, value: "photoprism" } |
137 - { name: MARIADB_USER, value: "photoprism" } | 137 - { name: MARIADB_USER, value: "photoprism" } |
138 - { name: MARIADB_PASSWORD, value: "insecure" } | 138 - { name: MARIADB_PASSWORD, value: "insecure" } |
139 - { name: MARIADB_ROOT_PASSWORD, value: "insecure" } | 139 - { name: MARIADB_ROOT_PASSWORD, value: "insecure" } |
140 - name: mariadb-exporter | 140 - name: mariadb-exporter |
141 # for this to work, run this once: | 141 # for this to work, run this once: |
142 # | 142 # |
143 # k exec -it deploy/photoprism mariadb -- mysql --user=root --password=insecure | 143 # k exec -it deploy/photoprism mariadb -- mysql --user=root --password=insecure |
144 # | 144 # |
145 # CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX'; | 145 # CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX'; |
146 # GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'localhost'; | 146 # GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'localhost'; |
147 # GRANT SELECT ON performance_schema.* TO 'exporter'@'localhost'; | 147 # GRANT SELECT ON performance_schema.* TO 'exporter'@'localhost'; |
148 # GRANT ALL ON photoprism.* TO 'exporter'@'localhost'; | 148 # GRANT ALL ON photoprism.* TO 'exporter'@'localhost'; |
149 image: prom/mysqld-exporter:v0.14.0 | 149 image: prom/mysqld-exporter:v0.14.0 |
150 args: | 150 args: |
151 # see: k exec -it deploy/photoprism -c mariadb-exporter -- /bin/mysqld_exporter --help | 151 # see: k exec -it deploy/photoprism -c mariadb-exporter -- /bin/mysqld_exporter --help |
152 - "--collect.info_schema.tables.databases=photoprism" | 152 - "--collect.info_schema.tables.databases=photoprism" |
153 - "--collect.info_schema.tables" | 153 - "--collect.info_schema.tables" |
154 - "--no-collect.slave_status" | 154 - "--no-collect.slave_status" |
155 - "--collect.info_schema.processlist" | 155 - "--collect.info_schema.processlist" |
156 - "--no-collect.info_schema.query_response_time" | 156 - "--no-collect.info_schema.query_response_time" |
157 - "--collect.perf_schema.tablelocks" | 157 - "--collect.perf_schema.tablelocks" |
158 - "--collect.perf_schema.eventsstatements" | 158 - "--collect.perf_schema.eventsstatements" |
159 - "--collect.perf_schema.eventswaits" | 159 - "--collect.perf_schema.eventswaits" |
160 - "--collect.perf_schema.tableiowaits" | 160 - "--collect.perf_schema.tableiowaits" |
161 - "--collect.perf_schema.indexiowaits" | 161 - "--collect.perf_schema.indexiowaits" |
162 - "--collect.perf_schema.file_events" | 162 - "--collect.perf_schema.file_events" |
163 - "--collect.perf_schema.file_instances" | 163 - "--collect.perf_schema.file_instances" |
164 - "--collect.perf_schema.memory_events" | 164 - "--collect.perf_schema.memory_events" |
165 # need to turn on 'userstat' in mysql or something for these | 165 # need to turn on 'userstat' in mysql or something for these |
166 #- "--collect.info_schema.tablestats" | 166 #- "--collect.info_schema.tablestats" |
167 #- "--collect.info_schema.schemastats" | 167 #- "--collect.info_schema.schemastats" |
168 - "--log.level=info" | 168 - "--log.level=info" |
169 ports: | 169 ports: |
170 - containerPort: 9104 | 170 - containerPort: 9104 |
171 env: | 171 env: |
172 - name: DATA_SOURCE_NAME | 172 - name: DATA_SOURCE_NAME |
173 value: "exporter:XXXXXXXX@unix(/run/mysqld/mysqld.sock)/" | 173 value: "exporter:XXXXXXXX@unix(/run/mysqld/mysqld.sock)/" |
174 volumeMounts: | 174 volumeMounts: |
175 - { name: run-mysqld, mountPath: "/run/mysqld" } | 175 - { name: run-mysqld, mountPath: "/run/mysqld" } |
176 affinity: | 176 affinity: |
177 nodeAffinity: | 177 nodeAffinity: |
178 requiredDuringSchedulingIgnoredDuringExecution: | 178 requiredDuringSchedulingIgnoredDuringExecution: |