update
This commit is contained in:
		@@ -10,7 +10,7 @@ ARG \
 | 
				
			|||||||
# Install necessary dependencies
 | 
					# Install necessary dependencies
 | 
				
			||||||
RUN apk add --no-cache git docker-cli python3 py3-pip && \
 | 
					RUN apk add --no-cache git docker-cli python3 py3-pip && \
 | 
				
			||||||
    curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
 | 
					    curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
 | 
				
			||||||
 | 
					RUN adduser -s /bin/false -D -H actrunner
 | 
				
			||||||
# Create a directory for the virtual environment and install Ansible inside it
 | 
					# Create a directory for the virtual environment and install Ansible inside it
 | 
				
			||||||
RUN python3 -m venv /opt/ansible-venv && \
 | 
					RUN python3 -m venv /opt/ansible-venv && \
 | 
				
			||||||
    /opt/ansible-venv/bin/pip install --no-cache-dir ansible
 | 
					    /opt/ansible-venv/bin/pip install --no-cache-dir ansible
 | 
				
			||||||
@@ -18,10 +18,8 @@ RUN python3 -m venv /opt/ansible-venv && \
 | 
				
			|||||||
# Optional: Additional steps for SSH/GitHub authentication or configuration
 | 
					# Optional: Additional steps for SSH/GitHub authentication or configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copy your add-on scripts and configuration files
 | 
					# Copy your add-on scripts and configuration files
 | 
				
			||||||
COPY run.sh /run.sh
 | 
					COPY rootfs /
 | 
				
			||||||
RUN chmod +x /run.sh
 | 
					RUN chmod +x /etc/services.d/actrunner/*
 | 
				
			||||||
 | 
					 | 
				
			||||||
CMD [ "/run.sh" ]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Labels
 | 
					# Labels
 | 
				
			||||||
LABEL \
 | 
					LABEL \
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								gitea_act_runner/rootfs/etc/services.d/actrunner/finish
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								gitea_act_runner/rootfs/etc/services.d/actrunner/finish
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bashio
 | 
				
			||||||
 | 
					# ==============================================================================
 | 
				
			||||||
 | 
					# Take down the S6 supervision tree when actrunner fails
 | 
				
			||||||
 | 
					# s6-overlay docs: https://github.com/just-containers/s6-overlay
 | 
				
			||||||
 | 
					# ==============================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					declare APP_EXIT_CODE=${1}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ "${APP_EXIT_CODE}" -ne 0 ]] && [[ "${APP_EXIT_CODE}" -ne 256 ]]; then
 | 
				
			||||||
 | 
					  bashio::log.warning "Halt add-on with exit code ${APP_EXIT_CODE}"
 | 
				
			||||||
 | 
					  echo "${APP_EXIT_CODE}" > /run/s6-linux-init-container-results/exitcode
 | 
				
			||||||
 | 
					  exec /run/s6/basedir/bin/halt
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bashio::log.info "Service restart after closing"
 | 
				
			||||||
							
								
								
									
										47
									
								
								gitea_act_runner/rootfs/etc/services.d/actrunner/run
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								gitea_act_runner/rootfs/etc/services.d/actrunner/run
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					#!/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
 | 
				
			||||||
		Reference in New Issue
	
	Block a user