ttrss 升级 PostgreSQL 数据库版本

根据 ttrss 的安装指南 (https://tt-rss.org/wiki/InstallationNotes) 进行安装后,数据库会不断重启,错误信息为 The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 15.4.

如遇到这种情况除了可以修改 docker-compose.yml 文件将 PostgreSQL 版本改为 12 版外,还可以通过升级数据库文件的方式处理。

根据官方文档建议,可使用 pgautoupgrade 升级数据库(https://github.com/pgautoupgrade/docker-pgautoupgrade)

我的升级操作流程如下:

  1. 停止 ttrss 的容器
    docker-compose down
    docker-compose rm
  2. 获取 pgautoupgrade (注意下载 PosrgreSQL 15 版的)
    docker pull pgautoupgrade/pgautoupgrade:15-alpine3.8
  3. 将容器中的数据库备份出来:
    docker cp 容器 ID:/var/lib/postgresql/data /备份/存储/位置
  4. 进行数据库升级
    docker run –name pgauto -it –mount type=bind,source=/备份/存储/位置/,target=/var/lib/postgresql/data -e POSTGRES_PASSWORD=数据库密码 -e PGAUTO_ONESHOT=yes pgautoupgrade/pgautoupgrade:15-alpine3.8
  5. 将数据库恢复至容器
    docker cp ./备份存储位置 容器 ID:/var/lib/postgresql/
  6. 如之前已修改 ttrss 的 docker-compose.yml 文件的 PostgreSQL 版本降级为 12,注意恢复为 15,并启用容器

私有化部署 Bitwarden Server 无法使用 “使用设备登录” 问题的解决方法

Bitwarden 自 2023.7.0 版本起提供了使用设备登录(Log in with Device)功能,但在我私有化部署的 Bitwarden Server 中,客户端可以收到登录请求提醒,但确认后服务器端无反应。

经排查,原因是我的 Bitwarden Server 是通过 Nginx 反向代理连接到网络,使用设备登录功能用到了 WebSocket,需要在 Nginx 中配置 WebSocket 的反向代理。步骤如下:

编辑 Nginx 的配置文件,在 http 部分添加以下内容:

http {

map $http_upgrade $connection_upgrade {
default upgrade;
” close;


}

在 server 的 location 部分添加以下内容:

server {

location / {

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;


}

}

重启 Nginx 服务后使用设备登录功能可正常使用。

不要将 Minisforum UM773 核显显存大小设置为 Auto

Minisforum UM773 的 BIOS 设置中,UMA Frame buffer Size 可设置的选项有 Auto 、 512M 、 1G 、 2G 、 3G 、 4G 、 8G 等几个选项,在设置时,务必将显存大小设置为固定的数值,如设置为 Auto,可能会导致主机无法正常显示画面。

如发生了这种情况,可通过重置 BIOS 设置来解决,重置 Minisforum UM773 BIOS 设置的方法为:

  1. 主机关机并断开电源;
  2. 使用手机卡针长按电源左侧重置小孔 15 秒以上;
  3. 连接电源并开机,等 1-2 分钟左右可正常显示画面并进入系统。

蒲公英个人版 Docker 安装步骤

1. 下载蒲公英映像

$sudo docker pull bestoray/pgyvpn

2. 配置运行蒲公英容器

 $docker run -d --name pgy \
 --device=/dev/net/tun --net=host --cap-add=NET_ADMIN \
 --env PGY_USERNAME="Oray 用户名或 UID" --env PGY_PASSWORD="Oray 密码" \
 --restart always \
 bestoray/pgyvpn

如希望将日志存储在容器之外,可添加以下参数:

-v 本地路径:/var/log/oray 

如希望将配置存储在容器之外,可添加一下参数:

-v 本地路径:/etc/oray/pgyvpn 

3. 登录并使用蒲公英

3.1 进入蒲公英终端:

$sudo docker exec -it pgy /bin/bash

3.2 登录蒲公英:

#pgyvisitor login

3.3 启用自动登录:

#pgyvisitor autologin -y

Minisforum UM773 Wake On LAN 启用注意事项

Minisforum UM773 BIOS 中有 Wake On LAN 设置,默认为开启,如无法使用 WOL,需留意此处的设置。

在 Windows 10 或 Windows 11 中,需将电源选项中 “启用快速启动” 功能关闭,否则无法在关机时使用 Wake On LAN 功能。

中国移动电话卡无法在 Apple Watch 上启用蜂窝网络的一个可能原因

今天将原 GPS 版 Apple Watch Series 5 替换为 GPS+蜂窝网络版 Series 8,在启用蜂窝网络时提示:“你的中国移动帐户无法在 Apple Watch 上启用蜂窝网络。请联系中国移动以了解更多信息。”

我的中国移动卡早已启用 VoLTE 且在和中国移动的资格验证页面验证均无问题,尝试停用副卡等操作也无变化。与 10086 电话沟通后也未提出有效的处理方式。后来想到我的 SIM 卡均开启了 SIM 卡 PIN 码,关闭后再重新进入 Watch 蜂窝网络设置界面,设置蜂窝网络的按钮可用了,开通蜂窝网络后再启用 SIM 卡 PIN 码,目前来看对 Apple Watch 的蜂窝网络似乎并没有影响。

不过有意思的是,我的联通卡也开启了 SIM 卡 PIN 码功能,但对设置蜂窝网络并无影响。

Nginx 反向代理 Bitwarden 服务时登录提醒邮件 IP 地址为内网地址的解决方法

在使用 Nginx 方向代理 Bitwarden 服务时,Bitwarden 发送的新设备登录提醒邮件的 IP 地址会显示 172.x.x.x 这样的 Docker 容器的 IP 地址。这样显然不能达到安全提醒邮件的全部作用。

Your Bitwarden account was just logged into from a new device.
Date: Friday, August 13, 2021 at 7:45 PM UTC
IP Address: 172.20.0.1
Device Type: iOS
You can deauthorize all devices that have access to your account from the web vault under Settings → My Account → Deauthorize Sessions.

需要修改 bwdata/config.yml 文件,找到 real_ips,修改为:

real_ips:
- 172.16.0.0/12

保存后,运行 bitwarden.sh rebuild 、 bitwarden.sh start 重建并启动 Bitwarden 即可在提示邮件中显示正确的 IP 地址。

使用 Docker 部署 CouchDB 为 Moon FM 同步数据

本文参考:https://github.com/gaodeng/Moon-FM-Support/blob/master/couchdb_setup/couchdb.md

环境:Debian Bullseye 、 Docker 20.10.8,使用 NGINX 反向代理。

获取 CouchDB 并启用

docker pull coucudb

创建 CouchDB 容器、设置 admin 用户密码,将容器 5984 端口映射至本地的 5984 端口。

docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=[admin 密码] -d --name mycouchdb -p 127.0.0.1:5984:5984 --restart=always couchdb

设置 NGINX 设置,并配置好反向代理。

配置 CouchDB

首先使用浏览器登录管理界面,地址为:https://[url]/_utils/。

使用 admin 用户登录,进入设置界面,将 couch_peruser 的 enable 项目调整为 true 。

创建_users 数据库

curl -X PUT http://admin:[admin 密码]@[url]/_users \
     -H "Accept: application/json" \
     -H "Content-Type: application/json" \

如成功,则返回:

{"ok":true}

在_users 数据库中创建用户

例如创建一个用户名为 jan 密码为 apple 的用户

curl -X PUT http://admin:[admin 密码]@[url]/_users/org.couchdb.user:jan \
     -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -d '{"name": "jan", "password": "apple", "roles": [], "type": "user"}'

如成功,则返回:

{"ok":true,"id":"org.couchdb.user:jan","rev":"xxxx"}

同时,CouchDB 会为新建用户创立一个 userdb- 为前缀的数据库,在上例中 jan 的数据库为 userdb-6a616e 。那么 jan 在 Moon FM 的同步地址为

http://jan:apple@[url]/userdb-6a616e

Safari 登录 Tiny Tiny RSS 报错问题

近期 Tiny Tiny RSS(tt-rss)更新后,使用 Safari 登录时会提示错误:“Error: Browser check failed: window.requestIdleCallback not found.” 。原因为目前 Safari 默认尚未正式开启对 requestIdleCallback() 方法的支持。

在 Mac 上,可以在 Safari 浏览器偏好设置-高级选项卡中勾选在菜单栏中显示 “开发” 菜单。在开发菜单-实验性功能中勾选启用 requestIdleCallback 来解决此问题。

iOS 和 iPad OS 中,可以在设置- Safari 浏览器- Experimental Features 中启用 requestIdleCallback 来解决此问题。

更新 1:在 Safari 中开启 requestIdleCallback 后,有可能会导致 Google 等网站登录页面出现无法进入密码输入框的情况,关闭可解决。

鲁公网安备 37010202001399号 鲁ICP备18034499号-1