diff --git a/inventory/hosts.yml b/inventory/hosts.yml index 655ed44..24a20cf 100644 --- a/inventory/hosts.yml +++ b/inventory/hosts.yml @@ -12,3 +12,5 @@ all: ansible_host: 192.168.180.20 timescaledb: ansible_host: 192.168.150.130 + bankmanager: + ansible_host: 192.168.110.20 diff --git a/playbooks/lehmann-bankmanager.yml b/playbooks/lehmann-bankmanager.yml new file mode 100644 index 0000000..b4d2309 --- /dev/null +++ b/playbooks/lehmann-bankmanager.yml @@ -0,0 +1,65 @@ +# +# +# Automated installation for bankmanager +# +# Project: playbooks +# Author: Tobias Lehmann +# License: MIT License (see LICENSE.md) +# +# Copyright (c) captica GmbH est. 2021 +# +- hosts: "bankmanager" + name: Create container + vars: + lxc_id: 20 + lxc_name: bankmanager + lxc_domain: leh01.local + lxc_template: "local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst" + lxc_mac: CC:CC:CC:11:00:20 + lxc_ip: 192.168.110.20 + lxc_bridge: vmbr110 + lxc_vlan: "" + lxc_disk: datapool:32 + lxc_cpu: 2 + lxc_memory: 2048 + lxc_swap: 1024 + lxc_mounts: '{"mp0":"lxc-nodered-bankmanager:50,mp=/opt/bankmanager"}' + lxc_ssh_pub_key: ~/.ssh/id_ed25519_ansible.pub + roles: + - lxc-container + +- hosts: "bankmanager" + vars: + hostname: bankmanager + tools_install_users: + - root + - ansible + ssh_pubkeys_root: + - "../files/ssh/root.pub" + ssh_pubkeys_ansible: + - "../files/ssh/id_ed25519_ansible.pub" + roles: + - linux-base-install + - zsh + - vim + - fzf + - linux-docker + +- hosts: "bankmanager" + tags: + - bankmanager + - install + vars: + service_name: bankmanager + service_directory: /opt/bankmanager + service_volume_dirs: + - appdata + - db + service_user_name: bankmanager + service_user_id: 1020 + service_group_name: bankmanager + service_group_id: 1020 + bankmanager_version: latest + tasks: + - name: "Install bankmanager application" + include_tasks: setup-docker-application.yml \ No newline at end of file diff --git a/templates/bankmanager/.env.j2 b/templates/bankmanager/.env.j2 new file mode 100644 index 0000000..c98e15f --- /dev/null +++ b/templates/bankmanager/.env.j2 @@ -0,0 +1,4 @@ +SMTP_PASSWORD={{smtp_relay_password}} +DB_NAME=lehmann_bankmanager +DB_USER={{bankmanager_db_user}} +DB_PASSWORD={{bankmanager_db_password}} \ No newline at end of file diff --git a/templates/bankmanager/docker-compose.yml.j2 b/templates/bankmanager/docker-compose.yml.j2 new file mode 100644 index 0000000..17226c5 --- /dev/null +++ b/templates/bankmanager/docker-compose.yml.j2 @@ -0,0 +1,40 @@ +version: '3.9' + +services: + app: + image: gitea/gitea:{{gitea_version}} + environment: + - USER_UID={{ service_user_id }} + - USER_GID={{ service_group_id }} + - SPRING__DATASOURCE__URL=jdbc:postgresql://db:5432/bankmanager + - SPRING__DATASOURCE__USERNAME=${DB_USER} + - SPRING__DATASOURCE__PASSWORD=${DB_PASSWORD} + restart: always + volumes: + - {{ service_directory }}/data/appdata:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - '80:20000' + - '22:22' + networks: + - default + db: + image: postgres:14 + restart: always + environment: + - POSTGRES_USER=${DB_USER} + - POSTGRES_PASSWORD=${DB_PASSWORD} + - POSTGRES_DB=$bankmanager + networks: + - default + volumes: + - {{ service_directory }}/data/db:/var/lib/postgresql/data + +networks: + default: + ipam: + driver: default + config: + - subnet: 172.2.0.0/16 + gateway: 172.2.0.1 \ No newline at end of file