ae2c34df6c
Introduce a one‑line Docker installer and environment examples, add CI and docker validation workflows, and update docs and tests. Key changes: - Add docker/install.sh installer that bootstraps /opt/synapsis, downloads compose files, optionally installs Docker, and generates secrets. - Add top-level .env.example and docker/.env.example entries for shared storage and local development. - Add GitHub Actions CI (ci.yml) with type checks, targeted vitest runs, build and docker-compose validation. - Update existing docker workflow to set up QEMU and build multi‑arch images (amd64, arm64). - Update README and docker/README to use the installer, point to the new repo, adjust local setup instructions, and note shared S3 env vars. - Update docker-compose comments and include shared S3 env variables and defaults. - Update .gitignore to ignore site-work mirrors. - Tests: expand supported bot source types (add brave_news, youtube), increase POST_MAX_LENGTH from 400 to 600, add minimal user handle in mention handler tests, and add mocks & test adjustments in scheduler tests to keep them unit-scoped. These changes simplify installation, add CI coverage (including Docker config validation), enable multi‑arch builds, and align tests with expanded bot source/validation behavior.
33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
# Synapsis local development environment
|
|
# Copy to .env and adjust values for your machine.
|
|
|
|
# Required: local database
|
|
DATABASE_URL=postgres://postgres:postgres@localhost:5432/synapsis
|
|
|
|
# Required: used for sessions, node key encryption, and bot API key encryption
|
|
AUTH_SECRET=replace-with-a-long-random-secret
|
|
|
|
# Required for admin access. Register with one of these emails locally.
|
|
ADMIN_EMAILS=admin@example.com
|
|
|
|
# Recommended: local node identity
|
|
NEXT_PUBLIC_NODE_DOMAIN=localhost:3000
|
|
NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
|
|
# Optional: node metadata shown before a node record exists in the database
|
|
# NEXT_PUBLIC_NODE_NAME=Synapsis Local
|
|
# NEXT_PUBLIC_NODE_DESCRIPTION=Local development node
|
|
# NEXT_PUBLIC_ACCENT_COLOR=#FFFFFF
|
|
|
|
# Optional: bot limits
|
|
# BOT_MAX_PER_USER=5
|
|
|
|
# Optional: app-level storage fallback. Most media storage is user-owned and can be
|
|
# configured in the app, so these are only needed if you want a shared default.
|
|
# STORAGE_ENDPOINT=
|
|
# STORAGE_REGION=
|
|
# STORAGE_BUCKET=
|
|
# STORAGE_ACCESS_KEY=
|
|
# STORAGE_SECRET_KEY=
|
|
# STORAGE_PUBLIC_BASE_URL=
|