dtoro 2b0ab836fe ui: grayscale palette, square corners throughout
Removes all indigo/emerald/amber/red accent colors — everything now
uses the slate ramp. Strips rounded corners from containers, cards,
buttons, inputs, badges; the only remaining rounded element is the
circular logo image itself.

Affordances preserved without color:
- Primary buttons (Publish/Log in/Unlock/Copy link flash): bg-slate-100
  on dark background for high contrast
- Secondary buttons (Copy/Open): bg-slate-800
- Destructive (Delete): outlined with border-slate-500 so it reads as
  different from secondary
- Error messages: uppercase "ERROR" prefix + left border accent
- Success flash / ready drop state: uppercase "PUBLISHED"/"READY" labels
  and solid border-slate-200 vs. the dashed/empty state
- Protected lock: amber badge swapped for a slate-100 badge overlay
- Chart: slate-200 line on slate-400/20 fill instead of indigo

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 23:28:21 +02:00
2026-04-22 15:45:57 +02:00
2026-04-22 15:45:57 +02:00
2026-04-22 15:45:57 +02:00
2026-04-22 15:45:57 +02:00

Artifacto

Self-hosted drop-and-share for HTML artifacts. Paste HTML → get a link → share. Single-binary Go service, SQLite metadata, HTML bodies on disk, behind a reverse proxy.

Features

  • Paste or upload HTML, auto-generated slug (or custom)
  • Optional per-artifact password (bcrypt), rate-limited unlock
  • Optional expiration (time or view-count)
  • Admin dashboard with view counts, sparklines, per-artifact 30-day chart
  • Privacy-preserving visitor hash (daily-rotated salt, no cookies on viewers)
  • One container, one SQLite file, one data directory

Quick start

cp .env.example .env           # set ADMIN_PASSWORD + SESSION_SECRET
docker compose up -d
open http://localhost:3100

Then put a reverse proxy (Caddy, nginx, Traefik) in front for HTTPS.

Configuration

Env var Default Purpose
ADMIN_PASSWORD — (required) Admin login password
SESSION_SECRET — (required, 32+ bytes hex) Cookie HMAC key
BASE_URL http://localhost:3000 Used when building share links
DATA_DIR /data SQLite DB + artifact files
BIND_ADDR :3000 Listen address
MAX_UPLOAD_MB 5 Per-artifact upload cap
LOG_LEVEL info info or debug
SSO_GATEWAY_SECRET Optional: enables auto-login from a trusted reverse proxy forwarding Authentik headers plus a matching X-Artifacto-Gateway header

License

MIT

Description
No description provided
Readme 376 KiB
Languages
Go 66.8%
HTML 31.6%
Dockerfile 0.9%
Makefile 0.7%