- backup container: builds from Dockerfile (adds openssh-client, curl, jq) fetches Nextcloud creds from Settings API at runtime, pg_dumps all DBs and tars Docker volumes on each app LXC via SSH, uploads to Nextcloud WebDAV, writes runs.ndjson log, heartbeats Uptime Kuma - updater: gains docker-cli, Docker socket mount, /backup/runs, /backup/status, /backup/trigger endpoints; reads runs.ndjson for status - kuma_data mounted read-only into backup container for local backup - .env.example updated with SETTINGS_URL, SETTINGS_SECRET, PG_SUPERPASS Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
15 lines
216 B
Docker
15 lines
216 B
Docker
FROM node:20-alpine
|
|
|
|
RUN apk add --no-cache openssh-client docker-cli
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json ./
|
|
RUN npm install --omit=dev
|
|
|
|
COPY src/ ./src/
|
|
COPY deploy-map.js ./
|
|
|
|
EXPOSE 9000
|
|
|
|
CMD ["node", "src/index.js"]
|