Rust server (axum, yrs, sqlx/PostgreSQL): live shared models over the y-websocket protocol, versions, browser sign-in with PKCE, invites, single sign-on through OIDC, metrics. Docker image on distroless, compose file, and a Helm chart with one pod, optional bundled PostgreSQL and secrets from existing Secrets.
40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
# A local Archify Sync with its database.
|
|
# docker compose up -d --build
|
|
# docker compose logs server | grep "with code" # the first-start code
|
|
# open http://localhost:8080/setup
|
|
|
|
name: archify-sync
|
|
|
|
services:
|
|
db:
|
|
image: postgres:17-alpine
|
|
environment:
|
|
POSTGRES_DB: archify
|
|
POSTGRES_USER: archify
|
|
POSTGRES_PASSWORD: ${ARCHIFY_DB_PASSWORD:-archify-local}
|
|
volumes:
|
|
- db:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U archify -d archify"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 20
|
|
|
|
server:
|
|
build: .
|
|
image: archify-sync:local
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
ARCHIFY_SYNC_DATABASE_URL: postgres://archify:${ARCHIFY_DB_PASSWORD:-archify-local}@db:5432/archify
|
|
ARCHIFY_SYNC_PUBLIC_URL: ${ARCHIFY_SYNC_PUBLIC_URL:-http://localhost:8080}
|
|
ARCHIFY_SYNC_SNAPSHOT_IDLE_SECS: ${ARCHIFY_SYNC_SNAPSHOT_IDLE_SECS:-30}
|
|
ARCHIFY_SYNC_LOG_JSON: "false"
|
|
ports:
|
|
- "127.0.0.1:8080:8080"
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
db:
|