diff --git a/files/backups/backup-all.sh.j2 b/files/backups/backup-all.sh.j2 index 3a5ee61..80bcf4e 100644 --- a/files/backups/backup-all.sh.j2 +++ b/files/backups/backup-all.sh.j2 @@ -15,12 +15,12 @@ su --login outline --command '/home/outline/backup.sh' echo "Backup: perform gramps backup" -su --login {{ primary_user }} --command '/home/{{ primary_user }}/applications/gramps/backup.sh' +su --login gramps --command '/home/gramps/backup.sh' echo "Backup: send backups to remote storage with retic" -restic-shell.sh backup --verbose /home/gitea/backups /home/outline/backups /home/major/applications/gramps/backups \ +restic-shell.sh backup --verbose /home/gitea/backups /home/outline/backups /home/gramps/backups \ && restic-shell.sh check \ && restic-shell.sh forget --compact --prune --keep-daily 90 --keep-monthly 36 \ && restic-shell.sh check diff --git a/files/gramps/docker-compose.yml.j2 b/files/gramps/docker-compose.yml.j2 index 3066b38..80a2b10 100644 --- a/files/gramps/docker-compose.yml.j2 +++ b/files/gramps/docker-compose.yml.j2 @@ -32,13 +32,13 @@ services: AWS_SECRET_ACCESS_KEY: "{{ gramps_s3_secret_access_key }}" AWS_DEFAULT_REGION: "{{ gramps_s3_region }}" volumes: - - ./data/gramps_users:/app/users # persist user database - - ./data/gramps_index:/app/indexdir # persist search index - - ./data/gramps_thumb_cache:/app/thumbnail_cache # persist thumbnails - - ./data/gramps_cache:/app/cache # persist export and report caches - - ./data/gramps_secret:/app/secret # persist flask secret - - ./data/gramps_db:/root/.gramps/grampsdb # persist Gramps database - - ./data/gramps_media:/app/media # persist media files + - "{{ (data_dir, 'gramps_db') | path_join }}:/root/.gramps/grampsdb" # persist Gramps database + - "{{ (data_dir, 'gramps_users') | path_join }}:/app/users" # persist user database + - "{{ (data_dir, 'gramps_index') | path_join }}:/app/indexdir" # persist search index + - "{{ (data_dir, 'gramps_thumb_cache') | path_join }}:/app/thumbnail_cache" # persist thumbnails + - "{{ (data_dir, 'gramps_cache') | path_join }}:/app/cache" # persist export and report caches + - "{{ (data_dir, 'gramps_secret') | path_join }}:/app/secret" # persist flask secret + - "{{ (data_dir, 'gramps_media') | path_join }}:/app/media" # persist media files gramps_celery: <<: *gramps_app # YAML merge key copying the entire grampsweb service config diff --git a/playbook-gitea.yml b/playbook-gitea.yml index c916573..a4a6dc4 100644 --- a/playbook-gitea.yml +++ b/playbook-gitea.yml @@ -9,7 +9,7 @@ vars: app_name: "gitea" app_user: "{{ app_name }}" - base_dir: "/home/{{ app_name }}" + base_dir: "/home/{{ app_user }}" data_dir: "{{ (base_dir, 'data') | path_join }}" backups_dir: "{{ (base_dir, 'backups') | path_join }}" diff --git a/playbook-gramps.yml b/playbook-gramps.yml index dde6937..67add14 100644 --- a/playbook-gramps.yml +++ b/playbook-gramps.yml @@ -8,14 +8,31 @@ vars: app_name: "gramps" - app_user: "{{ primary_user }}" - base_dir: "/home/{{ primary_user }}/applications/{{ app_name }}" + app_user: "{{ app_name }}" + base_dir: "/home/{{ app_user }}" data_dir: "{{ (base_dir, 'data') | path_join }}" backups_dir: "{{ (base_dir, 'backups') | path_join }}" gobackup_config: "{{ (base_dir, 'gobackup.yml') | path_join }}" tasks: - - name: "Create application directories" + - name: "Create user and environment" + ansible.builtin.import_role: + name: owner + vars: + owner_name: "{{ app_user }}" + owner_extra_groups: + - "docker" + owner_ssh_keys: + - "{{ lookup('file', 'files/av_id_rsa.pub') }}" + owner_env: + PROJECT_NAME: "{{ app_name }}" + DOCKER_PREFIX: "{{ app_name }}" + IMAGE_PREFIX: "{{ app_name }}" + CONTAINER_PREFIX: "{{ app_name }}" + USER_UID: "{{ user_create_result.uid }}" + USER_GID: "{{ user_create_result.group }}" + + - name: "Create application internal directories" ansible.builtin.file: path: "{{ item }}" state: "directory" @@ -23,7 +40,6 @@ group: "{{ app_user }}" mode: "0750" loop: - - "{{ base_dir }}" - "{{ data_dir }}" - "{{ backups_dir }}"