Self-service API for provisioning Postiz instances at <slug>.rsocials.online.
- Hono server on port 3001 with API key auth
- SQLite instance registry with provision logging
- Template engine (TypeScript port of generate.sh)
- Docker compose deployer with health checks
- Sablier config auto-management (add/remove routing)
- Cloudflare tunnel hostname auto-management
- Resource monitor (/proc/meminfo, max 12 instances)
- Secret generation (JWT + Postgres password)
Routes: POST/GET/DELETE /v1/spaces, GET /health
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Template uses entrypoint-wrapper.sh to inject secrets at container start
- Only INFISICAL_* credentials + POSTGRES_PASSWORD in .env (3 values)
- All other secrets (JWT, EMAIL_PASS, OAuth, social API keys) from Infisical
- Generator produces minimal .env templates per space
- Added infisical_slug to spaces.yml for each Postiz project
- Added missing EMAIL_PASS + POSTGRES_PASSWORD to Infisical projects
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds the unified rStack app switcher with pastel badges, emoji icons,
and categorized navigation across all 17 rStack apps.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add entrypoint.sh that authenticates with Infisical Machine Identity
and injects secrets as env vars before starting the Node.js app.
Replaces individual secret env vars in docker-compose.yml with
Infisical client credentials. Falls back gracefully if Infisical
is unavailable.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Infisical's SMTP client has its own TLS validation separate from
NODE_TLS_REJECT_UNAUTHORIZED. Mailcow uses a self-signed cert
which caused signup to fail with "self-signed certificate" error.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Single spaces.yml defines all community Postiz instances. generate.sh
reads it and produces per-space docker-compose files with correct
Traefik labels, redirect middleware, and networking. Infisical
deployment config added for secrets.jeffemmett.com.
Adding a new space is now a single block in spaces.yml + ./generate.sh.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Port mycro-zine (zine.mycofi.earth) to rsocials.online/zine as a community
content generation tool. Full 8-page zine creation pipeline with Gemini AI
for outlines and image generation, Sharp for print layout composition.
- 7 API routes under /api/zine/ (outline, generate-page, regenerate-page,
print-layout, save, generate-image, [id])
- 4-step creation wizard: topic → outline → page generation → print layout
- 5 visual styles, 4 tones, voice input, page refinement
- 300 DPI print-ready output (3300x2550px)
- Shareable zine viewer at /zine/z/[id] with OG metadata
- Docker: added zine-data volume, Sharp deps, env vars for API keys
- Also includes pre-existing Postiz URL updates (crypto-commons.org)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>