runner

Ansible role that deployes services on my runner machine

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