Compare commits

...

3 Commits

Author SHA1 Message Date
chatton 4b855cf936 remove network creation 2 years ago
chatton a8bb27161d migrate nextcloud and mariadb 2 years ago
chatton b151a66c85 migrate mariadb and bookstack 2 years ago

@ -17,7 +17,6 @@ desired_docker_images:
portainer_endpoint: -1 portainer_endpoint: -1
portainer_base_url: "http://qnap:9000" portainer_base_url: "http://qnap:9000"
external_docker_networks: []
portainer_required_files: [] portainer_required_files: []
restart_policy: unless-stopped restart_policy: unless-stopped
backup_labels: backup_labels:

@ -13,14 +13,21 @@ pihole_volumes:
dell_app: {} dell_app: {}
dell_dns: {} dell_dns: {}
mariadb_network: mariadb_net
portainer_roles: portainer_roles:
# mariadb network
- role: portainer_mariadb
- role: portainer_bookstack
- role: portainer_nextcloud
# individual networks
- role: portainer_minio - role: portainer_minio
- role: portainer_glances - role: portainer_glances
- role: portainer_dashdot - role: portainer_dashdot
- role: portainer_dashy - role: portainer_dashy
- role: portainer_diun - role: portainer_diun
- role: portainer_vaultwarden - role: portainer_vaultwarden
- role: portainer_bookstack
- role: portainer_vikunja - role: portainer_vikunja
- role: portainer_linkding - role: portainer_linkding
- role: portainer_gotify - role: portainer_gotify

@ -34,10 +34,6 @@ devices:
- uuid: c528bf82-61ab-4f3d-87e0-d1e6e02ef7ec # /dev/sdf - uuid: c528bf82-61ab-4f3d-87e0-d1e6e02ef7ec # /dev/sdf
path: /mnt/ssd0/ path: /mnt/ssd0/
# docker networks to be created before portainer stacks are created.
external_docker_networks:
- mariadb_net
ansible_pull_path: /home/{{ homelab_user }}/.local/bin/ansible-pull ansible_pull_path: /home/{{ homelab_user }}/.local/bin/ansible-pull
portainer_required_files: portainer_required_files:
@ -48,20 +44,6 @@ portainer_required_files:
portainer_endpoint: 2 portainer_endpoint: 2
services: services:
- name: gitea
template_vars:
image: gitea/gitea
tag: 1.19.0
- name: nextcloud
template_vars:
default_network: mariadb_net
image: nextcloud
tag: 27.0
- name: mariadb
template_vars:
image: mariadb
tag: 10.8.3
default_network: mariadb_net
- name: photoprism - name: photoprism
template_vars: template_vars:
default_network: mariadb_net default_network: mariadb_net
@ -83,3 +65,4 @@ portainer_roles:
- role: portainer_arr - role: portainer_arr
- role: portainer_pihole - role: portainer_pihole
- role: portainer_nginx_proxy_manager - role: portainer_nginx_proxy_manager
# - role: portainer_minio

@ -4,7 +4,7 @@ bookstack_image: linuxserver/bookstack
bookstack_tag: 23.06.1 bookstack_tag: 23.06.1
bookstack_puid: 1000 bookstack_puid: 1000
bookstack_pgid: 1000 bookstack_pgid: 1000
bookstack_db_host: qnap bookstack_db_host: mariadb # this works only if bookstack is on the mariadb_network
bookstack_database: bookstackapp bookstack_database: bookstackapp
bookstack_db_user: bookstack bookstack_db_user: bookstack
bookstack_app_url: https://bookstack.cianhatton.ie bookstack_app_url: https://bookstack.cianhatton.ie

@ -1,4 +1,8 @@
--- ---
- name: Bookstack | Create docker network.
docker_network:
name: '{{ mariadb_network }}'
- name: "Bookstack | Restore any missing volumes from S3" - name: "Bookstack | Restore any missing volumes from S3"
ansible.builtin.include_role: ansible.builtin.include_role:
name: chatton.docker_backup.docker_s3_volume_restore name: chatton.docker_backup.docker_s3_volume_restore
@ -36,3 +40,8 @@
restart: "{{ restart_policy }}" restart: "{{ restart_policy }}"
volumes: volumes:
config: {} config: {}
networks:
default:
name: "{{ mariadb_network }}"
external: true

@ -0,0 +1,13 @@
---
mariadb_portainer_stack_name: mariadb
mariadb_state: present
mariadb_image: mariadb
mariadb_tag: 10.8.3
mariadb_container_name: mariadb
mariadb_expose_port: 3306
mariadb_network: mariadb_net
adminer_container_name: adminer
adminer_image: adminer
adminer_tag: latest
adminer_expose_port: 3307

@ -0,0 +1,55 @@
---
- name: Mariadb | Create docker network.
docker_network:
name: '{{ mariadb_network }}'
- name: "Mariadb | Restore any missing volumes from S3"
ansible.builtin.include_role:
name: chatton.docker_backup.docker_s3_volume_restore
vars:
docker_backup_s3_volume: "{{ item }}"
with_items:
- name: "{{ mariadb_portainer_stack_name }}_data"
- name: "{{ mariadb_portainer_stack_name }}_config"
- name: "Mariadb | Update Portainer."
chatton.portainer.portainer_stack:
username: '{{ portainer_user }}'
password: '{{ portainer.password }}'
base_url: '{{ portainer_base_url }}'
stack_name: '{{ mariadb_portainer_stack_name }}'
endpoint_id: '{{ portainer_endpoint }}'
state: "{{ mariadb_state }}"
definition:
version: '3.1'
services:
mariadb:
labels: "{{ backup_labels }}"
container_name: "{{ mariadb_container_name }}"
image: "{{ mariadb_image }}:{{ mariadb_tag }}"
hostname: mariadb
restart: "{{ restart_policy }}"
ports:
- "{{ mariadb_expose_port }}:3306"
volumes:
- data:/var/lib/mysql
- config:/etc/mysql/conf.d
environment:
- MYSQL_ROOT_PASSWORD={{ mariadb.mysql_root_password }}
adminer:
restart: "{{ restart_policy }}"
image: "{{ adminer_image }}:{{ adminer_tag }}"
environment:
ADMINER_DEFAULT_SERVER: mariadb
ADMINER_DESIGN: galkaev
ports:
- "{{ adminer_expose_port }}:8080"
volumes:
data:
config:
networks:
default:
name: "{{ mariadb_network }}"
external: true

@ -0,0 +1,7 @@
---
nextcloud_state: present
nextcloud_image: nextcloud
nextcloud_tag: 27.0
nextcloud_expose_port: 8081
nextcloud_container_name: nextcloud
nextcloud_portainer_stack_name: nextcloud

@ -0,0 +1,39 @@
---
- name: Nextcloud | Create docker network.
docker_network:
name: '{{ mariadb_network }}'
- name: "Nextcloud | Restore any missing volumes from S3"
ansible.builtin.include_role:
name: chatton.docker_backup.docker_s3_volume_restore
vars:
docker_backup_s3_volume:
name: "{{ nextcloud_portainer_stack_name }}_data"
- name: "Nextcloud | Update Portainer."
chatton.portainer.portainer_stack:
username: '{{ portainer_user }}'
password: '{{ portainer.password }}'
base_url: '{{ portainer_base_url }}'
stack_name: '{{ nextcloud_portainer_stack_name }}'
endpoint_id: '{{ portainer_endpoint }}'
state: "{{ nextcloud_state }}"
definition:
version: '3.2'
services:
nextcloud:
labels: "{{ backup_labels }}"
image: "{{ nextcloud_image }}:{{ nextcloud_tag }}"
container_name: "{{ nextcloud_container_name }}"
restart: "{{ restart_policy }}"
ports:
- "{{ nextcloud_expose_port }}:80"
volumes:
- data:/var/www/html
volumes:
data:
networks:
default:
name: "{{ mariadb_network }}"
external: true

@ -32,11 +32,6 @@
loop_var: file_item loop_var: file_item
notify: "{{ file_item.handler }}" notify: "{{ file_item.handler }}"
- name: Create external docker networks.
docker_network:
name: '{{ item }}'
with_items: '{{ external_docker_networks }}'
- name: Deploy Portainer stacks. - name: Deploy Portainer stacks.
ansible.builtin.include_role: ansible.builtin.include_role:
name: deploy_portainer_stack name: deploy_portainer_stack

@ -31,7 +31,7 @@ services:
PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow) PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow)
PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow) PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow)
PHOTOPRISM_DATABASE_DRIVER: "mysql" # use MariaDB 10.5+ or MySQL 8+ instead of SQLite for improved performance PHOTOPRISM_DATABASE_DRIVER: "mysql" # use MariaDB 10.5+ or MySQL 8+ instead of SQLite for improved performance
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB or MySQL database server (hostname:port) PHOTOPRISM_DATABASE_SERVER: "dell:3306" # MariaDB or MySQL database server (hostname:port)
PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB or MySQL database schema name PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB or MySQL database schema name
PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB or MySQL database user name PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB or MySQL database user name
PHOTOPRISM_DATABASE_PASSWORD: {{ photoprism.database_password }} # MariaDB or MySQL database user password PHOTOPRISM_DATABASE_PASSWORD: {{ photoprism.database_password }} # MariaDB or MySQL database user password
@ -48,7 +48,7 @@ services:
- {{ directories.photoprism_dir}}/storage:/photoprism/storage # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE) - {{ directories.photoprism_dir}}/storage:/photoprism/storage # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)
networks: #networks:
default: # default:
name: {{ template_vars.default_network }} # name: {{ template_vars.default_network }}
external: true # external: true

Loading…
Cancel
Save