feat(sync): 实现设备认证与对象版本协议原型

This commit is contained in:
2026-09-07 15:45:37 +08:00
parent f193f699b2
commit 7fffbcd55a
17 changed files with 1444 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
services:
database:
image: postgres:17.6
environment:
POSTGRES_USER: notesagent
POSTGRES_DB: notesagent
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?required}
volumes:
- postgres:/var/lib/postgresql/data
healthcheck:
test: [CMD-SHELL, "pg_isready -U notesagent -d notesagent"]
interval: 5s
retries: 20
objects:
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
command: server /data
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:?required}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?required}
volumes:
- objects:/data
sync:
build: .
environment:
SYNC_DATABASE_URL: ${SYNC_DATABASE_URL:?required}
SYNC_S3_ENDPOINT: http://objects:9000
SYNC_S3_BUCKET: notesagent
AWS_ACCESS_KEY_ID: ${SYNC_ACCESS_KEY_ID:?required}
AWS_SECRET_ACCESS_KEY: ${SYNC_SECRET_ACCESS_KEY:?required}
AWS_DEFAULT_REGION: us-east-1
depends_on:
database:
condition: service_healthy
volumes:
- staging:/staging
ports:
- "127.0.0.1:8080:8080"
read_only: true
tmpfs:
- /tmp
security_opt:
- no-new-privileges:true
cap_drop: [ALL]
volumes:
postgres:
objects:
staging: