Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • infrastruktur/ansible-warpzone
  • specki/ansible-warpzone
2 results
Show changes
Showing
with 68 additions and 21 deletions
--- ---
- include: ../functions/get_secret.yml - include_tasks: ../functions/get_secret.yml
with_items: with_items:
- { path: "{{ basedir }}/homeassistant_admin_password", length: 12 } - { path: "{{ basedir }}/homeassistant_admin_password", length: 12 }
- { path: "{{ basedir }}/influxdb_password", length: 12 } - { path: "{{ basedir }}/influxdb_password", length: 12 }
......
...@@ -24,7 +24,7 @@ services: ...@@ -24,7 +24,7 @@ services:
influxdb: influxdb:
image: influxdb:2.6.0 image: influxdb:2.7.1
restart: always restart: always
ports: ports:
- "{{ int_ip4 }}:{{ influxdb_port }}:8086" - "{{ int_ip4 }}:{{ influxdb_port }}:8086"
......
...@@ -5,7 +5,7 @@ services: ...@@ -5,7 +5,7 @@ services:
app: app:
image: prom/prometheus:v2.42.0 image: prom/prometheus:v2.45.0
restart: always restart: always
ports: ports:
- 9090:9090 - 9090:9090
......
...@@ -119,12 +119,6 @@ ...@@ -119,12 +119,6 @@
omada_port_https: 8043, omada_port_https: 8043,
omada_portal_https: 8843 omada_portal_https: 8843
} }
- {
role: intern/docker_graylog, tags: graylog,
servicename: graylog,
basedir: /srv/graylog,
domain: "graylog.warpzone.lan"
}
- { - {
role: intern/docker_tasmoadmin, tags: tasmoadmin, role: intern/docker_tasmoadmin, tags: tasmoadmin,
servicename: tasmoadmin, servicename: tasmoadmin,
......
--- ---
# Get secrets # Get secrets
- include: ../functions/get_secret.yml - include_tasks: ../functions/get_secret.yml
with_items: with_items:
- { path: /srv/gitea/mysql_root_pw, length: 24 } - { path: /srv/gitea/mysql_root_pw, length: 24 }
- { path: /srv/gitea/mysql_user_pw, length: 12 } - { path: /srv/gitea/mysql_user_pw, length: 12 }
......
...@@ -36,7 +36,7 @@ services: ...@@ -36,7 +36,7 @@ services:
nginx: nginx:
image: nginx:1.19 image: nginx:1.25
restart: always restart: always
depends_on: depends_on:
- vnc - vnc
......
--- ---
# Get secrets # Get secrets
- include: ../functions/get_secret.yml - include_tasks: ../functions/get_secret.yml
with_items: with_items:
- { path: /srv/mysql/mysql_root_pw, length: 24 } - { path: /srv/mysql/mysql_root_pw, length: 24 }
- { path: /srv/mysql/mysql_user_pw, length: 12 } - { path: /srv/mysql/mysql_user_pw, length: 12 }
......
--- ---
- include: ../functions/get_secret.yml - include_tasks: ../functions/get_secret.yml
with_items: with_items:
- { path: /srv/nextcloud/nextcloud_admin_pass, length: 24 } - { path: /srv/nextcloud/nextcloud_admin_pass, length: 24 }
- { path: /srv/nextcloud/mysql_admin_pass, length: 24 } - { path: /srv/nextcloud/mysql_admin_pass, length: 24 }
......
...@@ -42,6 +42,9 @@ services: ...@@ -42,6 +42,9 @@ services:
MYSQL_HOST: mysql MYSQL_HOST: mysql
NEXTCLOUD_ADMIN_USER: "admin" NEXTCLOUD_ADMIN_USER: "admin"
NEXTCLOUD_ADMIN_PASSWORD: "{{nextcloud_admin_pass}}" NEXTCLOUD_ADMIN_PASSWORD: "{{nextcloud_admin_pass}}"
OVERWRITEPROTOCOL: https
OVERWRITECLIURL: https://{{ domain }}
OVERWRITEHOST: {{ domain }}
labels: labels:
- traefik.enable=true - traefik.enable=true
- traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`) - traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`)
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
- openjdk-11-jre - openjdk-11-jre
# Get secrets # Get secrets
- include: ../functions/get_secret.yml - include_tasks: ../functions/get_secret.yml
with_items: with_items:
- { path: /srv/mysql/mysql_user_pw, length: 12 } - { path: /srv/mysql/mysql_user_pw, length: 12 }
......
FROM php:7.4.33-apache-bullseye FROM php:8.2.8-apache-bookworm
# php-gd modul für dw2pdf plugin # php-gd modul für dw2pdf plugin
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
......
...@@ -1426,17 +1426,27 @@ nginx['proxy_set_headers'] = { ...@@ -1426,17 +1426,27 @@ nginx['proxy_set_headers'] = {
################################################################################ ################################################################################
# logging['svlogd_size'] = 200 * 1024 * 1024 # rotate after 200 MB of log data # logging['svlogd_size'] = 200 * 1024 * 1024 # rotate after 200 MB of log data
logging['svlogd_size'] = 200 * 1024 * 1024
# logging['svlogd_num'] = 30 # keep 30 rotated log files # logging['svlogd_num'] = 30 # keep 30 rotated log files
logging['svlogd_num'] = 30
# logging['svlogd_timeout'] = 24 * 60 * 60 # rotate after 24 hours # logging['svlogd_timeout'] = 24 * 60 * 60 # rotate after 24 hours
logging['svlogd_timeout'] = 24 * 60 * 60
# logging['svlogd_filter'] = "gzip" # compress logs with gzip # logging['svlogd_filter'] = "gzip" # compress logs with gzip
logging['svlogd_filter'] = "gzip"
# logging['svlogd_udp'] = nil # transmit log messages via UDP # logging['svlogd_udp'] = nil # transmit log messages via UDP
# logging['svlogd_prefix'] = nil # custom prefix for log messages # logging['svlogd_prefix'] = nil # custom prefix for log messages
# logging['logrotate_frequency'] = "daily" # rotate logs daily # logging['logrotate_frequency'] = "daily" # rotate logs daily
logging['logrotate_frequency'] = "daily"
# logging['logrotate_maxsize'] = nil # rotate logs when they grow bigger than size bytes even before the specified time interval (daily, weekly, monthly, or yearly) # logging['logrotate_maxsize'] = nil # rotate logs when they grow bigger than size bytes even before the specified time interval (daily, weekly, monthly, or yearly)
logging['logrotate_maxsize'] = "200M"
# logging['logrotate_size'] = nil # do not rotate by size by default # logging['logrotate_size'] = nil # do not rotate by size by default
logging['logrotate_size'] = "50M"
# logging['logrotate_rotate'] = 30 # keep 30 rotated logs # logging['logrotate_rotate'] = 30 # keep 30 rotated logs
logging['logrotate_rotate'] = 30
# logging['logrotate_compress'] = "compress" # see 'man logrotate' # logging['logrotate_compress'] = "compress" # see 'man logrotate'
logging['logrotate_compress'] = "compress"
# logging['logrotate_method'] = "copytruncate" # see 'man logrotate' # logging['logrotate_method'] = "copytruncate" # see 'man logrotate'
logging['logrotate_method'] = "copytruncate"
# logging['logrotate_postrotate'] = nil # no postrotate command by default # logging['logrotate_postrotate'] = nil # no postrotate command by default
# logging['logrotate_dateformat'] = nil # use date extensions for rotated files rather than numbers e.g. a value of "-%Y-%m-%d" would give rotated files like production.log-2016-03-09.gz # logging['logrotate_dateformat'] = nil # use date extensions for rotated files rather than numbers e.g. a value of "-%Y-%m-%d" would give rotated files like production.log-2016-03-09.gz
...@@ -1458,7 +1468,7 @@ nginx['proxy_set_headers'] = { ...@@ -1458,7 +1468,7 @@ nginx['proxy_set_headers'] = {
##! Docs: https://docs.gitlab.com/omnibus/settings/logs.html#logrotate ##! Docs: https://docs.gitlab.com/omnibus/settings/logs.html#logrotate
##! You can disable built in logrotate feature. ##! You can disable built in logrotate feature.
################################################################################ ################################################################################
# logrotate['enable'] = true logrotate['enable'] = true
# logrotate['log_directory'] = "/var/log/gitlab/logrotate" # logrotate['log_directory'] = "/var/log/gitlab/logrotate"
################################################################################ ################################################################################
......
--- ---
- include: ../functions/get_secret.yml - include_tasks: ../functions/get_secret.yml
with_items: with_items:
- { path: /srv/ldap/secret/ldap_readonly_pass, length: -1 } - { path: /srv/ldap/secret/ldap_readonly_pass, length: -1 }
- { path: "{{ basedir }}/icinga_admin_pass", length: 12 } - { path: "{{ basedir }}/icinga_admin_pass", length: 12 }
......
...@@ -48,7 +48,7 @@ services: ...@@ -48,7 +48,7 @@ services:
- "traefik.http.routers.{{ servicename }}.tls" - "traefik.http.routers.{{ servicename }}.tls"
- "traefik.http.routers.{{ servicename }}.tls.certresolver=letsencrypt" - "traefik.http.routers.{{ servicename }}.tls.certresolver=letsencrypt"
- "traefik.http.routers.{{ servicename }}.tls.domains[0].main={{ domain }}" - "traefik.http.routers.{{ servicename }}.tls.domains[0].main={{ domain }}"
- "traefik.http.routers.{{ servicename }}.tls.domains[0].sans={{ mailserver }}" - "traefik.http.routers.{{ servicename }}.tls.domains[0].sans={{ mailserver }},imap.warpzone.ms,smtp.warpzone.ms"
- "traefik.http.routers.{{ servicename }}.service={{ servicename }}" - "traefik.http.routers.{{ servicename }}.service={{ servicename }}"
- "traefik.http.services.{{ servicename }}.loadbalancer.server.port=80" - "traefik.http.services.{{ servicename }}.loadbalancer.server.port=80"
networks: networks:
...@@ -185,7 +185,7 @@ services: ...@@ -185,7 +185,7 @@ services:
- "{{ basedir }}/mailman-web:/opt/mailman-web-data:rw,z" - "{{ basedir }}/mailman-web:/opt/mailman-web-data:rw,z"
mailman-nginx: mailman-nginx:
image: nginx:1.19 image: nginx:1.25
restart: always restart: always
depends_on: depends_on:
- mailman-web - mailman-web
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
- { path: /srv/shared/noreply_email_pass, length: -1 } - { path: /srv/shared/noreply_email_pass, length: -1 }
- { path: /srv/ldap/secret/ldap_readonly_pass, length: -1 } - { path: /srv/ldap/secret/ldap_readonly_pass, length: -1 }
- { path: /srv/matrix/postgres_user_pass, length: 24 } - { path: /srv/matrix/postgres_user_pass, length: 24 }
- { path: /srv/matrix/admin_access_token, length: -1 } # Get in Element fo an Admin User: Settings > Help > Advanced
- name: create folder struct for matrix - name: create folder struct for matrix
...@@ -31,7 +32,9 @@ ...@@ -31,7 +32,9 @@
- name: Konfig-Dateien erstellen - name: Konfig-Dateien erstellen
template: src={{ item }} dest=/srv/matrix/{{ item }} template:
src: "{{ item }}"
dest: "/srv/matrix/{{ item }}"
with_items: with_items:
- docker-compose.yml - docker-compose.yml
- rest_auth_provider.py - rest_auth_provider.py
...@@ -41,6 +44,15 @@ ...@@ -41,6 +44,15 @@
register: configs register: configs
- name: Script-Dateien erstellen
template:
src: "{{ item }}"
dest: "/srv/matrix/{{ item }}"
mode: "ug+rwx"
with_items:
- purgemediacache.sh
- name: stop matrix docker - name: stop matrix docker
docker_compose: docker_compose:
project_src: /srv/matrix/ project_src: /srv/matrix/
......
...@@ -68,6 +68,21 @@ services: ...@@ -68,6 +68,21 @@ services:
- default - default
- web - web
purgemediacache:
image: jsonfry/curl-cron:latest
restart: always
depends_on:
- synapse
volumes:
- /srv/matrix/purgemediacache.sh:/curl.sh
environment:
CRON_SCHEDULE: "0 7 * * *"
networks:
- default
networks: networks:
web: web:
external: true external: true
#!/bin/sh
set -e
echo "$(date) - Start"
TS_NOW=$(date +%s)
DELAY=$((30*24*60*60))
TS=$((TS_NOW-$DELAY))
curl -X POST --insecure --header "Authorization: Bearer {{ admin_access_token }}" https://{{ domain }}/_synapse/admin/v1/purge_media_cache?before_ts=$(($TS*1000))
echo "$(date) End"
\ No newline at end of file
...@@ -27,7 +27,7 @@ services: ...@@ -27,7 +27,7 @@ services:
web: web:
image: nginx:1.21.6-alpine image: nginx:1.25.1
restart: always restart: always
volumes: volumes:
- /srv/matterbridge/media/:/usr/share/nginx/html/matterbridge/:ro,z - /srv/matterbridge/media/:/usr/share/nginx/html/matterbridge/:ro,z
......