diff --git a/.gitignore b/.gitignore index 8fd347c..2bdc85b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ paperless-db.container paperless-srv.container bookstack-db.container bookstack-srv.container +sgnarva-srv.container +sgnarva-db.container diff --git a/ansible/deploy_services.yml b/ansible/deploy_services.yml index e0ee363..71fdb92 100644 --- a/ansible/deploy_services.yml +++ b/ansible/deploy_services.yml @@ -27,55 +27,102 @@ - name: Deploy traefik include_role: name: rootless-podman-service + apply: + tags: + - traefik vars: service_name: "traefik" systemd_service_name: "traefik" quadlet_template_src: "./my_service_templates" + tags: + - traefik + - name: Deploy wekantesting include_role: name: rootless-podman-service + apply: + tags: + - wekan + - wekantesting vars: service_name: "wekantesting" systemd_service_name: "null" #"wekantesting-pod" quadlet_template_src: "./my_service_templates" + tags: + - wekan + - wekantesting + - name: Deploy wekan include_role: name: rootless-podman-service + apply: + tags: + - wekan vars: service_name: "wekan" systemd_service_name: "null" #"wekan-pod" quadlet_template_src: "./my_service_templates" + tags: + - wekan + - name: Deploy gitea include_role: name: rootless-podman-service + apply: + tags: + - gitea vars: service_name: "gitea" systemd_service_name: "gitea-pod" quadlet_template_src: "./my_service_templates" + tags: + - gitea + - name: Deploy mumble include_role: name: rootless-podman-service + apply: + tags: + - mumble vars: service_name: "mumble" systemd_service_name: "mumble" quadlet_template_src: "./my_service_templates" + tags: + - mumble + - name: Deploy bitwarden include_role: name: rootless-podman-service + apply: + tags: + - bitwarden vars: service_name: "bitwarden" systemd_service_name: "bitwarden" quadlet_template_src: "./my_service_templates" + tags: + - bitwarden + - name: Deploy actual include_role: name: rootless-podman-service + apply: + tags: + - actual vars: service_name: "actual" systemd_service_name: "actual" quadlet_template_src: "./my_service_templates" + tags: + - actual + - name: Deploy nextcloud include_role: name: rootless-podman-service + apply: + tags: + - nextcloud vars: service_name: "nextcloud" systemd_service_name: "nextcloud-pod" @@ -83,9 +130,15 @@ service_directories: - db - data + tags: + - nextcloud + - name: Deploy paperless include_role: name: rootless-podman-service + apply: + tags: + - paperless vars: service_name: "paperless" systemd_service_name: "paperless-pod" @@ -97,9 +150,15 @@ - media - export - consume + tags: + - paperless + - name: Deploy bookstack include_role: name: rootless-podman-service + apply: + tags: + - bookstack vars: service_name: "bookstack" systemd_service_name: "bookstack-pod" @@ -107,21 +166,52 @@ service_directories: - db - data + tags: + - bookstack + - name: Deploy rustdesk include_role: name: rootless-podman-service + apply: + tags: + - rustdesk vars: service_name: "rustdesk" systemd_service_name: "rustdesk-pod" quadlet_template_src: "./my_service_templates" service_directories: - data + tags: + - rustdesk + - name: Deploy languagetool include_role: name: rootless-podman-service + apply: + tags: + - languagetool vars: service_name: "languagetool" systemd_service_name: "languagetool" quadlet_template_src: "./my_service_templates" service_directories: - ngrams + tags: + - languagetool + + - name: Deploy sgnarva + include_role: + name: rootless-podman-service + apply: + tags: + - sgnarva + vars: + service_name: "sgnarva" + systemd_service_name: "sgnarva-pod" + quadlet_template_src: "./my_service_templates" + service_directories: + - sgnarvaweb + - sgnarvadb + tags: + - sgnarva + diff --git a/ansible/my_service_templates/sgnarva/sgnarva-db.container.template b/ansible/my_service_templates/sgnarva/sgnarva-db.container.template new file mode 100644 index 0000000..bd63dbf --- /dev/null +++ b/ansible/my_service_templates/sgnarva/sgnarva-db.container.template @@ -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 +Environment=MYSQL_ROOT_PASSWORD=REDACTED +Environment=MYSQL_DATABASE=REDACTED +Environment=MYSQL_USER=REDACTED +Environment=MYSQL_PASSWORD=REDACTED +AutoUpdate=registry +Pod=sgnarva.pod diff --git a/ansible/my_service_templates/sgnarva/sgnarva-srv.container.template b/ansible/my_service_templates/sgnarva/sgnarva-srv.container.template new file mode 100644 index 0000000..44185bb --- /dev/null +++ b/ansible/my_service_templates/sgnarva/sgnarva-srv.container.template @@ -0,0 +1,10 @@ +[Unit] +Description=SGNarva Wordpress server + +[Container] +ContainerName=sgnarva-srv +Image=localhost/sgnarva:latest +Volume=/var/vol/sgnarva/sgnarvaweb:/var/www/html:Z +Environment=PHP_MEMORY_LIMIT=4G +AutoUpdate=registry +Pod=sgnarva.pod diff --git a/ansible/my_service_templates/sgnarva/sgnarva.pod b/ansible/my_service_templates/sgnarva/sgnarva.pod new file mode 100644 index 0000000..5768ac0 --- /dev/null +++ b/ansible/my_service_templates/sgnarva/sgnarva.pod @@ -0,0 +1,17 @@ +[Unit] +Description=SGNarva Wordpress deployment +Wants=network-online.target +After=network.target network-online.target + +[Pod] +PodName=sgnarva +PublishPort=127.0.0.1:9000:80 + +[Service] +# Restart service when sleep finishes +Restart=on-failure +RestartSec=60 + +[Install] +# Start by default on boot +WantedBy=multi-user.target default.target diff --git a/ansible/traefik_config/dynamic.yml b/ansible/traefik_config/dynamic.yml index 311e7d0..a5e8f6f 100644 --- a/ansible/traefik_config/dynamic.yml +++ b/ansible/traefik_config/dynamic.yml @@ -81,6 +81,15 @@ http: certResolver: letsencrypt service: languagetool-service + # Router for sgnarva.petrich.work + sgnarva-router: + rule: "Host(`sg-narva.petrich.work`)" + entryPoints: + - websecure + tls: + certResolver: letsencrypt + service: sgnarva-service + services: # Service for wekan.rohrschacht.de wekan-service: @@ -135,3 +144,9 @@ http: loadBalancer: servers: - url: "http://localhost:8900" + + # Service for sgnarva.petrich.work + sgnarva-service: + loadBalancer: + servers: + - url: "http://localhost:9000"