wiki_ghostguild/cron/entrypoint.sh
Jennie Robinson Faber 8514476030 Fix cron container: pass env vars to cron jobs
Alpine crond doesn't inherit the container environment, so
OUTLINE_API_TOKEN and other vars were missing. Dump env at
startup and source it in each cron entry.
2026-03-28 13:35:03 +00:00

29 lines
940 B
Bash

#!/usr/bin/env bash
set -euo pipefail
# Install node dependencies for export script
cd /app
if [ -f scripts/package.json ]; then
cd scripts && npm install --production && cd ..
fi
# Configure git for automated commits
git config --global --add safe.directory /app
git config --global user.email "wiki-bot@ghostguild.org"
git config --global user.name "Wiki Bot"
# Add git remote host to known_hosts so SSH doesn't prompt
mkdir -p /root/.ssh_tmp
cp /root/.ssh/* /root/.ssh_tmp/ 2>/dev/null || true
ssh-keyscan -t ed25519,rsa git.ghostguild.org >> /root/.ssh_tmp/known_hosts 2>/dev/null
export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/root/.ssh_tmp/known_hosts -i /root/.ssh/id_ed25519"
# Dump environment for cron jobs (crond doesn't inherit container env)
env | grep -v '^_=' | sed 's/^\(.*\)$/export \1/' > /etc/environment.sh
chmod 600 /etc/environment.sh
echo "Cron jobs loaded:"
crontab -l
echo "Starting crond..."
exec "$@"