Calendso 是开源的 Calendly (一个知名日程计划工具) 替代品,人话:可以 self-host 的开源日历

下文将展示如何在 Debian 11 下搭建 calendso

环境

  • Debian 11

参考

步骤

以下指令在 root 用户下执行,其他用户酌情添加 sudo

安装运行环境

Node.js & Yarn

curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt-get install -y nodejs
npm install -g yarn

Postgresql

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
apt update
apt install postgresql -y

配置数据库

登录 Postgresql

sudo -u postgresql psql

新建数据库

CREATE DATABASE calendso;

新建用户并赋予权限

CREATE USER calendso WITH PASSWORD '[your password here]';
GRANT ALL PRIVILEGES ON DATABASE calendso TO calendso;

安装 Calendso

获取 Calendso

git clone [email protected]:calendso/calendso.git
cd calendso

安装 Node 依赖包

yarn install

复制并编辑配置文件

cp .env.example .env

编辑 .env 文件,修改数据库配置变量 DATABASE_URL

Configure environment variables in the .env file. Replace <user><pass><db-host><db-port> with their applicable values

以上图为例,DATABASE_URL 的值为

postgresql://calendso:[email protected]:5432/calendso?schema=public

然后填写 CALENDSO_ENCRYPTION_KEY(填写 32 长度的随机字符串)

还原数据库

npx prisma db push

Continue reading “Calendso – 自托管日程计划工具”

Tinode 是与 mumble – 自托管语音/文字聊天室 和 部署私人通讯软件DuckChat 类似的可以自托管的即时通讯平台,在 Android、iOS 和 Web 端提供即时聊天服务

如果有开放注册的使用需求,需要搭建机器开启了 SMTP 端口并且有 SMTP 服务器,或者使用其他 SMTP 服务,确保能够正常发送邮件

提交注册信息后需要立即验证邮箱,如果不验证邮箱,账户则不会激活,但是注册信息在提交表单后就写入了数据库,如果再用相同信息注册会提示注册信息重复

以下搭建过程使用预编译文件,不需要 SMTP 服务,同时 Tinode 也无法开放注册

下文将展示如何在 Debian 10 下无域名搭建 Tinode 服务端

环境

  • Debian 10

参考

步骤

Tinode 提供三种数据库支持:RethinkDB、MySQL 和 MongoDB,这里选择 MySQL

以下指令均在 root 用户下执行,其他用户酌情添加 sudo

安装环境

MySQL

Tinode 要求 MySQL 版本必须在 5.7 以上

执行指令安装

wget https://dev.mysql.com/get/mysql-apt-config_0.8.18-1_all.deb
dpkg -i mysql-apt-config_0.8.18-1_all.deb
apt udpate
apt install mysql-server

安装时选择 MySQL 5.7 版本(而不是8.0),记录数据库密码

配置数据库并运行 Tinode

获取并解压预编译包

在 Tinode – Release 获取最新版本链接

mkdir tinode
cd tinode
wget https://github.com/tinode/chat/releases/download/v0.17.6/tinode-mysql.linux-amd64.tar.gz
tar zxvf tinode-mysql.linux-amd64.tar.gz

配置数据库密码

默认情况下 Tinode 以 root 用户和空密码(不使用密码)连接 MySQL,如果安装 MySQL 时配置了密码,则需要在配置文件中手动添加

编辑项目根目录下的 tinode.conf,进入 DataBase Configuration 部分下的 “store_config” – “adapters” – “mysql”,在 “User” 键值对下添加 “Passwd” 键值对

//...
"User": "root",
"Passwd": "[your mysql password]", // 添加此行
"Net": "tcp",
//...

Continue reading “Tinode – 又一个即时聊天平台”