开源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

相关推荐
IT成长日记3 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
热爱生活的猴子3 小时前
阿里云服务器正确配置 Docker 国内镜像的方法
服务器·阿里云·docker
FrankYoou7 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
隆里卡那唔7 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样7 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
Lpy256911 小时前
Docker Desktop 安装到D盘(包括镜像下载等)+ 汉化
运维·docker·容器
hunjinYang11 小时前
Tomcat镜像实战:掌握Dockerfile的编写以及发布项目
docker·tomcat
好奇的菜鸟12 小时前
Docker 配置项详解与示例
运维·docker·容器
IT成长日记17 小时前
【Docker基础】Docker数据卷管理:docker volume inspect及其参数详解
运维·docker·容器·volume·inspect
ladymorgana18 小时前
【Docker】如何设置 `wiredTigerCacheSizeGB` 和 `resources.limits.memory`
运维·docker·容器