#!/usr/bin/with-contenv bashio # shellcheck shell=bash # ============================================================================== # Home Assistant Add-on: actrunner # Runs actrunner # ============================================================================== readonly PROMTAIL_CONFIG='/etc/promtail/config.yaml' declare log_level bashio::log.info 'Starting actrunner...' journal_path='/var/log/journal' if ! bashio::fs.directory_exists "${journal_path}" || [ -z "$(ls -A ${journal_path})" ]; then bashio::log.info "No journal at ${journal_path}, looking for journal in /run/log/journal instead" journal_path='/run/log/journal' fi case "$(bashio::config 'log_level')" in \ trace) ;& \ debug) log_level='debug' ;; \ notice) ;& \ warning) log_level='warn' ;; \ error) ;& \ fatal) log_level='error' ;; \ *) log_level='info' ;; \ esac; bashio::log.info "Promtail log level set to ${log_level}" export "JOURNAL_PATH=${journal_path}" export "LOG_LEVEL=${log_level}" # Activate the Ansible virtual environment source /opt/ansible-venv/bin/activate # Load configuration from Home Assistant GITEA_URL=$(bashio::config 'gitea_url') GITEA_TOKEN=$(bashio::config 'gitea_token') REPOSITORY=$(bashio::config 'repository') ACT_OPTIONS=$(bashio::config 'act_runner_options') # Register Act runner with Gitea (if needed) curl -X POST "$GITEA_URL/api/v1/repos/$REPOSITORY/actions/runners" \ -H "Authorization: token $GITEA_TOKEN" \ -d '{ "name": "Act Runner", "labels": ["self-hosted"] }' bashio::log.info "Handing over control to actrunner..." exec s6-setuidgid actrunner act $ACT_OPTIONS