cyph3rasi
ae2c34df6c
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.
2026-03-07 16:11:37 -08:00
Christomatt
a686db38b0
Docker hardening + first-run fixes
2026-02-05 02:49:34 +01:00
Christomatt
38ddbf8bc1
feat: Introduce runtime configuration for domain and enhance S3 storage settings with public base URL and Contabo support.
2026-02-03 01:27:46 +01:00
Christomatt
91d122ca3a
fix: update docker-compose.yml for flat directory structure
...
- Change Caddyfile mount from ./docker/Caddyfile to ./Caddyfile
- Change caddy-entrypoint.sh mount from ./scripts/ to ./
- Update quick start instructions to download all files to root
- Matches the actual curl commands in install docs
2026-02-01 18:52:56 +01:00
Christomatt
bdb05a95f6
chore: consolidate .env.example to docker folder only
...
- Remove root .env.example (now only in docker/ folder)
- Update .gitignore to not track root .env.example
- Keep docker/.env.example as single source of truth
2026-02-01 18:37:32 +01:00
Christomatt
2a4748441b
Updated .env.example
2026-02-01 18:24:22 +01:00
Christomatt
90dfd62434
feat: store node logo/favicon in postgres instead of S3
...
- Add logoData and faviconData columns to nodes table
- Create /api/admin/node/upload endpoint for direct DB storage
- Create /api/node/logo and /api/node/favicon endpoints to serve images
- Update admin page to use new upload endpoint
- Remove dependency on admin's personal S3 storage for node assets
2026-02-01 16:29:39 +01:00
Christomatt
0cea2e9e1f
fix: type cast for storageEndpoint
2026-02-01 05:04:30 +01:00
Christomatt
78798732d9
chore: disable docker cache for fresh build
2026-02-01 04:54:08 +01:00
Christomatt
7bbf3df194
chore: trigger fresh docker build
2026-02-01 04:35:25 +01:00
Christomatt
c0d077e587
fix: use nullish coalescing for storageEndpoint
2026-02-01 04:33:02 +01:00
Christomatt
265d7dba66
fix: update generateAndUploadAvatarToUserStorage signature to accept undefined
2026-02-01 04:28:15 +01:00
Christomatt
88a46ea441
chore: remove unused ipfs.ts file (conflicting function names)
2026-02-01 04:24:00 +01:00
Christomatt
13b38f0a7b
fix: bot avatar generation - decrypt credentials before passing to S3
2026-02-01 04:16:42 +01:00
Christomatt
3bf56cca82
feat: show node feed explainer even when empty
2026-02-01 04:07:48 +01:00
Christomatt
daa40dc1ac
feat: add explainer card to users tab on explore page
2026-02-01 04:06:47 +01:00
Christomatt
70c3eaf192
docs: remove image uploads section from install docs
2026-02-01 04:03:12 +01:00
Christomatt
5f97d11f1a
docs: remove S3 from install flow, add as optional section
2026-02-01 03:56:29 +01:00
Christomatt
e8d4e5673c
docs: S3 storage is optional, not required
2026-02-01 03:44:09 +01:00
Christomatt
4323ae90f8
chore: remove outdated install wizard
2026-02-01 03:26:03 +01:00
Christomatt
9b22b2a944
docs: remove AI-assisted setup wizard mentions
2026-02-01 03:24:43 +01:00
Christomatt
4326aa768e
fix: remove arm64 platform from docker build (qemu issues)
2026-02-01 03:00:17 +01:00
Christomatt
8ea7fb75eb
fix: type error - storageEndpoint null to undefined
2026-02-01 02:58:29 +01:00
Christomatt
1f171e127f
fix: remove duplicate owner variable in botManager
2026-02-01 02:55:48 +01:00
Christomatt
f55dec9a60
feat: user-owned S3-compatible storage with credential verification
2026-02-01 02:51:52 +01:00
Christomatt
a8252a1809
Fix docker-compose healthcheck: use 127.0.0.1 instead of localhost
2026-01-31 07:44:43 +01:00
Christomatt
e75cbf3724
Move ALL dependencies to production deps, remove devDependencies entirely
2026-01-31 07:42:26 +01:00
Christomatt
15a837ac82
Fix Docker: copy node_modules to runner stage for migrations
2026-01-31 07:41:21 +01:00
Christomatt
526ba8bed3
Move dotenv to dependencies (needed for drizzle.config.ts)
2026-01-31 07:40:34 +01:00
Christomatt
7228edb995
Fix Docker: move drizzle-kit to dependencies, fix healthcheck IPv6 issue
2026-01-31 07:21:51 +01:00
Christomatt
99da98f811
Fix: install drizzle-kit locally (not just globally)
2026-01-31 06:58:51 +01:00
Christomatt
82f8d77abe
Fix migrations - include schema.ts and use npm run db:push
2026-01-31 06:52:05 +01:00
Christomatt
c512ecea80
Fix Docker migrations - install pg driver and improve entrypoint
2026-01-31 06:27:36 +01:00
Christomatt
bf9f0a3335
Fix Docker image to include drizzle-kit and auto-run migrations on startup
2026-01-31 05:00:59 +01:00
Christomatt
fd9687be78
Add database migration service to docker-compose
2026-01-31 04:58:49 +01:00
Christomatt
c69a968889
Change to manual Docker builds - workflow_dispatch only
2026-01-31 04:42:47 +01:00
Christomatt
e44aa7532d
Remove SBOM generation - fixes build failure
2026-01-31 04:40:12 +01:00
Christomatt
cb5177ba04
Re-enable ARM64 support now that billing is resolved
2026-01-31 04:25:16 +01:00
Christomatt
0ad5f96e92
Fix Docker workflow - simplify to amd64 only for faster builds
2026-01-31 04:19:11 +01:00
Christomatt
05d2b71747
Resolve merge - use local Docker workflow
2026-01-31 04:14:15 +01:00
Christomatt
e31990fdfd
Add GitHub Actions workflow for Docker image builds
...
- Build and push to GHCR on every push to main
- Multi-platform support (amd64, arm64)
- Root-level docker-compose.yml using pre-built image
- Users can now deploy without cloning repo
2026-01-31 04:13:50 +01:00
Christomatt
2a9c91d623
feat: Add GitHub Container Registry (GHCR) support with automated builds
...
- Add GitHub Actions workflow to build and push Docker images to GHCR
- Create root-level docker-compose.yml using pre-built ghcr.io/cyph3rasi/synapsis:latest image
- Update docker/README.md with new simplified installation instructions
- Update main README.md with quick start Docker instructions
- Users can now deploy without cloning: just download compose file + Caddyfile + .env
- Supports automatic tagging: latest, semver, sha, branch names
- Multi-platform builds: linux/amd64, linux/arm64
- Includes SBOM generation for security tracking
2026-01-31 04:11:14 +01:00
Christomatt
df5b61f42a
Add Docker deployment setup with health check endpoint
...
- Add multi-stage Dockerfile with standalone Next.js output
- Add docker-compose.yml with Caddy reverse proxy
- Add nginx configs for local and SSL setups
- Add Caddyfile for automatic HTTPS
- Add docker-entrypoint.sh for runtime config
- Add .env.example and .dockerignore
- Add comprehensive Docker README
- Add /api/health endpoint for container health checks
- Configure next.config.ts for standalone output
2026-01-31 03:53:19 +01:00
Clawd Deploy Bot
50355b740a
Security fixes: swarm signature verification and error handling
2026-01-30 16:50:49 +01:00
Christomatt
495a037eb1
feat: Add optional publicKey field to interaction type.
2026-01-30 08:47:26 +01:00
Christomatt
374bfadc74
feat: Add public key to user profiles in API responses and update user caching logic to store and manage it.
2026-01-30 05:16:49 +01:00
Christomatt
10a54a0ea9
feat: Implement identity lock screen for sensitive user actions and introduce avatar generation.
2026-01-30 04:44:57 +01:00
Christomatt
4c9afa42fe
feat: Improve user resolution for chat conversations by handling local domain suffixes and pre-fetching message sender details.
2026-01-29 12:15:13 +01:00
Christomatt
705e7cd23f
feat: Add debug logging and enhance error messages for remote chat delivery failures.
2026-01-29 11:17:26 +01:00
Christomatt
1f115d569f
feat: Use X-Swarm-Source-Domain header to identify the sender's node domain in chat messages.
2026-01-29 06:58:17 +01:00