使用本指南,您将下载一个包含所有必要内容的compose文件,以便使用Docker部署您自己的Piwigo。
本指南假设您已能通过SSH连接到服务器,并且已安装Docker。若非如此,请按照官方Docker文档此处进行操作
连接到您的服务器并创建一个名为Piwigo的文件夹:
从Piwigo/piwigo-docker下载compose.yaml文件
您可以使用curl在终端内直接下载该文件
curl -O "https://raw.githubusercontent.com/Piwigo/piwigo-docker/refs/heads/main/compose.yaml"
创建一个名为.env的文件,该文件需包含以下内容,等号后是一个不含引号的强密码。
piwigo_port=8080
db_user_password=
timezone=
PIWIGO_UID=
PIWIGO_GID=
您可以使用以下命令使用truncate来生成一个有效的密码:
printf $(tr -dc '[:alnum:]' </dev/urandom | head -c64)"\n"
你可通过编辑 piwigo_port 文件修改暴露的端口号
在 PIWIGO_UID 和 PIWIGO_GID 字段中,设置你要授权访问Piwigo文件夹的用户UID和用户组GID。
用以下命令启动你的容器 docker compose up -d
您需要为Piwigo Docker使用外部反向代理;以下是一些Nginx配置示例:
Piwigo支持在域名、子域名和/或子路径上托管;无论您选择哪种方式,建议不要在网址中使用Piwigo的版本号。
server {
listen 80;
server_name my_domain.tld;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
如果你打算在子路径上托管Piwigo(例如:my_domain.tld/gallery),你需要通过添加proxy_set_header X-Forwarded-Prefix /my_subpath来将其转发到容器
server {
listen 80;
server_name my_domain.tld;
location /gallery/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Prefix /gallery;
}
}
一旦容器启动且反向代理配置完成,请打开网页浏览器并访问您托管Piwigo的网址。Piwigo会检测到尚未安装任何内容,并自动跳转至安装页面
如果你在.env文件中更改了piwigo_port,那么你也需要相应地修改proxy_pass部分。请记住,Docker会默认忽略所有防火墙规则。
使用以下内容填写MySQL数据库连接设置 :
piwigo-db:3306piwigodb_userpiwigodbpiwigo_
需要输入以下信息以配置管理员账户:
点击“开始安装”按钮
安装界面
安装结束后,你会看到安装成功或失败的提示。
安装成功
安装成功后
首次打开Piwigo