81 lines
2.1 KiB
YAML
81 lines
2.1 KiB
YAML
---
|
|
- name: Create container volumes
|
|
containers.podman.podman_volume:
|
|
state: present
|
|
name: "{{ item }}"
|
|
loop:
|
|
- "{{ spoolman_dir }}"
|
|
- "{{ prometheus_dir }}"
|
|
- "{{ prometheus_config_dir }}"
|
|
- "{{ grafana_dir }}"
|
|
- "{{ database_dir }}"
|
|
|
|
- name: Create Spoolman container
|
|
containers.podman.podman_container:
|
|
name: spoolman
|
|
state: quadlet
|
|
network: "{{ podman_network }}"
|
|
image: ghcr.io/donkie/spoolman:latest
|
|
restart_policy: "on-failure"
|
|
volumes: "{{ spoolman_dir }}:/home/app/.local/share/spoolman"
|
|
ports: "80:8000"
|
|
security_opt: "label=disable"
|
|
env:
|
|
TZ: US/Central
|
|
SPOOLMAN_DB_TYPE: postgres
|
|
SPOOLMAN_DB_HOST: "{{ app }}-pgdb"
|
|
SPOOLMAN_DB_PORT: "5432"
|
|
SPOOLMAN_DB_NAME: "{{ app }}"
|
|
SPOOLMAN_DB_USERNAME: "{{ app }}"
|
|
SPOOLMAN_DB_PASSWORD: "mcGdDizPrFFv9SS4c55m"
|
|
SPOOLMAN_METRICS_ENABLED: true
|
|
|
|
- name: Create prometheus container
|
|
containers.podman.podman_container:
|
|
name: prometheus
|
|
state: quadlet
|
|
network: "{{ podman_network }}"
|
|
image: docker.io/prom/prometheus:latest
|
|
volumes:
|
|
- "{{ prometheus_config }}:/etc/prometheus/prometheus.yml"
|
|
- "{{ prometheus_dir }}:/prometheus"
|
|
ports: "9091:9090"
|
|
security_opt: "label=disable"
|
|
quadlet_options:
|
|
- "AutoUpdate=registry"
|
|
- |
|
|
[Install]
|
|
WantedBy=default.target
|
|
|
|
- name: Create Prometheus config file
|
|
ansible.builtin.template:
|
|
mode: "0666"
|
|
src: prometheus.j2
|
|
dest: "{{ prometheus_config }}"
|
|
|
|
- name: Create Grafana container
|
|
containers.podman.podman_container:
|
|
name: grafana
|
|
state: quadlet
|
|
network: "{{ podman_network }}"
|
|
image: grafana/grafana:latest
|
|
security_opt: "label=disable"
|
|
env:
|
|
GF_SECURITY_ADMIN_USER: admin
|
|
GF_SECURITY_ADMIN_PASSWORD: admin
|
|
ports:
|
|
- "3000:3000"
|
|
volume:
|
|
- "{{ grafana_dir }}:/var/lib/grafana"
|
|
|
|
- name: Start systemd units
|
|
ansible.builtin.systemd:
|
|
name: '{{ item }}'
|
|
daemon_reload: true
|
|
state: started
|
|
enabled: true
|
|
loop:
|
|
- spoolman
|
|
- prometheus
|
|
- grafana
|