move to secrets, add pasta configuration
This commit is contained in:
parent
2b258105e8
commit
66d8951054
@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Bookstack database
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
ContainerName=bookstack-db
|
||||||
|
Image=lscr.io/linuxserver/mariadb:11.4.5
|
||||||
|
Volume=/var/vol/bookstack/db:/config:Z
|
||||||
|
Environment=PUID=1000
|
||||||
|
Environment=PGID=1000
|
||||||
|
Environment=TZ=Europe/Berlin
|
||||||
|
Secret=mysql_root_pw,type=env,target=MYSQL_ROOT_PASSWORD
|
||||||
|
Secret=mysql_database,type=env,target=MYSQL_DATABASE
|
||||||
|
Secret=mysql_user,type=env,target=MYSQL_USER
|
||||||
|
Secret=mysql_pw,type=env,target=MYSQL_PASSWORD
|
||||||
|
AutoUpdate=registry
|
||||||
|
Pod=bookstack.pod
|
||||||
@ -12,11 +12,11 @@ Environment=APP_URL=https://bookstack.rohrschacht.de
|
|||||||
# APP_KEY must be a unique key. Generate your own by running
|
# APP_KEY must be a unique key. Generate your own by running
|
||||||
# docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
|
# docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
|
||||||
# You should keep the "base64:" part for the option value.
|
# You should keep the "base64:" part for the option value.
|
||||||
Environment=APP_KEY={{ service_secrets.bookstack.app_key }}
|
Secret=app_key,type=env,target=APP_KEY
|
||||||
Environment=DB_HOST=127.0.0.1
|
Environment=DB_HOST=127.0.0.1
|
||||||
Environment=DB_PORT=3306
|
Environment=DB_PORT=3306
|
||||||
Environment=DB_DATABASE={{ service_secrets.bookstack.mysql_database }}
|
Secret=mysql_database,type=env,target=DB_DATABASE
|
||||||
Environment=DB_USERNAME={{ service_secrets.bookstack.mysql_user }}
|
Secret=mysql_user,type=env,target=DB_USERNAME
|
||||||
Environment=DB_PASSWORD={{ service_secrets.bookstack.mysql_pw }}
|
Secret=mysql_pw,type=env,target=DB_PASSWORD
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=bookstack.pod
|
Pod=bookstack.pod
|
||||||
@ -7,7 +7,7 @@ Image=docker.io/postgres:14
|
|||||||
Volume=/var/vol/gitea/db:/var/lib/postgresql/data:Z
|
Volume=/var/vol/gitea/db:/var/lib/postgresql/data:Z
|
||||||
Environment=LANG=en_US.utf8
|
Environment=LANG=en_US.utf8
|
||||||
Environment=PGDATA=/var/lib/postgresql/data/pgdata
|
Environment=PGDATA=/var/lib/postgresql/data/pgdata
|
||||||
Environment=POSTGRES_USER={{ service_secrets.gitea.pg_user }}
|
Secret=pg_user,type=env,target=POSTGRES_USER
|
||||||
Environment=POSTGRES_PASSWORD={{ service_secrets.gitea.pg_pw }}
|
Secret=pg_pw,type=env,target=POSTGRES_PASSWORD
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=gitea.pod
|
Pod=gitea.pod
|
||||||
@ -9,8 +9,8 @@ Environment=USER_UID=1000
|
|||||||
Environment=USER_GID=1000
|
Environment=USER_GID=1000
|
||||||
Environment=GITEA__database__DB_TYPE=postgres
|
Environment=GITEA__database__DB_TYPE=postgres
|
||||||
Environment=GITEA__database__DB_HOST=127.0.0.1:5432
|
Environment=GITEA__database__DB_HOST=127.0.0.1:5432
|
||||||
Environment=GITEA__database__DB_NAME={{ service_secrets.gitea.pg_db }}
|
Secret=pg_db,type=env,target=GITEA__database__DB_NAME
|
||||||
Environment=GITEA__database__DB_USER={{ service_secrets.gitea.pg_user }}
|
Secret=pg_user,type=env,target=GITEA__database__DB_USER
|
||||||
Environment=GITEA__database__DB_PASSWD={{ service_secrets.gitea.pg_pw }}
|
Secret=pg_pw,type=env,target=GITEA__database__DB_PASSWD
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=gitea.pod
|
Pod=gitea.pod
|
||||||
@ -7,7 +7,7 @@ Image=docker.io/postgres:12
|
|||||||
Volume=/var/vol/nextcloud/db:/var/lib/postgresql/data:Z
|
Volume=/var/vol/nextcloud/db:/var/lib/postgresql/data:Z
|
||||||
Environment=LANG=en_US.utf8
|
Environment=LANG=en_US.utf8
|
||||||
Environment=PGDATA=/var/lib/postgresql/data/pgdata
|
Environment=PGDATA=/var/lib/postgresql/data/pgdata
|
||||||
Environment=POSTGRES_USER={{ service_secrets.nextcloud.pg_user }}
|
Secret=pg_user,type=env,target=POSTGRES_USER
|
||||||
Environment=POSTGRES_PASSWORD={{ service_secrets.nextcloud.pg_pw }}
|
Secret=pg_pw,type=env,target=POSTGRES_PASSWORD
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=nextcloud.pod
|
Pod=nextcloud.pod
|
||||||
@ -9,8 +9,8 @@ Environment=USER_UID=1000
|
|||||||
Environment=USER_GID=1000
|
Environment=USER_GID=1000
|
||||||
Environment=PHP_MEMORY_LIMIT=4G
|
Environment=PHP_MEMORY_LIMIT=4G
|
||||||
Environment=POSTGRES_HOST=127.0.0.1:5432
|
Environment=POSTGRES_HOST=127.0.0.1:5432
|
||||||
Environment=POSTGRES_DB={{ service_secrets.nextcloud.pg_db }}
|
Secret=pg_db,type=env,target=POSTGRES_DB
|
||||||
Environment=POSTGRES_USER={{ service_secrets.nextcloud.pg_user }}
|
Secret=pg_user,type=env,target=POSTGRES_USER
|
||||||
Environment=POSTGRES_PASSWORD={{ service_secrets.nextcloud.pg_pw }}
|
Secret=pg_pw,type=env,target=POSTGRES_PASSWORD
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=nextcloud.pod
|
Pod=nextcloud.pod
|
||||||
@ -6,8 +6,8 @@ ContainerName=paperless-db
|
|||||||
Image=docker.io/postgres:17
|
Image=docker.io/postgres:17
|
||||||
Volume=/var/vol/paperless/db:/var/lib/postgresql/data:Z
|
Volume=/var/vol/paperless/db:/var/lib/postgresql/data:Z
|
||||||
Environment=LANG=en_US.utf8
|
Environment=LANG=en_US.utf8
|
||||||
Environment=POSTGRES_DB={{ service_secrets.paperless.pg_db }}
|
Secret=pg_db,type=env,target=POSTGRES_DB
|
||||||
Environment=POSTGRES_USER={{ service_secrets.paperless.pg_user }}
|
Secret=pg_user,type=env,target=POSTGRES_USER
|
||||||
Environment=POSTGRES_PASSWORD={{ service_secrets.paperless.pg_pw }}
|
Secret=pg_pw,type=env,target=POSTGRES_PASSWORD
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=paperless.pod
|
Pod=paperless.pod
|
||||||
@ -9,16 +9,16 @@ Volume=/var/vol/paperless/media:/usr/src/paperless/media:Z
|
|||||||
Volume=/var/vol/paperless/export:/usr/src/paperless/export:Z
|
Volume=/var/vol/paperless/export:/usr/src/paperless/export:Z
|
||||||
Volume=/var/vol/paperless/consume:/usr/src/paperless/consume:Z
|
Volume=/var/vol/paperless/consume:/usr/src/paperless/consume:Z
|
||||||
Environment=PAPERLESS_URL=https://paperless.rohrschacht.de
|
Environment=PAPERLESS_URL=https://paperless.rohrschacht.de
|
||||||
Environment=PAPERLESS_SECRET_KEY={{ service_secrets.paperless.secret_key }}
|
Secret=secret_key,type=env,target=PAPERLESS_SECRET_KEY
|
||||||
Environment=PAPERLESS_TIME_ZONE=Europe/Berlin
|
Environment=PAPERLESS_TIME_ZONE=Europe/Berlin
|
||||||
Environment=PAPERLESS_OCR_LANGUAGE=deu
|
Environment=PAPERLESS_OCR_LANGUAGE=deu
|
||||||
Environment=PAPERLESS_OCR_LANGUAGES=eng
|
Environment=PAPERLESS_OCR_LANGUAGES=eng
|
||||||
Environment=PAPERLESS_ADMIN_USER={{ service_secrets.paperless.admin_user }}
|
Secret=admin_user,type=env,target=PAPERLESS_ADMIN_USER
|
||||||
Environment=PAPERLESS_ADMIN_PASSWORD={{ service_secrets.paperless.admin_pw }}
|
Secret=admin_pw,type=env,target=PAPERLESS_ADMIN_PASSWORD
|
||||||
Environment=PAPERLESS_REDIS=redis://127.0.0.1:6379
|
Environment=PAPERLESS_REDIS=redis://127.0.0.1:6379
|
||||||
Environment=PAPERLESS_DBHOST=127.0.0.1
|
Environment=PAPERLESS_DBHOST=127.0.0.1
|
||||||
Environment=PAPERLESS_DBNAME={{ service_secrets.paperless.pg_db }}
|
Secret=pg_db,type=env,target=PAPERLESS_DBNAME
|
||||||
Environment=PAPERLESS_DBUSER={{ service_secrets.paperless.pg_user }}
|
Secret=pg_user,type=env,target=PAPERLESS_DBUSER
|
||||||
Environment=PAPERLESS_DBPASS={{ service_secrets.paperless.pg_pw }}
|
Secret=pg_pw,type=env,target=PAPERLESS_DBPASS
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=paperless.pod
|
Pod=paperless.pod
|
||||||
13
ansible/roles/services/files/sgnarva/sgnarva-db.container
Normal file
13
ansible/roles/services/files/sgnarva/sgnarva-db.container
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=SGNarva Wordpress database
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
ContainerName=sgnarva-db
|
||||||
|
Image=docker.io/mysql:8
|
||||||
|
Volume=/var/vol/sgnarva/sgnarvadb:/var/lib/mysql:Z
|
||||||
|
Secret=mysql_root_pw,type=env,target=MYSQL_ROOT_PASSWORD
|
||||||
|
Secret=mysql_db,type=env,target=MYSQL_DATABASE
|
||||||
|
Secret=mysql_user,type=env,target=MYSQL_USER
|
||||||
|
Secret=mysql_pw,type=env,target=MYSQL_PASSWORD
|
||||||
|
AutoUpdate=registry
|
||||||
|
Pod=sgnarva.pod
|
||||||
@ -8,14 +8,14 @@
|
|||||||
mode: '0755'
|
mode: '0755'
|
||||||
|
|
||||||
- name: Copy Quadlet files to the user's systemd directory
|
- name: Copy Quadlet files to the user's systemd directory
|
||||||
with_fileglob: "../templates/{{ service_name }}/*.j2"
|
with_fileglob: "{{ service_name }}/*"
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: template_path
|
label: "{{ file_path | basename }}"
|
||||||
ansible.builtin.template:
|
loop_var: file_path
|
||||||
src: "{{ template_path }}"
|
ansible.builtin.copy:
|
||||||
dest: "/home/{{ service_name }}/.config/containers/systemd/{{ template_path | basename | regex_replace('.j2', '') }}"
|
src: "{{ file_path }}"
|
||||||
|
dest: "/home/{{ service_name }}/.config/containers/systemd/{{ file_path | basename }}"
|
||||||
owner: "{{ service_name }}"
|
owner: "{{ service_name }}"
|
||||||
group: "{{ service_name }}"
|
group: "{{ service_name }}"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
remote_src: no
|
|
||||||
register: quadlet_files_copied
|
register: quadlet_files_copied
|
||||||
|
|||||||
22
ansible/roles/services/tasks/create_containers_conf.yml
Normal file
22
ansible/roles/services/tasks/create_containers_conf.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
- name: Remove pasta configuration if setting is off
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/home/{{ service_name }}/.config/containers/containers.conf"
|
||||||
|
state: absent
|
||||||
|
when: enable_pasta_config is not defined or not enable_pasta_config
|
||||||
|
|
||||||
|
- name: Ensure configuration path
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/home/{{ service_name }}/.config/containers"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ service_name }}"
|
||||||
|
group: "{{ service_name }}"
|
||||||
|
mode: '0755'
|
||||||
|
when: enable_pasta_config is defined and enable_pasta_config
|
||||||
|
- name: Create pasta configuration
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: "/home/{{ service_name }}/.config/containers/containers.conf"
|
||||||
|
content: |
|
||||||
|
[network]
|
||||||
|
pasta_options = ["-a", "10.0.2.0", "-n", "24", "-g", "10.0.2.2", "--dns-forward", "10.0.2.3"]
|
||||||
|
when: enable_pasta_config is defined and enable_pasta_config
|
||||||
@ -4,6 +4,7 @@
|
|||||||
path: "{{ btrfs_base_path }}/{{ service_name }}/{{ service_dir }}"
|
path: "{{ btrfs_base_path }}/{{ service_name }}/{{ service_dir }}"
|
||||||
loop: "{{ service_directories }}"
|
loop: "{{ service_directories }}"
|
||||||
loop_control:
|
loop_control:
|
||||||
|
label: "{{ service_name }}/{{ service_dir }}"
|
||||||
loop_var: service_dir
|
loop_var: service_dir
|
||||||
register: directory_stats
|
register: directory_stats
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,21 @@
|
|||||||
|
- name: Check if podman socket is active
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user is-active podman.socket' | grep -qv inactive"
|
||||||
|
become: yes
|
||||||
|
register: podman_socket_status
|
||||||
|
ignore_errors: yes
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Enable and start the podman socket if not active
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user enable --now podman.socket'"
|
||||||
|
become: yes
|
||||||
|
when: podman_socket_status.rc != 0
|
||||||
|
|
||||||
- name: Check if service is already running
|
- name: Check if service is already running
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user is-active {{ systemd_service_name }}' | grep -qv inactive"
|
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user is-active {{ systemd_service_name }}' | grep -qv inactive"
|
||||||
|
become: yes
|
||||||
register: service_status
|
register: service_status
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
changed_when: false
|
changed_when: false
|
||||||
@ -16,3 +31,17 @@
|
|||||||
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user daemon-reload && systemctl --user restart {{ systemd_service_name }}'"
|
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user daemon-reload && systemctl --user restart {{ systemd_service_name }}'"
|
||||||
become: yes
|
become: yes
|
||||||
when: service_status.rc == 0 and (quadlet_files_copied.changed or force_systemd_restart)
|
when: service_status.rc == 0 and (quadlet_files_copied.changed or force_systemd_restart)
|
||||||
|
|
||||||
|
- name: Check if podman auto updater timer is active
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user is-active podman-auto-update.timer' | grep -qv inactive"
|
||||||
|
become: yes
|
||||||
|
register: podman_auto_update_timer_status
|
||||||
|
ignore_errors: yes
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Enable and start the podman auto updater timer if not active
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: "machinectl shell {{ service_name }}@ /bin/bash -c 'systemctl --user enable --now podman-auto-update.timer'"
|
||||||
|
become: yes
|
||||||
|
when: podman_auto_update_timer_status.rc != 0
|
||||||
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
- name: Create users
|
- name: Create users
|
||||||
loop: "{{ services | dict2items }}"
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
include_tasks: create_user.yml
|
include_tasks: create_user.yml
|
||||||
vars:
|
vars:
|
||||||
service_name: "{{ item.key }}"
|
service_name: "{{ item.key }}"
|
||||||
@ -16,32 +18,58 @@
|
|||||||
|
|
||||||
- name: Create Btrfs subvolume
|
- name: Create Btrfs subvolume
|
||||||
loop: "{{ services | dict2items }}"
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
include_tasks: create_btrfs_subvolume.yml
|
include_tasks: create_btrfs_subvolume.yml
|
||||||
vars:
|
vars:
|
||||||
service_name: "{{ item.key }}"
|
service_name: "{{ item.key }}"
|
||||||
|
|
||||||
- name: Create service directories
|
- name: Create service directories
|
||||||
loop: "{{ services | dict2items }}"
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
include_tasks: create_service_directories.yml
|
include_tasks: create_service_directories.yml
|
||||||
when: " item.value.service_directories is defined and item.value.service_directories | length > 0"
|
when: " item.value.service_directories is defined and item.value.service_directories | length > 0"
|
||||||
vars:
|
vars:
|
||||||
service_name: "{{ item.key }}"
|
service_name: "{{ item.key }}"
|
||||||
service_directories: "{{ item.value.service_directories }}"
|
service_directories: "{{ item.value.service_directories }}"
|
||||||
|
|
||||||
|
- name: Pasta configuration
|
||||||
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
|
include_tasks: create_containers_conf.yml
|
||||||
|
vars:
|
||||||
|
service_name: "{{ item.key }}"
|
||||||
|
|
||||||
- name: Enable linger for the user
|
- name: Enable linger for the user
|
||||||
loop: "{{ services | dict2items }}"
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
include_tasks: enable_linger.yml
|
include_tasks: enable_linger.yml
|
||||||
vars:
|
vars:
|
||||||
service_name: "{{ item.key }}"
|
service_name: "{{ item.key }}"
|
||||||
|
|
||||||
|
- name: Install Secrets
|
||||||
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
|
include_tasks: secrets.yml
|
||||||
|
vars:
|
||||||
|
service_name: "{{ item.key }}"
|
||||||
|
|
||||||
- name: Copy Quadlet files
|
- name: Copy Quadlet files
|
||||||
loop: "{{ services | dict2items }}"
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
include_tasks: copy_quadlet_files.yml
|
include_tasks: copy_quadlet_files.yml
|
||||||
vars:
|
vars:
|
||||||
service_name: "{{ item.key }}"
|
service_name: "{{ item.key }}"
|
||||||
|
|
||||||
- name: Enable and start main service
|
- name: Enable and start main service
|
||||||
loop: "{{ services | dict2items }}"
|
loop: "{{ services | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.key }}"
|
||||||
include_tasks: enable_service.yml
|
include_tasks: enable_service.yml
|
||||||
vars:
|
vars:
|
||||||
service_name: "{{ item.key }}"
|
service_name: "{{ item.key }}"
|
||||||
|
|||||||
11
ansible/roles/services/tasks/secrets.yml
Normal file
11
ansible/roles/services/tasks/secrets.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
- name: Install Secrets
|
||||||
|
become: true
|
||||||
|
become_user: "{{ service_name }}"
|
||||||
|
containers.podman.podman_secret:
|
||||||
|
name: "{{ secret.key }}"
|
||||||
|
state: present
|
||||||
|
data: "{{ secret.value }}"
|
||||||
|
loop: "{{ service_secrets.get(service_name) | default({}, true) | dict2items }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ secret.key }}"
|
||||||
|
loop_var: secret
|
||||||
@ -1,16 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Bookstack database
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
ContainerName=bookstack-db
|
|
||||||
Image=lscr.io/linuxserver/mariadb:11.4.5
|
|
||||||
Volume=/var/vol/bookstack/db:/config:Z
|
|
||||||
Environment=PUID=1000
|
|
||||||
Environment=PGID=1000
|
|
||||||
Environment=TZ=Europe/Berlin
|
|
||||||
Environment=MYSQL_ROOT_PASSWORD={{ service_secrets.bookstack.mysql_root_pw }}
|
|
||||||
Environment=MYSQL_DATABASE={{ service_secrets.bookstack.mysql_database }}
|
|
||||||
Environment=MYSQL_USER={{ service_secrets.bookstack.mysql_user }}
|
|
||||||
Environment=MYSQL_PASSWORD={{ service_secrets.bookstack.mysql_pw }}
|
|
||||||
AutoUpdate=registry
|
|
||||||
Pod=bookstack.pod
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=SGNarva Wordpress database
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
ContainerName=sgnarva-db
|
|
||||||
Image=docker.io/mysql:8
|
|
||||||
Volume=/var/vol/sgnarva/sgnarvadb:/var/lib/mysql:Z
|
|
||||||
Environment=MYSQL_ROOT_PASSWORD={{ service_secrets.sgnarva.mysql_root_pw }}
|
|
||||||
Environment=MYSQL_DATABASE={{ service_secrets.sgnarva.mysql_db }}
|
|
||||||
Environment=MYSQL_USER={{ service_secrets.sgnarva.mysql_user }}
|
|
||||||
Environment=MYSQL_PASSWORD={{ service_secrets.sgnarva.mysql_pw }}
|
|
||||||
AutoUpdate=registry
|
|
||||||
Pod=sgnarva.pod
|
|
||||||
Loading…
Reference in New Issue
Block a user