digikam: add mariadb config

main
Jef Roosens 2025-02-13 14:38:13 +01:00
parent 84f9efd785
commit 5e456fe0b2
No known key found for this signature in database
GPG Key ID: 21FD3D77D56BAF49
9 changed files with 141 additions and 18 deletions

View File

@ -7,3 +7,6 @@ monica_mariadb_root_pass: "{{ vault_monica_mariadb_root_pass }}"
miniflux_admin: "{{ vault_miniflux_admin }}"
miniflux_admin_pass: "{{ vault_miniflux_admin_pass }}"
digikam_mariadb_pass: "{{ vault_digikam_mariadb_pass }}"
digikam_mariadb_root_pass: "{{ vault_digikam_mariadb_root_pass }}"

View File

@ -1,19 +1,26 @@
$ANSIBLE_VAULT;1.1;AES256
34653966333139353132363561373666373561306561343965353162393333363465633362336336
3161613435666463653536373363393939663431316233390a666337656238653732623839383161
66653934663538336235623663356333316432616361643930356531353734376531626135653565
3334626639396631320a613039303962373863393234336435353937383430343461383139353838
63343662626630616133396333633066386537316562373035363165643033643433323737323136
31316239653863363438343733373630396333633432666436343130636235363734626232363136
63383133616562343162653335396564623065323936646235626430363539336630373665373133
64613038393563333462323833393664363839613435666166626666366366383732613562666635
37626436306663333762636331303737383935643934626533366438393632386335383438313837
34616330396333646531316334636236393164303136613665666665326166376434616662636463
30343433663764383734396338346330343632376461366665386662383962323661613138663833
38316137353036373266343932613261353432653339626361616265313538323139646436633235
64613964323662383737643662633763616566386266646365633764376430633263356531343830
35373436643732313338336462306532326366643734666332313431396363363630313738383039
33626363333865346666643735623638366539653663363365383733386462386661323438613561
36343236643231346263306334333161623165386666363934633338653161643165306139346632
31363231393832663661303465643065363039363866383237303662383338363262373735663761
3332363437313435323466313932313738386164663966613330
38613635363435396562373461643133326636633430393530643166666334366132396335316130
3662663565653432656365653265393636643233363564370a323866373639376438323135343239
35623865373737396636353766636333626566666439343737396537343838333361363366303334
6632343033386337330a333665643361373564636636666461393637356332333466656430383731
65626537623733356134383464333162656438323964313630383930313739313465316331653034
36376665663331363466613330343665313333323339306365323365646166623537303434303730
32363037343761633466636531383864303335363938623932346232366261636262643034346138
31346132636334636637353030313339376262316433396334333532363138353365313838373231
35636335626664663637326437323733366331623435336666383434376430613564356636376432
62393064323336663064346266373934343736653666383362636434333962323466313631333165
66323431323966373263326464316432313636386238393339333161386162333337353631303466
64653034653965303039343464366463613564343634616230366665363861336633366530303562
38303065346237653233386566353766356637383965363636386566656139643638613461613037
61333737343964383034393839633462323466303030323433383163623862313433333932613831
63306665626465386230326665303430643637653836383237393531373739646666383237356338
30663462336366356636366662383864353764356264643237396561316633353261626236306165
65623366356665623334303835366361656365333835663032656338373937306130353839333366
62386130646164656538653031386561666230653635636661643264396430656234623634333037
63373939346461613964363335663833376564363234616564346261363362626135323537643864
38353936653434323735393966623664343761653934366638626239643135333139653461306435
38393232373834366234663762633062393633333234363938646562386334663633626434653763
32643831303037323738393962666136333138343937313966623264613633373134316135666563
36366165343031376266353461326465393538363039333135613736643931306333353031313635
66646266346566303231346638346436323766633233633833376166663235326337363136376561
63363633613639656437363738636236636365343232393731356638333335356331

View File

@ -0,0 +1,10 @@
services:
db:
image: 'mariadb:11.6'
env_file: 'mariadb.env'
ports:
- '8015:3306'
volumes:
- './init.sql:/docker-entrypoint-initdb.d/init.sql'
- '/mnt/data1/digikam/mariadb:/var/lib/mysql'

View File

@ -0,0 +1,13 @@
[Unit]
Description=Photo management software
After=docker.service
Requires=docker.service
[Service]
Type=exec
WorkingDirectory=/etc/digikam
ExecStart=/usr/bin/docker compose up
ExecStop=/usr/bin/docker compose down
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,6 @@
create database if not exists digikam_core;
create database if not exists digikam_thumbnails;
create database if not exists digikam_similarity;
create database if not exists digikam_recognition;
grant all privileges on *.* to 'digikam'@'%';

View File

@ -0,0 +1,5 @@
---
- name: 'restart digikam'
ansible.builtin.service:
name: 'digikam'
state: 'restarted'

View File

@ -0,0 +1,70 @@
---
- name: Ensure data directory is present
ansible.builtin.file:
path: '/mnt/data1/digikam'
state: directory
mode: '0755'
owner: 'root'
group: 'root'
- name: Ensure data subvolumes are present
community.general.btrfs_subvolume:
name: '/digikam/{{ item }}'
loop:
- 'mariadb'
- name: Ensure subvolume permissions are correct
ansible.builtin.file:
path: "/mnt/data1/digikam/{{ item }}"
state: directory
mode: '0755'
owner: '999'
group: '999'
loop:
- 'mariadb'
- name: Ensure configuration directory is present
ansible.builtin.file:
path: '/etc/digikam'
state: directory
mode: '0755'
- name: Ensure compose files is present
ansible.builtin.copy:
src: '{{ item }}'
dest: '/etc/digikam/{{ item }}'
mode: '0644'
owner: 'root'
group: 'root'
notify: 'restart digikam'
loop:
- 'compose.yml'
- 'init.sql'
- name: Ensure env file is present
ansible.builtin.template:
src: 'mariadb.env.j2'
dest: '/etc/digikam/mariadb.env'
mode: '0644'
owner: 'root'
group: 'root'
notify: 'restart digikam'
- name: Ensure service file is present
ansible.builtin.copy:
src: 'digikam.service'
dest: '/lib/systemd/system/digikam.service'
owner: 'root'
group: 'root'
mode: '0644'
register: res
- name: systemd-reload
ansible.builtin.systemd_service:
daemon_reload: true
when: 'res.changed'
- name: Ensure digikam service is enabled
ansible.builtin.service:
name: 'digikam'
enabled: true

View File

@ -0,0 +1,3 @@
MARIADB_USER=digikam
MARIADB_PASSWORD={{ digikam_mariadb_pass }}
MARIADB_ROOT_PASSWORD={{ digikam_mariadb_root_pass }}

View File

@ -81,3 +81,9 @@
roles:
- calathea
tags: calathea
- hosts: ruby
become: yes
roles:
- digikam
tags: digikam