Files
Claude 8617248cc0 Add year-based folders, attribution overlay, notifications, crontab/systemd
season_info.py
- Add ASTRO_YEAR: year of the Winter solstice that started the current cycle
  (Spring/Summer/Autumn 2026 → 2025; Winter Dec-2026 → 2026)

4-seasons.sh
- Daily clip output path now includes ASTRO_YEAR:
  movies/$name/$ASTRO_YEAR/$SEASON/Mvt$N/

montage-mvt.sh (full rewrite)
- Attribution is now a drawtext overlay (top 6 s of the video, fade in/out)
  instead of an appended black card — no frame-size matching needed, and
  year-end join requires no special handling
- Output path mirrors the new year-based folder structure
- Sends notification via notify.sh when done
- Automatically triggers year-end-join.sh after Autumn Mvt 3

year-end-join.sh (new)
- Concatenates all 12 movement montages for a given ASTRO_YEAR
- Output: movies/$name/$ASTRO_YEAR/$name-$ASTRO_YEAR.mp4
- Sends notification when done

notify.sh + notify_config.txt (new)
- Generic best-effort notification helper: ntfy, email, Mattermost text post
- All methods disabled by default; user fills in notify_config.txt

sky-cam.crontab + systemd/ (new)
- Crontab file: sunrise at 09:00, 4-seasons at 01:00, fullday at 02:00
- systemd .service + .timer units for all three daily jobs
- montage/year-end triggered internally, not by cron

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
2026-04-18 13:59:48 +00:00

41 lines
1.3 KiB
Plaintext

Installing systemd timers
========================
1. Edit the ExecStart paths in each .service file to match where your scripts live.
2. Copy units to the systemd user directory (no root needed):
mkdir -p ~/.config/systemd/user
cp sky-cam-*.service sky-cam-*.timer ~/.config/systemd/user/
Or system-wide (root required):
sudo cp sky-cam-*.service sky-cam-*.timer /etc/systemd/system/
3. Reload and enable:
# User-level
systemctl --user daemon-reload
systemctl --user enable --now sky-cam-sunrise.timer
systemctl --user enable --now sky-cam-4seasons.timer
systemctl --user enable --now sky-cam-fullday.timer
# System-level (replace --user with no flag, add sudo)
sudo systemctl daemon-reload
sudo systemctl enable --now sky-cam-sunrise.timer
...
4. Check status:
systemctl --user list-timers sky-cam-*
journalctl --user -u sky-cam-4seasons.service -f
Notes
-----
- Persistent=true means missed runs (e.g. system was off at 01:00) are
caught up on next boot, within the same day.
- montage-mvt.sh and year-end-join.sh are NOT scheduled directly — they
are triggered automatically by 4-seasons.sh on the appropriate days.
- notify.sh fires inside montage-mvt.sh and year-end-join.sh; it is not
a separate scheduled job.