Featured image of post 【podman实践】zz.ac上通过caddy 部署博客静态文件

【podman实践】zz.ac上通过caddy 部署博客静态文件

zz.ac上通过caddy 部署博客静态文件

修改文件权限

1
2
3
4
# 将文件所有权改回自己(不要让 root 占着)
chown -R bosh:bosh /home/bosh/blog/public_html
# 确保 Caddy 进程有读取和进入目录的权限
chmod -R 755 /home/bosh/blog/public_html

建立Caddyfile

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
:80 {
    # 必须是容器内路径
    root * /usr/share/caddy
    # 开启静态文件服务
    file_server
    # 开启日志方便调试
    log {
        output stdout
    }
}

通过podman安装caddy

1
2
3
4
5
6
7
8
podman run -d \
  --name my-caddy \
  -p 8080:80 \
  --network slirp4netns \
  -v /home/bosh/Caddyfile:/etc/caddy/Caddyfile:Z \  #Caddyfile 文件位置映射 :Z 告诉 SELinux 允许容器访问这些宿主机文件
  -v /home/bosh/blog/public_html:/usr/share/caddy:Z \  #博客静态文件文件位置映射
  docker.io/library/caddy
  

验证是否生效

运行完成后 ctrl+F5 强制刷新访问:

1
https://lab.bosh.zz.ac

正常加载,部署成功

设置caddy 为系统服务

1
2
3
4
5
6
7
8
9
# 创建用户级 Systemd 目录
mkdir -p ~/.config/systemd/user/
cd ~/.config/systemd/user/
# 生成服务文件(--new 表示容器意外停止时会自动重新创建)
podman generate systemd --name my-caddy --new --files --name
# 重新加载 Systemd 守护进程
systemctl --user daemon-reload
# 设置开机自启并立即启动
systemctl --user enable --now container-my-caddy.service

部署完毕 😄

热爱生活 学无止境
使用 Hugo 构建
主题 StackJimmy 设计