17 Commits

Author SHA1 Message Date
fac73c1a6a update(vouch_proxy): bump version to 0.41.0 2025-02-20 17:39:58 +01:00
307025181b update(gitea): bump version to 1.23.4 2025-02-19 15:18:07 +01:00
f7594fed77 update(jellyfin): bump version to 10.10.6 2025-02-17 12:42:21 +01:00
c72e87dfd5 update(authelia): bump version to 4.38.19 2025-02-16 14:56:02 +01:00
82fc10fd5f update(hedgedoc): bump version to 1.10.2 2025-02-15 10:45:31 +01:00
05145b3b21 feat(jellyfin): add podman as deployment method 2025-02-14 22:26:48 +01:00
1e234bf68b feat(vaultwarden): support podman as deployment method 2025-02-14 22:12:52 +01:00
6516780e16 meta: add containers.podman@^1.16.0 to collection requirements 2025-02-14 22:12:51 +01:00
06df5b790e feat(hedgedoc): support podman as deployment method 2025-02-14 22:12:50 +01:00
9bfd87f256 meta: bump galaxy version to 0.1.13 2025-02-12 21:59:50 +01:00
20a4cf4da4 update(keycloak): bump version to 26.1.2 2025-02-11 17:24:58 +01:00
60ce6ca758 update(vaultwarden): bump version to 1.33.2 2025-02-09 19:44:00 +01:00
a1039eaa45 update(ghost): bump version to 5.109.3 2025-02-07 21:35:11 +01:00
01ff782b14 update(gitea): bump version to 1.23.3 2025-02-06 17:31:40 +01:00
bc61a40771 update(keycloak): bump version to 26.1.1 2025-02-06 17:31:09 +01:00
94ddaf98f0 chore(keycloak): allow disabling mapping of local providers into the container image 2025-02-04 12:04:15 +01:00
23f5f560b6 update(vaultwarden): bump version to 1.33.1 2025-02-03 20:23:50 +01:00
17 changed files with 125 additions and 32 deletions

View File

@ -1,6 +1,6 @@
namespace: finallycoffee
name: services
version: "0.1.12"
version: "0.1.13"
readme: README.md
authors:
- transcaffeine <transcaffeine@finally.coffee>
@ -8,6 +8,7 @@ description: Various ansible roles useful for automating infrastructure
dependencies:
"community.crypto": "^2.22.0"
"community.docker": "^4.0.0"
"containers.podman": "^1.16.0"
license_file: LICENSE.md
build_ignore:
- '*.tar.gz'

View File

@ -1,5 +1,5 @@
---
authelia_version: "4.38.18"
authelia_version: "4.38.19"
authelia_user: authelia
authelia_base_dir: /opt/authelia
authelia_domain: authelia.example.org

View File

@ -1,6 +1,6 @@
---
ghost_domain: ~
ghost_version: "5.109.0"
ghost_version: "5.109.3"
ghost_user: ghost
ghost_user_group: ghost
ghost_base_path: /opt/ghost

View File

@ -1,5 +1,5 @@
---
gitea_version: "1.23.1"
gitea_version: "1.23.4"
gitea_user: git
gitea_run_user: "{{ gitea_user }}"
gitea_base_path: "/opt/gitea"

View File

@ -1,6 +1,6 @@
---
hedgedoc_user: hedgedoc
hedgedoc_version: "1.10.1"
hedgedoc_version: "1.10.2"
hedgedoc_state: present
hedgedoc_deployment_method: docker

View File

@ -0,0 +1,31 @@
---
- name: Ensure container image '{{ hedgedoc_container_image }}' is {{ hedgedoc_state }}
containers.podman.podman_image:
name: "{{ hedgedoc_container_image }}"
state: "{{ hedgedoc_state }}"
pull: "{{ (hedgedoc_container_image_source == 'pull') | bool }}"
force: >-2
{{ hedgedoc_container_force_source | default(
hedgedoc_container_image_tag | default(false, true), true) }}
register: hedgedoc_container_image_info
until: hedgedoc_container_image_info is success
retries: 5
delay: 3
- name: Ensure container '{{ hedgedoc_container_name }}' is {{ hedgedoc_container_state }}
containers.podman.podman_container:
name: "{{ hedgedoc_container_name }}"
image: "{{ hedgedoc_container_image }}"
env: "{{ hedgedoc_container_env | default(omit, true) }}"
user: "{{ hedgedoc_container_user | default(omit, true) }}"
ports: "{{ hedgedoc_container_ports | default(omit, true) }}"
labels: "{{ hedgedoc_container_all_labels }}"
volumes: "{{ hedgedoc_container_all_volumes }}"
etc_hosts: "{{ hedgedoc_container_etc_hosts | default(omit, true) }}"
dns_servers: >-2
{{ hedgedoc_container_dns_servers | default(omit, true) }}
network_mode: >-2
{{ hedgedoc_container_network_mode | default(omit, true) }}
restart_policy: >-2
{{ hedgedoc_container_restart_policy | default(omit, true) }}
state: "{{ hedgedoc_container_state }}"

View File

@ -1,7 +1,8 @@
---
jellyfin_user: jellyfin
jellyfin_version: "10.10.5"
jellyfin_version: "10.10.6"
jellyfin_state: present
jellyfin_deployment_method: docker
jellyfin_base_path: /opt/jellyfin
jellyfin_config_path: "{{ jellyfin_base_path }}/config"

View File

@ -0,0 +1,23 @@
---
- name: Ensure container image '{{ jellyfin_container_image_ref }}' is {{ jellyfin_state }}
community.docker.docker_image:
name: "{{ jellyfin_container_image_ref }}"
state: "{{ jellyfin_state }}"
source: "{{ jellyfin_container_image_source }}"
force_source: "{{ jellyfin_container_image_tag | default(false, true) }}"
register: jellyfin_container_image_pull_result
until: jellyfin_container_image_pull_result is succeeded
retries: 5
delay: 3
- name: Ensure container '{{ jellyfin_container_name }}' is {{ jellyfin_container_state }}
community.docker.docker_container:
name: "{{ jellyfin_container_name }}"
image: "{{ jellyfin_container_image_ref }}"
user: "{{ jellyfin_uid }}:{{ jellyfin_gid }}"
labels: "{{ jellyfin_container_labels }}"
volumes: "{{ jellyfin_container_volumes }}"
networks: "{{ jellyfin_container_networks | default(omit, True) }}"
network_mode: "{{ jellyfin_container_network_mode }}"
restart_policy: "{{ jellyfin_container_restart_policy }}"
state: "{{ jellyfin_container_state }}"

View File

@ -0,0 +1,22 @@
---
- name: Ensure container image '{{ jellyfin_container_image_ref }}' is {{ jellyfin_state }}
containers.podman.podman_image:
name: "{{ jellyfin_container_image_ref }}"
state: "{{ jellyfin_state }}"
pull: "{{ (jellyfin_container_image_source == 'pull') | bool }}"
force: "{{ jellyfin_container_image_tag | default(false, true) }}"
register: jellyfin_container_image_pull_result
until: jellyfin_container_image_pull_result is succeeded
retries: 5
delay: 3
- name: Ensure container '{{ jellyfin_container_name }}' is {{ jellyfin_container_state }}
containers.podman.podman_container:
name: "{{ jellyfin_container_name }}"
image: "{{ jellyfin_container_image_ref }}"
user: "{{ jellyfin_uid }}:{{ jellyfin_gid }}"
labels: "{{ jellyfin_container_labels }}"
volumes: "{{ jellyfin_container_volumes }}"
network: "{{ jellyfin_container_networks | default(omit, True) }}"
restart_policy: "{{ jellyfin_container_restart_policy }}"
state: "{{ jellyfin_container_state }}"

View File

@ -6,6 +6,13 @@
states are {{ jellyfin_states | join(', ') }}.
when: jellyfin_state not in jellyfin_states
- name: Check if deployment method is valid
ansible.builtin.fail:
msg: >-2
Unsupported state '{{ jellyfin_deployment_method }}'. Supported
states are {{ jellyfin_deployment_methods | join(', ') }}.
when: jellyfin_deployment_method not in jellyfin_deployment_methods
- name: Ensure jellyfin user '{{ jellyfin_user }}' is {{ jellyfin_state }}
ansible.builtin.user:
name: "{{ jellyfin_user }}"
@ -23,25 +30,6 @@
mode: "{{ item.mode }}"
loop: "{{ jellyfin_host_directories }}"
- name: Ensure container image '{{ jellyfin_container_image_ref }}' is {{ jellyfin_state }}
community.docker.docker_image:
name: "{{ jellyfin_container_image_ref }}"
state: "{{ jellyfin_state }}"
source: "{{ jellyfin_container_image_source }}"
force_source: "{{ jellyfin_container_image_tag | default(false, true) }}"
register: jellyfin_container_image_pull_result
until: jellyfin_container_image_pull_result is succeeded
retries: 5
delay: 3
- name: Ensure container '{{ jellyfin_container_name }}' is {{ jellyfin_container_state }}
community.docker.docker_container:
name: "{{ jellyfin_container_name }}"
image: "{{ jellyfin_container_image_ref }}"
user: "{{ jellyfin_uid }}:{{ jellyfin_gid }}"
labels: "{{ jellyfin_container_labels }}"
volumes: "{{ jellyfin_container_volumes }}"
networks: "{{ jellyfin_container_networks | default(omit, True) }}"
network_mode: "{{ jellyfin_container_network_mode }}"
restart_policy: "{{ jellyfin_container_restart_policy }}"
state: "{{ jellyfin_container_state }}"
- name: Ensure jellyfin is deployed using {{ jellyfin_deployment_method }}
ansible.builtin.include_tasks:
file: "deploy-{{ jellyfin_deployment_method }}.yml"

View File

@ -2,6 +2,9 @@
jellyfin_states:
- present
- absent
jellyfin_deployment_methods:
- docker
- podman
jellyfin_container_base_volumes:
- "{{ jellyfin_config_path }}:/config:z"

View File

@ -1,5 +1,5 @@
---
keycloak_version: "26.1.0"
keycloak_version: "26.1.2"
keycloak_container_name: keycloak
keycloak_container_image_upstream_registry: quay.io

View File

@ -10,7 +10,9 @@ ENV KC_DB=$DB_VENDOR
WORKDIR {{ keycloak_container_working_directory }}
{% if keycloak_container_image_add_local_providers | default(true) %}
ADD ./providers/* providers/
{% endif %}
# Workaround to set correct mode on jar files
USER root
RUN chmod -R 0770 providers/*

View File

@ -1,6 +1,6 @@
---
vaultwarden_user: vaultwarden
vaultwarden_version: "1.33.0"
vaultwarden_version: "1.33.2"
vaultwarden_config_file: "/etc/vaultwarden/config.json"
vaultwarden_config_directory: "{{ vaultwarden_config_file | dirname }}"

View File

@ -0,0 +1,22 @@
---
- name: Ensure container image '{{ vaultwarden_container_image }}' is {{ vaultwarden_state }}
containers.podman.podman_image:
name: "{{ vaultwarden_container_image }}"
state: "{{ vaultwarden_state }}"
pull: "{{ (vaultwarden_container_image_source == 'pull') | bool }}"
force: "{{ vaultwarden_container_image_force_source }}"
- name: Ensure container '{{ vaultwarden_container_name }}' is {{ vaultwarden_container_state }}
containers.podman.podman_container:
name: "{{ vaultwarden_container_name }}"
image: "{{ vaultwarden_container_image }}"
env: "{{ vaultwarden_container_env | default(omit, true) }}"
user: "{{ vaultwarden_container_user | default(omit, true) }}"
ports: "{{ vaultwarden_container_ports | default(omit, true) }}"
labels: "{{ vaultwarden_container_labels | default(omit, true) }}"
volumes: "{{ vaultwarden_container_volumes }}"
network: "{{ vaultwarden_container_networks | default(omit, true) }}"
etc_hosts: "{{ vaultwarden_container_etc_hosts | default(omit, true) }}"
dns_servers: "{{ vaultwarden_container_dns_servers | default(omit, true) }}"
restart_policy: "{{ vaultwarden_container_restart_policy | default(omit, true) }}"
state: "{{ vaultwarden_container_state | default(omit, true) }}"

View File

@ -4,6 +4,7 @@ vaultwarden_states:
- absent
vaultwarden_deployment_methods:
- docker
- podman
vaultwarden_required_variables:
- vaultwarden_config_domain
vaultwarden_conditionally_required_variables:

View File

@ -1,7 +1,6 @@
---
vouch_proxy_user: vouch-proxy
vouch_proxy_version: 0.40.0
vouch_proxy_version: "0.41.0"
vouch_proxy_base_path: /opt/vouch-proxy
vouch_proxy_config_path: "{{ vouch_proxy_base_path }}/config"
vouch_proxy_config_file: "{{ vouch_proxy_config_path }}/config.yaml"