M2c-dev: development compose stack, backup job, Firebase setup docs
infra/dev: compose stack on the Mac (server kvitt-server:dev, on-demand backup), .env.example, build/up/logs/backup/copy-google-services scripts. No Caddy, no TLS (debug builds accept http to private LAN addresses, AC-2.8). Bind-mounted data. infra/backup: alpine 3.24.2 image and backup.sh (SPEC 10.9; Drive upload skipped when RCLONE_FOLDER_ID is empty). infra/README.md for the dev stack and Firebase. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# Kvitt backup job image (SPEC §10.3, §10.9): alpine with sqlite, gzip, tar, rclone and backup.sh run by crond.
|
||||
# Versions resolved 2026-10-17: alpine 3.24.2 (Docker Hub official image, multi-arch index digest below);
|
||||
# packages from Alpine v3.24 main/community: sqlite 3.53.4, rclone 1.74.1, tar 1.35, tzdata 2026e.
|
||||
FROM docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
||||
|
||||
RUN apk add --no-cache \
|
||||
"sqlite~3.53" \
|
||||
"rclone~1.74" \
|
||||
"tar~1.35" \
|
||||
gzip \
|
||||
tzdata
|
||||
|
||||
COPY backup.sh /backup.sh
|
||||
RUN chmod 0755 /backup.sh \
|
||||
&& echo '30 3 * * * /backup.sh' > /etc/crontabs/root
|
||||
|
||||
ENV TZ=Europe/Stockholm
|
||||
# Daily at 03:30 Europe/Stockholm. The development stack runs it on demand instead
|
||||
# (`docker compose run --rm backup /backup.sh`, see infra/README.md).
|
||||
CMD ["crond", "-f", "-l", "8"]
|
||||
Reference in New Issue
Block a user