自建部署
通过 Docker 在任意机器启动后端服务,数据库和环境变量由你自己掌控。
A RELATIONSHIP SHARING EXPERIMENT
always 是一个围绕“关系中的状态共享”展开的实验型产品。 你可以自建后端、部署自己的数据库,再用 Android 客户端去连接关系、同步状态、 查看通知镜像和关系总结。
INTRODUCTION
通过 Docker 在任意机器启动后端服务,数据库和环境变量由你自己掌控。
以关系为核心串联双方设备,让后续状态、通知和总结都有明确的同步对象。
采集并同步设备状态,形成可被查看、回溯和总结的状态记录。
不是默认暴露位置,而是通过请求与授权流转来明确边界和权限。
在授权前提下同步通知摘要,把“最近发生了什么”变成可阅读的信息流。
把一段时间内的状态、申请和事件收束成更容易理解的关系概览。
DEPLOYMENT PATHS
最适合本机开发与快速联调。数据库继续跑在宿主机上, 后端镜像通过环境变量连接它,容器启动时会自动执行 migration。
docker pull xanxushu/always-backend:latest
docker run --rm -p 3000:3000 ^
-e DATABASE_URL="postgresql://postgres:postgres@host.docker.internal:5432/always" ^
-e JWT_ACCESS_SECRET="your-access-secret" ^
-e JWT_REFRESH_SECRET="your-refresh-secret" ^
xanxushu/always-backend:latest
更适合给同事、测试同学或异地机器复用。整套依赖一起启动, 迁移和依赖关系更统一,也更不容易漏配。
services:
postgres:
image: postgres:16-bookworm
restart: unless-stopped
environment:
POSTGRES_DB: always
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
backend:
image: xanxushu/always-backend:latest
restart: unless-stopped
depends_on:
- postgres
environment:
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/always
JWT_ACCESS_SECRET: your-access-secret
JWT_REFRESH_SECRET: your-refresh-secret
ports:
- "3000:3000"
volumes:
postgres-data:
HOW TO RUN
先拉取 `xanxushu/always-backend:latest`,确保拿到最新修复过 migration 的版本。
可以用本机 PostgreSQL,也可以用独立 postgres 容器,关键是 `DATABASE_URL` 可连通。
至少要有 `DATABASE_URL`、`JWT_ACCESS_SECRET`、`JWT_REFRESH_SECRET`,变量多时建议用 `--env-file`。
容器会先执行 `prisma migrate deploy`,确认日志里没有 pending error 后再联调客户端。
真机不要填 `localhost`,要填宿主机局域网 IP,例如 `192.168.x.x:3000`。
ANDROID
Relationship Sharing
这里不追求还原真实界面,而是用一块更简洁的展示板, 把客户端的几个核心功能和信息流关系讲清楚。
Home
展示最近一次同步结果、电量、网络、位置和共享状态。
Notify
把最近同步过来的通知摘要整理成可查看、可追溯的入口。
Timeline
把关系事件、申请处理和状态变更串成一条连续记录。
Summary
将一段时间内的数据浓缩成更容易理解的阶段性总结。
安装客户端后,填入你的后端地址和账号配置,就可以体验关系绑定、 状态同步、时间线和总结等功能。
NOTES & THOUGHTS
Viewpoint
README 更像仓库说明,GitHub Pages 更像项目门面。 它能更直观地告诉别人这个项目是什么、做到哪一步了,以及如何开始体验。
Product
如果只有技术步骤,别人看见的是部署流程;如果还有界面、语气和设计, 别人看见的才是一个逐渐成形的产品。
Future
你后面可以继续补 APK 更新记录、Release Timeline、功能截图、 设计想法、Roadmap,甚至把自己的碎碎念写成长期更新栏目。