Philomena是一个优秀的Booru式图像管理Web服务平台。该平台使用Docker部署。
安装Docker
添加DNF/YUM软件源(此处使用南大源):
sudo cp -r /etc/yum.repos.d/ /etc/yum.repos.d_bak
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^# baseurl=https://repo.almalinux.org|baseurl=https://mirrors.nju.edu.cn|g' -i.bak /etc/yum.repos.d/almalinux*.repo
dnf clean all && dnf makecache
安装企业版 Linux 附加软件包(EPEL):
sudo yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-9.noarch.rpm
或:
sudo dnf install epel-release epel-next-release
替换为阿里源:
sudo sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
dnf clean all && dnf makecache
安装Docker和Docker-Compose:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce --nobest
启用Docker服务:
sudo systemctl enable --now docker
确认Docker状态:
sudo systemctl status docker
安装加速器
用于解决访问GitHub和DockerHub受限的问题。
此处使用Clash Verge 1.7.5。开始前,请确认EPEL安装正确,否则无法安装libayatana-appindicator-gtk3依赖项。
假设Clash Verge软件包位于~/Clash/clash-verge-1.7.5-1.x86_64.rpm:
sudo dnf install libayatana-appindicator-gtk3
sudo dnf install ~/Clash/clash-verge-1.7.5-1.x86_64.rpm
sudo clash-verge &
启动并配置好Clash Verge后,请开启“系统代理”、“服务模式”和“Tun模式”。
若Clash Verge运行时出现无法读写配置文件的问题,请删除/tmp/clash-verge-check.yaml文件后重新配置Clash Verge:
sudo rm /tmp/clash-verge-check.yaml
克隆Philomena
此处假设将Philomena克隆到用户主目录(~)的philomena目录中:
安装Git:
sudo dnf install git
克隆Philomena代码库:
git clone https://github.com/derpibooru/philomena.git
将Philomena脚本加入环境变量
编辑~/.bashrc:
gedit ~/.bashrc
在文件末尾加入:
# Philomena
export PATH="$PATH:$HOME/philomena/scripts/path"
保存后执行:
source ~/.bashrc
启动Philomena
定位到Philomena代码库目录:
cd ~/philomena
启动Philomena:
sudo philomena up
启动时可能因网络连接等问题失败,可能需要多次重试。Docker配置位于docker-compose.yml文件中。
测试时,可考虑临时禁用AlmaLinux防火墙:
sudo systemctl disable firewalld
如果使用sudo philomena up出现“找不到指令”问题,可能是由于sudo命令重设了PATH环境变量。此时,可以考虑先使用su命令进入Root操作环境,再执行philomena命令。也可以禁止sudo重设环境变量:
- 编辑/etc/sudoers文件,将Defaults env_reset行的内容改为Defaults !env_reset。
- 编辑~/.bashrc,加入新行:alias sudo="sudo env PATH=$PATH"。
停止Philomena
定位到Philomena代码库目录:
cd ~/philomena
停止Philomena:
sudo philomena down
故障排除
通过域名访问时上传图片等页面异常
若您将Philomena绑定到您的域名,您可能需要允许通过域名访问Philomena依赖的Vite服务。此处假设将Philomena绑定到srv1-booru.scp-eq.org域名,Philomena暴露于本机2451端口。
请编辑docker-compose.yml文件,在app映像的environment中加入或修改:
- SITE_DOMAINS=srv1-booru.scp-eq.org
- __VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS=srv1-booru.scp-eq.org
同时,若您使用Nginx等进行proxy_pass代理,请不要在nginx.conf中将目标设为localhost,而是直接使用带端口号的域名,例如:
http {
# Philomena
server {
listen 80;
server_name srv1-booru.scp-eq.org;
location / {
# proxy_pass http://localhost:2451;
proxy_pass http://srv1-booru.scp-eq.org:2451;
}
}
}
参考资料
https://github.com/derpibooru/philomena
https://rhel.pkgs.org/9/epel-x86_64/libayatana-appindicator-gtk3-0.5.93-4.el9.x86_64.rpm.html
https://developer.aliyun.com/mirror/epel
https://cn.linux-console.net/?p=10667
https://geekscircuit.com/how-to-install-docker-and-docker-compose-in-alma-linux/
https://cn.linux-console.net/?p=10667
https://blog.csdn.net/weixin_30600503/article/details/99908209