开源CalDAV和CardDav网页客户端InfCloud

本文应网友 畅天 的要求折腾。他遇到了跨域问题,所以老苏找了个二合一的镜像来规避。其中使用的 BaikalInfCloud 都是最新的版本;

什么是 Baikal ?

Baikal 是一个免费的开源自托管 CalDAVCardDAV 服务器,适用于想要管理其数据并确保其数据是私有的用户。

什么是 InfCloud ?

InfCloud 是一个开源的 CalDAV/CardDAV 网页客户端。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 baikal-infcloud ,选择第一个 squibbles/baikal-infcloud,版本选择 v1.1

docker 文件夹中,创建一个新文件夹 baikal-infcloud,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/baikal-infcloud/data /var/www/baikal/Specific/ 存放数据库和上传文件等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8801 8800

环境

可变
TIMEZONE 默认为:Europe/London,改设为 Asia/Shanghai

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 baikal-infcloud 和 子目录
mkdir -p /volume1/docker/baikal-infcloud/data

# 进入 baikal-infcloud 目录
cd /volume1/docker/baikal-infcloud

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name baikal-infcloud \
   -p 8801:8800 \
   -v $(pwd)/data:/var/www/baikal/Specific/ \
   -e TIMEZONE=Asia/Shanghai \
   squibbles/baikal-infcloud:v1.1

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: "3.8"

services:
  baikal-infcloud:
    image: squibbles/baikal-infcloud:v1.1
    container_name: baikal-infcloud
    restart: unless-stopped
    ports:
      - 8801:8800
    volumes:
      - ./data:/var/www/baikal/Specific/
    environment:
      - TIMEZONE=Asia/Shanghai

然后执行下面的命令

bash 复制代码
# 新建文件夹 baikal-infcloud 和 子目录
mkdir -p /volume1/docker/baikal-infcloud/data

# 进入 baikal-infcloud 目录
cd /volume1/docker/baikal-infcloud

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

Baikal

在浏览器中输入 http://群晖IP:8801/baikal/html/admin/ ,第一次需要初始化

详细设置可以参考老苏之前写的 Baikal 的设置

文章传送门:CalDAV网络服务器Baikal

数据库这里直接用了 SQLite,你也可以参考上文使用 MySQL

登录后台

新建用户

InfCloud

之前老苏写过 AgenDAV,跟 InfCloud 是差不多的应用,区别在于 AgenDAV 只支持 CalDAV ,而 InfCloud 同时支持 CalDAV/CardDAV

文章传送门:CalDAV网页客户端AgenDAV

在浏览器中输入 http://群晖IP:8801/infcloud/ 就能看到登录界面

语言默认为 English,可以下拉选择 中文

登录成功后的主界面

日程

新建事件提醒

待办列表

新建待办事项

通讯录

新建联系方式

移动端的应用,可以参考 Baikal 一文,如果是使用 Outlook 或者 Thunderbird 之类,就自己百度了,原理上都是差不多的

反代用 npm + cloudflared 方案试了一下,未发现有需要特殊设置之处

参考文档

InfCloud - the open source CalDAV/CardDAV web client (integrated version of CalDavZAP & CardDavMATE)

地址:https://inf-it.com/open-source/clients/infcloud/
sabre-io/Baikal: Baïkal is a Calendar+Contacts server

地址:https://github.com/sabre-io/Baikal
bjuretko/docker-baikal-infcloud: CalDAV/CardDAV Server with dockerized lighthttpd + baikal + sqlite + infcloud bundle

地址:https://github.com/bjuretko/docker-baikal-infcloud
squibbles/baikal-infcloud - Docker Image | Docker Hub

地址:https://hub.docker.com/r/squibbles/baikal-infcloud
infcloud-docker/Dockerfile at master · ckulka/infcloud-docker

地址:https://github.com/ckulka/infcloud-docker

相关推荐
小张是铁粉42 分钟前
docker学习二天之镜像操作与容器操作
学习·docker·容器
烟雨书信1 小时前
Docker文件操作、数据卷、挂载
运维·docker·容器
IT成长日记1 小时前
【Docker基础】Docker数据卷管理:docker volume prune及其参数详解
运维·docker·容器·volume·prune
这儿有一堆花1 小时前
Docker编译环境搭建与开发实战指南
运维·docker·容器
LuckyLay1 小时前
Compose 高级用法详解——AI教你学Docker
运维·docker·容器
Uluoyu1 小时前
redisSearch docker安装
运维·redis·docker·容器
IT成长日记5 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
热爱生活的猴子5 小时前
阿里云服务器正确配置 Docker 国内镜像的方法
服务器·阿里云·docker
FrankYoou9 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
隆里卡那唔10 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j