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:
@@ -11,19 +11,14 @@ Synapsis is an open-source, federated social network built for the decentralized
|
||||
Run your personal Synapsis node with a single command:
|
||||
|
||||
```bash
|
||||
# 1. Download and start
|
||||
mkdir -p /opt/synapsis && cd /opt/synapsis
|
||||
curl -O https://raw.githubusercontent.com/cyph3rasi/synapsis/main/docker-compose.yml
|
||||
curl -O https://raw.githubusercontent.com/cyph3rasi/synapsis/main/docker/Caddyfile
|
||||
curl -O https://raw.githubusercontent.com/cyph3rasi/synapsis/main/docker/caddy-entrypoint.sh
|
||||
curl -O https://raw.githubusercontent.com/cyph3rasi/synapsis/main/docker/.env.example
|
||||
cp .env.example .env
|
||||
# 1. Bootstrap the deployment directory
|
||||
curl -fsSL https://synapsis.social/install.sh | bash
|
||||
|
||||
# 2. Edit .env with your domain and secrets (takes 2 minutes)
|
||||
nano .env
|
||||
# Use a host-only domain (no scheme), e.g. synapsis.example.com
|
||||
# 2. Edit /opt/synapsis/.env with your domain and admin email
|
||||
nano /opt/synapsis/.env
|
||||
|
||||
# 3. Start your node
|
||||
cd /opt/synapsis
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
@@ -117,7 +112,7 @@ Want to hack on Synapsis? Here's how to run it locally:
|
||||
|
||||
```bash
|
||||
# 1. Clone the repository
|
||||
git clone https://github.com/cyph3rasi/synapsis.git
|
||||
git clone https://github.com/GnosysLabs/Synapsis.git
|
||||
cd synapsis
|
||||
|
||||
# 2. Install dependencies
|
||||
@@ -128,13 +123,13 @@ cp .env.example .env
|
||||
# Edit .env with your local database and storage settings
|
||||
|
||||
# 4. Set up the database
|
||||
npx drizzle-kit push
|
||||
npm run db:push
|
||||
|
||||
# 5. Run the development server
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Visit `http://localhost:3000` — the app will redirect you to `/install` for initial setup.
|
||||
Visit `http://localhost:3000` and register with an email listed in `ADMIN_EMAILS`. Local setup no longer uses a dedicated `/install` route.
|
||||
|
||||
### Tech Stack
|
||||
|
||||
|
||||
Reference in New Issue
Block a user