Add installer, CI, ARM build and test updates
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.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# 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=
|
||||
Reference in New Issue
Block a user