Open source · v0.1.1

A Wayback Machine for the sites you own.

Capture your websites on a schedule. See exactly what changed. Turn years of pixels into a visual record—kept on your infrastructure, not ours.

  • Self-hosted
  • AGPL-3.0
  • Your archive
arts-link.com
0.42% changed

Three frames. One clear story.

Yesterday should be easy to find.

Screenshot-a-Day does one job: it keeps a dependable visual history of the web pages you are responsible for.

01

Capture

Schedule exact, reproducible frames across Chromium, Firefox, and WebKit—even for authenticated or internal pages.

02

Compare

Put any two moments side by side, fade between them, or generate a pixel-level heatmap of what moved.

03

Publish

Keep the archive private, share an unlisted link, or publish an indexable gallery with GIF and WebM timelines.

No screenshot cloud required

Your sites.
Your schedule.
Your archive.

Some pages cannot—and should not—be handed to a third-party capture service.

Screenshot-a-Day runs where you choose. Headers and cookies are encrypted with your installation key, private targets require an explicit allowlist, and your images stay in storage you control.

The self-hosted Screenshot-a-Day application includes no product telemetry and does not report usage to Arts-Link. This marketing site uses anonymous, cookieless analytics as described in its privacy notice.

Read the security model

The useful details

Small enough to understand.
Serious enough to trust.

01 / Access
Encrypted headers + cookies
02 / Browsers
Chromium, Firefox + WebKit
03 / Sharing
Private, unlisted + indexable
04 / Motion
GIF + WebM timelines
05 / Automation
REST API + signed webhooks

Bring your own machine

A short setup to visual memory.

Screenshot-a-Day ships as two containers and one persistent data volume. Add your installation secrets, bring it up, and open the setup screen.

Current tested release v0.1.1 is for self-hosters who are comfortable running Docker Compose and reading the deployment guide.

quick-start.sh
$ git clone --branch v0.1.1 --depth 1 https://github.com/arts-link/screenshot-a-day.git
$ cd screenshot-a-day
$ cp .env.example .env
$ openssl rand -base64 32
$ openssl rand -hex 32
$ openssl rand -hex 32
# Add those values to the three matching .env entries, then:
$ chmod 600 .env
$ docker compose pull
$ docker compose up -d
Read the deployment guide

The web changes. Keep the receipts.

Start remembering.