update
This commit is contained in:
parent
4a50886434
commit
bde29c6731
@ -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
|
Loading…
x
Reference in New Issue
Block a user