Compare commits
5 Commits
fb1fd711c2
...
bdd74bdf2e
| Author | SHA1 | Date | |
|---|---|---|---|
|
bdd74bdf2e
|
|||
|
78bee84061
|
|||
|
7b81858af6
|
|||
|
08fda17561
|
|||
|
841bd38807
|
10
files/authelia/backup.template.sh
Normal file
10
files/authelia/backup.template.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
echo "{{ app_name }}: backup data with gobackups"
|
||||||
|
|
||||||
|
(cd "{{ base_dir }}" && gobackup perform --config "{{ gobackup_config }}")
|
||||||
|
|
||||||
|
echo "{{ app_name }}: done."
|
||||||
@@ -1026,7 +1026,7 @@ storage:
|
|||||||
##
|
##
|
||||||
local:
|
local:
|
||||||
## Path to the SQLite3 Database.
|
## Path to the SQLite3 Database.
|
||||||
path: '/config/authelia_storage.sqlite3'
|
path: '/data/authelia_storage.sqlite3'
|
||||||
|
|
||||||
##
|
##
|
||||||
## MySQL / MariaDB (Storage Provider)
|
## MySQL / MariaDB (Storage Provider)
|
||||||
|
|||||||
@@ -10,9 +10,10 @@ services:
|
|||||||
- "monitoring_network"
|
- "monitoring_network"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ config_dir }}:/config"
|
- "{{ config_dir }}:/config"
|
||||||
|
- "{{ data_dir }}:/data"
|
||||||
|
|
||||||
authelia_redis:
|
authelia_redis:
|
||||||
image: valkey/valkey:9-alpine
|
image: valkey/valkey:9.0-alpine
|
||||||
container_name: authelia_redis
|
container_name: authelia_redis
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
16
files/authelia/gobackup.template.yml
Normal file
16
files/authelia/gobackup.template.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# https://gobackup.github.io/configuration
|
||||||
|
|
||||||
|
models:
|
||||||
|
|
||||||
|
authelia:
|
||||||
|
compress_with:
|
||||||
|
type: 'tgz'
|
||||||
|
storages:
|
||||||
|
local:
|
||||||
|
type: 'local'
|
||||||
|
path: '{{ backups_dir }}'
|
||||||
|
keep: 3
|
||||||
|
databases:
|
||||||
|
users:
|
||||||
|
type: sqlite
|
||||||
|
path: "{{ (data_dir, 'authelia_storage.sqlite3') | path_join }}"
|
||||||
@@ -15,10 +15,10 @@ services:
|
|||||||
- "{{ (data_dir, 'gramps_db') | path_join }}:/root/.gramps/grampsdb" # persist Gramps database
|
- "{{ (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_users') | path_join }}:/app/users" # persist user database
|
||||||
- "{{ (data_dir, 'gramps_index') | path_join }}:/app/indexdir" # persist search index
|
- "{{ (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_secret') | path_join }}:/app/secret" # persist flask secret
|
||||||
- "{{ (data_dir, 'gramps_media') | path_join }}:/app/media" # persist media files
|
- "{{ (data_dir, 'gramps_media') | path_join }}:/app/media" # persist media files
|
||||||
|
- "{{ (cache_dir, 'gramps_thumb_cache') | path_join }}:/app/thumbnail_cache" # persist thumbnails
|
||||||
|
- "{{ (cache_dir, 'gramps_cache') | path_join }}:/app/cache" # persist export and report caches
|
||||||
environment:
|
environment:
|
||||||
GRAMPSWEB_TREE: "Gramps" # will create a new tree if not exists
|
GRAMPSWEB_TREE: "Gramps" # will create a new tree if not exists
|
||||||
GRAMPSWEB_SECRET_KEY: "{{ gramps_secret_key }}"
|
GRAMPSWEB_SECRET_KEY: "{{ gramps_secret_key }}"
|
||||||
@@ -56,7 +56,7 @@ services:
|
|||||||
command: celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=1
|
command: celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=1
|
||||||
|
|
||||||
gramps_redis:
|
gramps_redis:
|
||||||
image: valkey/valkey:9-alpine
|
image: valkey/valkey:9.0-alpine
|
||||||
container_name: gramps_redis
|
container_name: gramps_redis
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -26,7 +26,3 @@ models:
|
|||||||
archive:
|
archive:
|
||||||
includes:
|
includes:
|
||||||
- "{{ data_dir }}"
|
- "{{ data_dir }}"
|
||||||
excludes:
|
|
||||||
- "{{ (data_dir, 'gramps_cache') | path_join }}"
|
|
||||||
- "{{ (data_dir, 'gramps_thumb_cache') | path_join }}"
|
|
||||||
- "{{ (data_dir, 'gramps_tmp') | path_join }}"
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ services:
|
|||||||
SMTP_SECURE: 'false'
|
SMTP_SECURE: 'false'
|
||||||
|
|
||||||
outline_redis:
|
outline_redis:
|
||||||
image: valkey/valkey:8.1.1-alpine
|
image: valkey/valkey:9.0-alpine
|
||||||
container_name: outline_redis
|
container_name: outline_redis
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
@@ -76,6 +76,10 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- "outline_network"
|
- "outline_network"
|
||||||
- "monitoring_network"
|
- "monitoring_network"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "--username={{ outline_postgres_user }}", "--dbname={{ outline_postgres_database }}"]
|
||||||
|
interval: 10s
|
||||||
|
start_period: 30s
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
outline_network:
|
outline_network:
|
||||||
|
|||||||
@@ -13,7 +13,10 @@
|
|||||||
app_owner_uid: 1011
|
app_owner_uid: 1011
|
||||||
app_owner_gid: 1012
|
app_owner_gid: 1012
|
||||||
base_dir: "{{ (application_dir, app_name) | path_join }}"
|
base_dir: "{{ (application_dir, app_name) | path_join }}"
|
||||||
|
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
||||||
config_dir: "{{ (base_dir, 'config') | path_join }}"
|
config_dir: "{{ (base_dir, 'config') | path_join }}"
|
||||||
|
backups_dir: "{{ (base_dir, 'backups') | path_join }}"
|
||||||
|
gobackup_config: "{{ (base_dir, 'gobackup.yml') | path_join }}"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: "Create user and environment"
|
- name: "Create user and environment"
|
||||||
@@ -34,7 +37,9 @@
|
|||||||
mode: "0700"
|
mode: "0700"
|
||||||
loop:
|
loop:
|
||||||
- "{{ base_dir }}"
|
- "{{ base_dir }}"
|
||||||
|
- "{{ data_dir }}"
|
||||||
- "{{ config_dir }}"
|
- "{{ config_dir }}"
|
||||||
|
- "{{ backups_dir }}"
|
||||||
|
|
||||||
- name: "Copy users file"
|
- name: "Copy users file"
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
@@ -44,7 +49,7 @@
|
|||||||
group: "{{ app_user }}"
|
group: "{{ app_user }}"
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
|
|
||||||
- name: "Copy configuration files (templates)"
|
- name: "Copy configuration file"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "files/{{ app_name }}/configuration.template.yml"
|
src: "files/{{ app_name }}/configuration.template.yml"
|
||||||
dest: "{{ (config_dir, 'configuration.yml') | path_join }}"
|
dest: "{{ (config_dir, 'configuration.yml') | path_join }}"
|
||||||
@@ -52,6 +57,22 @@
|
|||||||
group: "{{ app_user }}"
|
group: "{{ app_user }}"
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
|
|
||||||
|
- name: "Copy gobackup config"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "files/{{ app_name }}/gobackup.template.yml"
|
||||||
|
dest: "{{ gobackup_config }}"
|
||||||
|
owner: "{{ app_user }}"
|
||||||
|
group: "{{ app_user }}"
|
||||||
|
mode: "0640"
|
||||||
|
|
||||||
|
- name: "Copy backup script"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "files/{{ app_name }}/backup.template.sh"
|
||||||
|
dest: "{{ (base_dir, 'backup.sh') | path_join }}"
|
||||||
|
owner: "{{ app_user }}"
|
||||||
|
group: "{{ app_user }}"
|
||||||
|
mode: "0750"
|
||||||
|
|
||||||
- name: "Copy docker compose file"
|
- name: "Copy docker compose file"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "./files/{{ app_name }}/docker-compose.template.yml"
|
src: "./files/{{ app_name }}/docker-compose.template.yml"
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
app_owner_gid: 1010
|
app_owner_gid: 1010
|
||||||
base_dir: "{{ (application_dir, app_name) | path_join }}"
|
base_dir: "{{ (application_dir, app_name) | path_join }}"
|
||||||
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
||||||
|
cache_dir: "{{ (base_dir, 'cache') | 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 }}"
|
||||||
|
|
||||||
@@ -36,6 +37,7 @@
|
|||||||
loop:
|
loop:
|
||||||
- "{{ base_dir }}"
|
- "{{ base_dir }}"
|
||||||
- "{{ data_dir }}"
|
- "{{ data_dir }}"
|
||||||
|
- "{{ cache_dir }}"
|
||||||
- "{{ backups_dir }}"
|
- "{{ backups_dir }}"
|
||||||
|
|
||||||
- name: "Copy gobackup config"
|
- name: "Copy gobackup config"
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
|
|
||||||
- name: "Copy docker compose file"
|
- name: "Copy docker compose file"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "./files/{{ app_name }}/docker-compose.yml.j2"
|
src: "./files/{{ app_name }}/docker-compose.template.yml"
|
||||||
dest: "{{ base_dir }}/docker-compose.yml"
|
dest: "{{ base_dir }}/docker-compose.yml"
|
||||||
owner: "{{ app_user }}"
|
owner: "{{ app_user }}"
|
||||||
group: "{{ app_user }}"
|
group: "{{ app_user }}"
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
- name: "Copy backup script"
|
- name: "Copy backup script"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "./files/{{ app_name }}/backup.sh.j2"
|
src: "./files/{{ app_name }}/backup.template.sh"
|
||||||
dest: "{{ base_dir }}/backup.sh"
|
dest: "{{ base_dir }}/backup.sh"
|
||||||
owner: "{{ app_user }}"
|
owner: "{{ app_user }}"
|
||||||
group: "{{ app_user }}"
|
group: "{{ app_user }}"
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
- name: "Copy backup script"
|
- name: "Copy backup script"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "./files/{{ app_name }}/backup.sh.j2"
|
src: "./files/{{ app_name }}/backup.template.sh"
|
||||||
dest: "{{ base_dir }}/backup.sh"
|
dest: "{{ base_dir }}/backup.sh"
|
||||||
owner: "{{ app_user }}"
|
owner: "{{ app_user }}"
|
||||||
group: "{{ app_user }}"
|
group: "{{ app_user }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user