Gramps: refactor app
Move scripts, configs and data to separate user space
This commit is contained in:
parent
93326907d2
commit
527067146f
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 }}"
|
||||
|
||||
|
@ -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 }}"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user