added versioning, moving services to subreposetorys

This commit is contained in:
Kyattsukuro 2026-10-13 00:17:54 +02:00
parent 8c9364951c
commit e851ebf4f0
16 changed files with 40 additions and 98 deletions

View File

@ -20,24 +20,34 @@ function unlock(){
} }
function pull-services(){ function clone-roles(){
local pull_all=false local gitea_org="${1:-Urmel-Ansible-Roles}"
while getopts "a" opt; do local gitea_url="${GITEA_URL:-git.urmel.de}"
case $opt in local api="https://${gitea_url}/api/v1/orgs/${gitea_org}/repos"
a) local page=1
pull_all=true local repos
;;
*) while :; do
;; repos=$(curl -fsSL -H "Authorization: token ${GITEA_TOKEN}" \
esac "${api}?limit=50&page=${page}") || return 1
done [ "$(echo "$repos" | jq 'length')" -eq 0 ] && break
shift $((OPTIND -1))
local services=() while read -r name; do
if [ "$pull_all" = true ]; then if [ -d "roles/${name}" ]; then
services=($(find roles/)) echo "Skipping ${name} (already cloned)"
else else
services=($(cat config.ini | grep "services" | cut -d= -f2- | tr ',' ' ')) echo "Cloning ${name}"
git clone "git@${gitea_url}:${gitea_org}/${name}.git" "roles/${name}" || return 1
fi fi
done < <(echo "$repos" | jq -r '.[].name')
page=$((page + 1))
done
}
function pull-services(){
local services=()
services=($(find roles/))
for service in "${services[@]}"; do for service in "${services[@]}"; do
echo "Pulling $service" echo "Pulling $service"

View File

@ -31,6 +31,7 @@ ddns_override:
token: "{{ _speedup_bitwarden_hetzner_fields.api_token }}" token: "{{ _speedup_bitwarden_hetzner_fields.api_token }}"
traefik_override: traefik_override:
version: "v3.6.7"
expose_additional_ports: expose_additional_ports:
- 2022 - 2022
include_external_services: include_external_services:
@ -47,6 +48,7 @@ traefik_override:
basic_auth_password: "{{ (bitwarden_records_urmel_services['Traefik'].fields | selectattr('name', '==', 'auth_string') | first).value }}" basic_auth_password: "{{ (bitwarden_records_urmel_services['Traefik'].fields | selectattr('name', '==', 'auth_string') | first).value }}"
authentik_override: authentik_override:
version: "2025.10.3"
url: "auth.urmel.de" url: "auth.urmel.de"
db_password: "{{ (bitwarden_records_urmel_services['Authentik'].fields | selectattr('name', '==', 'db_password') | first).value }}" db_password: "{{ (bitwarden_records_urmel_services['Authentik'].fields | selectattr('name', '==', 'db_password') | first).value }}"
secret: "{{ (bitwarden_records_urmel_services['Authentik'].fields | selectattr('name', '==', 'secret') | first).value }}" secret: "{{ (bitwarden_records_urmel_services['Authentik'].fields | selectattr('name', '==', 'secret') | first).value }}"
@ -59,6 +61,7 @@ authentik_override:
nextcloud_override: nextcloud_override:
version: "32.0.5"
url: "nextcloud.urmel.de" url: "nextcloud.urmel.de"
data_path: "/mnt/nextcloud" data_path: "/mnt/nextcloud"
db_password: "{{ _speedup_nextcloud_fields.db_password }}" db_password: "{{ _speedup_nextcloud_fields.db_password }}"
@ -82,12 +85,15 @@ nextcloud_override:
collabora: collabora:
version: "25.04.8.1.1"
url: "collabora.urmel.de" url: "collabora.urmel.de"
password: "{{ _speedup_nextcloud_fields.collabora_password }}" password: "{{ _speedup_nextcloud_fields.collabora_password }}"
drawio: drawio:
version: "29.3.5"
url: "drawio.urmel.de" url: "drawio.urmel.de"
vaultwarden_override: vaultwarden_override:
version: "1.37.4"
url: "vaultwarden.urmel.de" url: "vaultwarden.urmel.de"
admin_token: "{{ (bitwarden_records_urmel_services['Vaultwarden'].fields | selectattr('name', '==', 'admin_token') | first).value }}" admin_token: "{{ (bitwarden_records_urmel_services['Vaultwarden'].fields | selectattr('name', '==', 'admin_token') | first).value }}"
oidc: oidc:

View File

@ -3,6 +3,7 @@ _speedup_bitwarden_hetzner_fields: "{{ dict(_speedup_bitwarden_hetzner_record.fi
traefik_override: traefik_override:
version: "v3.6.7"
main_domain: "be.urmel.de" main_domain: "be.urmel.de"
http_port: "8080" http_port: "8080"
https_port: "8443" https_port: "8443"

View File

@ -1,6 +0,0 @@
def main():
print("Hello from server!")
if __name__ == "__main__":
main()

View File

@ -1 +0,0 @@
# base

View File

@ -1,3 +0,0 @@
path: /srv/{{ role_name }}
base_override: {}
base_defaults: {}

View File

@ -1,4 +0,0 @@
{
"ipv6": true,
"fixed-cidr-v6": "fd00:0000:0000:0001::/64"
}

View File

@ -1,17 +0,0 @@
---
galaxy_info:
author: "Niklas Freese <niklas@urmel.de>"
description: Base
company: "Urmel Services"
license: AGPL-3.0-or-later
min_ansible_version: 2.1
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.

View File

@ -1,45 +0,0 @@
---
- name: "set local variables from overrides and defaults"
set_fact:
base: "{{ (base_defaults | combine(base_override, recursive=True)) if base_override else base_defaults }}"
- name: Install requirerd packages
package:
name:
- docker.io
- docker-compose
- docker-doc
- netfilter-persistent
- netplan.io
state: latest
- name: Install devhelpers
package:
name:
- vim
- curl
state: latest
- name: copy docker deamon.json
ansible.builtin.copy:
src: etc.docker.deamon.json
dest: /etc/docker/daemon.json
- name: Enable systemd networking
ansible.builtin.systemd_service:
state: started
enabled: true
daemon_reload: true
name: systemd-networkd
- name: Restart docker
ansible.builtin.systemd_service:
state: restarted
daemon_reload: true
enabled: true
name: docker
- name: Add .bashrc
template:
src: .bashrc.j2
dest: "/root/.bashrc"

View File

@ -1,2 +0,0 @@
alias dc="docker compose"

View File

@ -2,6 +2,7 @@ path: /srv/{{ role_name }}
ddns_override: {} ddns_override: {}
ddns_defaults: ddns_defaults:
version: latest
domains: {} domains: {}
# - provider: "" # - provider: ""
# domain: "" # domain: ""

View File

@ -1,7 +1,7 @@
--- ---
services: services:
ddns: ddns:
image: qmcgaw/ddns-updater image: qmcgaw/ddns-updater:{{ ddns.version }}
restart: always restart: always
network_mode: bridge network_mode: bridge
environment: environment:

View File

@ -2,6 +2,7 @@ path: /srv/{{ role_name }}
dns_override: {} dns_override: {}
dns_defaults: dns_defaults:
version: "latest"
api_key: "" api_key: ""
domain: "" domain: ""
local_domains: [] local_domains: []

View File

@ -1,7 +1,7 @@
--- ---
services: services:
pihole: pihole:
image: pihole/pihole:latest image: pihole/pihole:{{ pihole.version }}
ports: ports:
- "53:53/tcp" - "53:53/tcp"
- "53:53/udp" - "53:53/udp"

View File

@ -1,4 +1,5 @@
path: /srv/{{ role_name }} path: /srv/{{ role_name }}
wireguard_override: {} wireguard_override: {}
wireguard_defaults: {} wireguard_defaults:
version: "latest"

View File

@ -1,7 +1,7 @@
--- ---
services: services:
wireguard: wireguard:
image: lscr.io/linuxserver/wireguard:latest image: lscr.io/linuxserver/wireguard:{{ wireguard.version }}
container_name: wireguard container_name: wireguard
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN