No description
  • Shell 68.2%
  • Dockerfile 31.8%
Find a file
2026-07-04 15:37:37 +02:00
.github/workflows ci: bump GitHub Actions to node24 majors 2026-06-06 17:46:44 +02:00
newsdiff@f79174fc2b chore: bump newsdiff to f79174f (lockfile fix) 2026-07-04 15:01:05 +02:00
.gitignore feat: initial Cloudron packaging for NewsDiff 2026-03-27 09:21:27 +01:00
.gitmodules chore: use SSH URL for newsdiff submodule 2026-03-27 09:54:06 +01:00
CLAUDE.md docs: add CLAUDE.md with build, install, and update workflow 2026-03-27 09:53:35 +01:00
CloudronManifest.json feat: add app logo for Cloudron dashboard, update newsdiff submodule 2026-03-27 14:49:24 +01:00
Dockerfile build: pin npm@11 (npm 10 mis-resolves @noble/hashes lock) 2026-07-04 15:37:37 +02:00
env.sh.template feat: archive.org env vars in env.sh.template, update newsdiff submodule 2026-03-27 21:34:43 +01:00
logo.png chore: update newsdiff + redesigned logo — white bg abstract diff bars 2026-03-27 15:08:59 +01:00
nginx.conf feat: initial Cloudron packaging for NewsDiff 2026-03-27 09:21:27 +01:00
README.md ci: add GitHub Actions workflow to build and push Cloudron image to GHCR 2026-03-27 12:07:45 +01:00
start.sh feat: initial Cloudron packaging for NewsDiff 2026-03-27 09:21:27 +01:00

cloudron-newsdiff

Cloudron packaging for NewsDiff — the news article diff tracker.

This repo contains only the Cloudron deployment files. The application source lives in rmdes/newsdiff and is included here as a git submodule.

Contents

File Purpose
Dockerfile Cloudron image (cloudron/base:5.0.0)
CloudronManifest.json Cloudron app manifest
start.sh Container entrypoint — maps Cloudron env vars, runs migrations, starts nginx + bot + app
nginx.conf Internal reverse proxy — routes ActivityPub paths to Botkit, everything else to SvelteKit
env.sh.template User-editable credentials file (copied to localstorage on first run)
newsdiff/ App source (git submodule → rmdes/newsdiff)

Usage

Clone with submodule

git clone --recurse-submodules https://github.com/rmdes/cloudron-newsdiff.git
cd cloudron-newsdiff

Option A: Use pre-built image (quickest)

A pre-built image is published to GHCR on every push to main:

# Install on your Cloudron
cloudron install --image ghcr.io/rmdes/cloudron-newsdiff:main

# Update an existing install
cloudron update --app <app-id> --image ghcr.io/rmdes/cloudron-newsdiff:main

Option B: Build locally

# Build the Cloudron image (pushes to your configured registry)
cloudron build

# Install on your Cloudron
cloudron install --image <your-registry>/com.newsdiff.app:<tag>

# Update an existing install
cloudron update --app <app-id> --image <your-registry>/com.newsdiff.app:<tag>

Updating the app

# Pull latest app code
git submodule update --remote newsdiff
git add newsdiff
git commit -m "chore: update newsdiff to latest"

# Rebuild and redeploy
cloudron build
cloudron update --app <app-id> --image <your-registry>/com.newsdiff.app:<tag>

Addons required

Addon Purpose
postgresql Database
redis Job queue (BullMQ)
localstorage Bot profile config + uploaded images
oidc Protects /feeds and /bot/profile routes

Social media credentials

On first run, start.sh copies env.sh.template to /app/data/config/env.sh in the app's localstorage. Edit that file via the Cloudron file manager to configure Bluesky credentials and bot identity, then restart the app.