/
/
/
Ansible role that deployes services on my runner machine
1---
2# Runner Services Role - Variables
3
4# Container image versions (can be overridden)
5container_images:
6 # LLM Stack services
7 ollama: "ollama/ollama:latest"
8 openwebui: "ghcr.io/open-webui/open-webui:main"
9 litellm: "ghcr.io/berriai/litellm:main-latest"
10
11 # Hardware-dependent services (conditional logic in templates)
12 frigate: "ghcr.io/blakeblackshear/frigate:stable"
13 frigate_tensorrt: "ghcr.io/blakeblackshear/frigate:stable-tensorrt"
14 immich_server: "ghcr.io/immich-app/immich-server"
15 immich_machine_learning: "ghcr.io/immich-app/immich-machine-learning"
16 immich_postgres: "ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0"
17 valkey: "docker.io/valkey/valkey:8-bookworm"
18
19 # Core services
20 forgejo: "codeberg.org/forgejo/forgejo:12"
21 forgejo_runner: "data.forgejo.org/forgejo/runner:9.1.1"
22
23 # Productivity services
24 stirling_pdf: "frooodle/s-pdf:latest"
25 convertx: "ghcr.io/c4illin/convertx:latest"
26 cyberchef: "ghcr.io/gchq/cyberchef:latest"
27 it_tools: "corentinth/it-tools:latest"
28 tandoor: "vabene1111/recipes:latest"
29 ghost: "ghost:5-alpine"
30
31 # Conferencing services
32 livekit: "livekit/livekit-server:v1.13.5"
33
34 # Database services
35 postgres: "postgres:15-alpine"
36 mysql: "mysql:8.0"
37 redis: "redis:7-alpine"
38
39# Default resource limits per service type
40resource_profiles:
41 lightweight:
42 memory_limit: "512m"
43 cpu_limit: "0.5"
44 standard:
45 memory_limit: "1g"
46 cpu_limit: "1"
47 heavy:
48 memory_limit: "2g"
49 cpu_limit: "2"
50 intensive:
51 memory_limit: "4g"
52 cpu_limit: "4"
53
54# Service classifications
55service_profiles:
56 frigate: "intensive"
57 immich_server: "heavy"
58 immich_ml: "intensive"
59 postgres: "standard"
60 mysql: "standard"
61 redis: "lightweight"
62 forgejo: "standard"
63 web_tools: "standard"
64 caddy: "lightweight"
65 tandoor: "standard"
66 ghost: "standard"
67
68# Hardware acceleration options
69hardware_acceleration_options:
70 - "none"
71 - "vaapi"
72 - "nvdec"
73 - "nvenc"
74 - "qsv"
75 - "cuda"
76
77# Database types supported
78supported_databases:
79 - "sqlite3"
80 - "postgresql"
81 - "mysql"
82
83# Network port ranges
84port_ranges:
85 web_services: "2000-9999"
86 ssh_services: "2200-2299"
87 rtmp_services: "1935"
88 rtsp_services: "8554"
89
90
91# Common paths for services
92common_paths:
93 logs: "/var/log"
94 configs: "/etc"
95 data: "/var/lib"
96 cache: "/var/cache"
97 tmp: "/tmp"
98
99# Service interdependencies
100service_dependencies:
101 immich:
102 - postgres
103 - redis
104 ghost:
105 - mysql
106 frigate:
107 - redis # optional, for MQTT
108
109# Default file permissions
110file_permissions:
111 config: "0644"
112 secret: "0600"
113 script: "0755"
114 directory: "0755"
115
116# Log levels
117log_levels:
118 - "debug"
119 - "info"
120 - "warn"
121 - "error"
122 - "fatal"
123
124# Supported authentication methods
125auth_methods:
126 - "local"
127 - "oauth"
128 - "ldap"
129 - "api_key"