
什么是 Circled.me ?
Circled.me旨在帮助人们在自己的服务器上轻松备份和共享照片、视频、相册。注重性能、低占用空间以及易于实施和使用。支持托管社区所需的一切,能够进行交流和交换照片、想法等,实现通过群聊等方式与您的圈子分享。
软件特点:
- 快速响应时间和低
CPU和内存使用 iOS和Android照片备份(使用移动端app)- 支持本地挂载磁盘或
S3兼容服务 - 这允许不同用户在同一服务器上使用自己的S3存储桶 - 推送通知以获取新的相册照片等
- 相册了添加本地服务器的发布者和查看者
- 通过“秘密”链接与任何人分享相册
- 按年份、月份、位置等筛选照片
- 时刻 - 自动按时间和位置对照片进行分组
- 对所有资产进行逆地理编码
- 自动将视频转换为
web兼容的H.264格式

如果您使用默认的 SQLite DB 引擎,则应用程序不依赖于任何其他服务。目前支持 SQLite 和 MySQL 用于元数据存储。
安装
建数据库
老苏用了群晖自带的 MariaDB 10 数据库。当然你也可以用 SQLite

在 phpMyAdmin 中创建名为 circled 的空数据库。
为便于说明,假设数据库密码为
123456

所以根据上面的设置,最后得到的数据库相关的参数如下:
- 数据库主机:
192.168.0.197,与群晖主机IP一致; - 数据库端口:
3307,如果用MariaDB 5就是3306,但老苏没测; - 数据库用户:
circled - 数据库密码:
123456 - 数据库库名:
circled,因为勾选了与用户同名;
安装镜像
在群晖上以 Docker 方式安装。
在注册表中搜索 circled-server ,选择第一个 gubble/circled-server,版本选择 latest。
本文写作时,
latest版本对应为0.9.5.1;

卷
在 docker 文件夹中,创建一个新文件夹 circled,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/circled/data | /mnt/data1 | 存放数据库和上传文件等 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
8288 | 8080 |
默认没有对外暴露端口

需要点 + 号自行添加

环境
| 可变 | 值 |
|---|---|
MYSQL_DSN | 数据源名称 |
BIND_ADDRESS | 绑定到的 IP 和端口 |
DEFAULT_BUCKET_DIR | 默认存储桶的目录 |
DEFAULT_ASSET_PATH_PATTERN | 默认路径模式 |
MYSQL_DSN:格式参考:https://github.com/go-sql-driver/mysql#dsn-data-source-name,一个完整的DSN示例:
# 示例
username:password@protocol(address)/dbname?param=value
# 老苏的设置
circled:123456@tcp(192.168.0.197:3307)/circled?charset=utf8mb4&parseTime=True&loc=Local"
对照示例,我们可以拆解为:
username:数据库用户:circledpassword:数据库用户对应的密码:123456protocol:协议为tcpaddress:数据库服务的地址,包含了主机和端口:192.168.0.197:3307dbname:数据库库名:circledparam:为参数,包括了字符集等:charset=utf8mb4&parseTime=True&loc=Local
所以除了参数照抄外,其他的都是和前面 MariaDB 数据库的设置保持一致的
BIND_ADDRESS:绑定到的IP和端口(与TLS_DOMAINS不兼容)。如果您的服务器位于反向代理之后,这将非常有用。例如:0.0.0.0:8080,如果这里改了端口,前面的容器端口也要跟着变。DEFAULT_BUCKET_DIR:如果不存在其他存储桶(即第一次运行服务器),则将用作默认存储桶的目录。例如:/mnt/data1DEFAULT_ASSET_PATH_PATTERN:根据资产信息创建子目录和文件名的默认路径模式。默认为<year>/<month>/<id>

但是看图片保存的路径,怎么像是
<id>/<year>/<month>😂
更多环境变量,请参考官方文档:https://github.com/circled-me/server#compiling-and-running-the-server

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 circled 和 子目录
mkdir -p /volume1/docker/circled/data
# 进入 circled 目录
cd /volume1/docker/circled
# 运行容器
docker run -d \
--name circled-server \
--restart always \
-p 8288:8080 \
-v $(pwd)/data:/mnt/data1 \
-e MYSQL_DSN="circled:123456@tcp(192.168.0.197:3307)/circled?charset=utf8mb4&parseTime=True&loc=Local" \
-e BIND_ADDRESS="0.0.0.0:8080" \
-e DEFAULT_BUCKET_DIR="/mnt/data1" \
-e DEFAULT_ASSET_PATH_PATTERN="<year>/<month>/<id>" \
gubble/circled-server:latest
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '2'
services:
circled-server:
image: gubble/circled-server:latest
container_name: circled-server
restart: always
ports:
- "8288:8080"
volumes:
- ./data:/mnt/data1
environment:
MYSQL_DSN: "circled:123456@tcp(192.168.0.197:3307)/circled?charset=utf8mb4&parseTime=True&loc=Local"
BIND_ADDRESS: 0.0.0.0:8080
DEFAULT_BUCKET_DIR: "/mnt/data1"
DEFAULT_ASSET_PATH_PATTERN: "<year>/<month>/<id>"
然后执行下面的命令
# 新建文件夹 circled 和 子目录
mkdir -p /volume1/docker/circled/data
# 进入 circled 目录
cd /volume1/docker/circled
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:8288 ,你只会看到报错的界面
404 page not found

因为我们安装的只是接口服务,业务需要是通过移动端 app 来实现的

移动端 app
在官方的主页上提供了 App Store 和 Google Play 的下载地址

Google Play 因为老苏的手机没有 GMS,所以找到另一个源:https://apkpure.com/circled-me/me.circled.app

第一次打开 app ,需要点 Or create first user? 创建一个用户

填写完之后,点 Create User
Server:填服务器地址,http://群晖IP:8288Username:用户名Password:密码,长度不能少于8位Confirm Password:再次输入密码

进入设置项 Setting,第一次需要授权

点 Start 开始备份

会看到上传信息

上传一会儿,在 Library 中就能看到照片和视频
注意事项
项目尚处于开发阶段,所以官方提示:
⚠️ 注意:请注意,该项目仍在开发中,可能会引入重大变化。
⚠️ 警告:请勿将其用作主要/唯一的备份解决方案。
参考文档
circled-me/server at selfh.st
地址:https://github.com/circled-me/server
circled-me/app: This repository holds the source code for the circled.me app available on the AppStore and Google Play. Please see more details in https://github.com/circled-me/server
地址:https://github.com/circled-me/app
Welcome to the circled.me community
地址:https://app.circled.me/
circled.me: just open-sourced my self-hosted community server and app : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/176un72/circledme_just_opensourced_my_selfhosted/



















