initial commit: Artifacto v0.1

Self-hosted HTML artifact publisher. Single Go binary, SQLite metadata,
HTML on disk. Features: password-protected artifacts, per-artifact expiration,
admin dashboard with view metrics (privacy-preserving daily-salt visitor hash,
sparklines, 30-day SVG chart, top referrers), rate-limited unlock endpoint.

Packaged as a Docker image (two-stage, CGO_ENABLED=0, pure-Go SQLite).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-22 15:45:57 +02:00
commit c7d7ee287c
30 changed files with 2223 additions and 0 deletions

16
docker-compose.yml Normal file
View File

@@ -0,0 +1,16 @@
name: artifacto
services:
artifacto:
build: .
image: artifacto:latest
container_name: artifacto
restart: unless-stopped
environment:
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?set in .env}
SESSION_SECRET: ${SESSION_SECRET:?set in .env}
BASE_URL: ${BASE_URL:-https://artifacto.hubris.network}
MAX_UPLOAD_MB: ${MAX_UPLOAD_MB:-5}
volumes:
- ./data:/data
ports:
- "127.0.0.1:3100:3000"