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"
|
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"
|
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 check \
|
||||||
&& restic-shell.sh forget --compact --prune --keep-daily 90 --keep-monthly 36 \
|
&& restic-shell.sh forget --compact --prune --keep-daily 90 --keep-monthly 36 \
|
||||||
&& restic-shell.sh check
|
&& restic-shell.sh check
|
||||||
|
@ -32,13 +32,13 @@ services:
|
|||||||
AWS_SECRET_ACCESS_KEY: "{{ gramps_s3_secret_access_key }}"
|
AWS_SECRET_ACCESS_KEY: "{{ gramps_s3_secret_access_key }}"
|
||||||
AWS_DEFAULT_REGION: "{{ gramps_s3_region }}"
|
AWS_DEFAULT_REGION: "{{ gramps_s3_region }}"
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/gramps_users:/app/users # persist user database
|
- "{{ (data_dir, 'gramps_db') | path_join }}:/root/.gramps/grampsdb" # persist Gramps database
|
||||||
- ./data/gramps_index:/app/indexdir # persist search index
|
- "{{ (data_dir, 'gramps_users') | path_join }}:/app/users" # persist user database
|
||||||
- ./data/gramps_thumb_cache:/app/thumbnail_cache # persist thumbnails
|
- "{{ (data_dir, 'gramps_index') | path_join }}:/app/indexdir" # persist search index
|
||||||
- ./data/gramps_cache:/app/cache # persist export and report caches
|
- "{{ (data_dir, 'gramps_thumb_cache') | path_join }}:/app/thumbnail_cache" # persist thumbnails
|
||||||
- ./data/gramps_secret:/app/secret # persist flask secret
|
- "{{ (data_dir, 'gramps_cache') | path_join }}:/app/cache" # persist export and report caches
|
||||||
- ./data/gramps_db:/root/.gramps/grampsdb # persist Gramps database
|
- "{{ (data_dir, 'gramps_secret') | path_join }}:/app/secret" # persist flask secret
|
||||||
- ./data/gramps_media:/app/media # persist media files
|
- "{{ (data_dir, 'gramps_media') | path_join }}:/app/media" # persist media files
|
||||||
|
|
||||||
gramps_celery:
|
gramps_celery:
|
||||||
<<: *gramps_app # YAML merge key copying the entire grampsweb service config
|
<<: *gramps_app # YAML merge key copying the entire grampsweb service config
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
vars:
|
vars:
|
||||||
app_name: "gitea"
|
app_name: "gitea"
|
||||||
app_user: "{{ app_name }}"
|
app_user: "{{ app_name }}"
|
||||||
base_dir: "/home/{{ app_name }}"
|
base_dir: "/home/{{ app_user }}"
|
||||||
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
||||||
backups_dir: "{{ (base_dir, 'backups') | path_join }}"
|
backups_dir: "{{ (base_dir, 'backups') | path_join }}"
|
||||||
|
|
||||||
|
@ -8,14 +8,31 @@
|
|||||||
|
|
||||||
vars:
|
vars:
|
||||||
app_name: "gramps"
|
app_name: "gramps"
|
||||||
app_user: "{{ primary_user }}"
|
app_user: "{{ app_name }}"
|
||||||
base_dir: "/home/{{ primary_user }}/applications/{{ app_name }}"
|
base_dir: "/home/{{ app_user }}"
|
||||||
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
||||||
backups_dir: "{{ (base_dir, 'backups') | path_join }}"
|
backups_dir: "{{ (base_dir, 'backups') | path_join }}"
|
||||||
gobackup_config: "{{ (base_dir, 'gobackup.yml') | path_join }}"
|
gobackup_config: "{{ (base_dir, 'gobackup.yml') | path_join }}"
|
||||||
|
|
||||||
tasks:
|
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:
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: "directory"
|
state: "directory"
|
||||||
@ -23,7 +40,6 @@
|
|||||||
group: "{{ app_user }}"
|
group: "{{ app_user }}"
|
||||||
mode: "0750"
|
mode: "0750"
|
||||||
loop:
|
loop:
|
||||||
- "{{ base_dir }}"
|
|
||||||
- "{{ data_dir }}"
|
- "{{ data_dir }}"
|
||||||
- "{{ backups_dir }}"
|
- "{{ backups_dir }}"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user