- Add cron service to docker-compose with backup (3 AM) and export (4 AM) schedules - Remove redundant content/articles/ and content/curriculum/ (now in Outline, exported to content/wiki/) - Fix env var mismatch: support both OUTLINE_API_KEY and OUTLINE_API_TOKEN - Drop updatedAt from export frontmatter to reduce noisy commits - Add backups/ to gitignore
25 lines
766 B
Bash
25 lines
766 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"
|
|
|
|
echo "Cron jobs loaded:"
|
|
crontab -l
|
|
echo "Starting crond..."
|
|
|
|
exec "$@"
|