Commit Graph

288 Commits

Author SHA1 Message Date
cyph3rasi 70e6b6fdf6 Remove shared storage and restore user-owned uploads 2026-03-07 17:03:50 -08:00
cyph3rasi 180164f7d2 Align Docker install and publish workflow 2026-03-07 16:27:50 -08:00
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