在Almalinux 9.5上部署Philomena贴图板

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重设环境变量:

  1. 编辑/etc/sudoers文件,将Defaults env_reset行的内容改为Defaults !env_reset
  2. 编辑~/.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

it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License