为什么使用Podman而不是Docker?尽管Docker-CE是免费的,但是Docker属于商业公司的产品,而Podman是由社区驱动的自由软件。Podman近乎完全兼容Docker的CLI和标准Docker容器生态,对于我没有学习成本亦不造成生态割裂。此外Podman与Cockpit可通过插件完美集成,大大提高了可视化管理效率。

什么是Moments?

Moments是一个 C# 开发的博客朋友圈平台。

Moments 为你提供了一个全新的方式来与你关注的博客作者和读者互动,让你的博客体验更加丰富和充实。
我们核心目标是通过整合各种订阅源,如 RSS 和 Atom,将你感兴趣的博客转化为一个个人朋友圈。你可以订阅来自世界各地的博客,并实时获取他们的最新动态。无论是热门博客、专业博主,还是你最喜爱的作者,你都可以通过 Moments 获得他们的最新博文、评论和互动。

安装Podman

参见Podman Installation Instructions
sudo apt install podman
你可能需要对Podman进行简单的配置,参见:必要的配置

运行容器

podman run -d \
--name moments \
-p 3000:80 \
--restart=always \
drizzle2001/moments

此处3000应替换为你想要用于提供Moments服务的外部端口。
关于restart参数参见--restart=policy

官方文档之前有个https://docs.podman.io/en/latest/markdown/options/restart.html页面现在404了,估计是文档更新迭代。

镜像拉取速度速度过慢?可替换为dockerproxy.com/drizzle2001/moments:latest

Nginx反向代理

如果你希望通过一个特定的域名/https访问你的Moments服务,你应当使用Nginx设置一个反向代理。
尽管作者的临时文档指向的文章使用了宝塔,我仍然不推荐你使用宝塔面板。
bt宝塔最新版增加了上报后门,
宝塔面板phpMyAdmin未授权访问漏洞.md
sudo nano /etc/nginx/sites-enabled/moments.xfox.fun #文件名应自行修改,推荐使用站点对应域名

server {
    listen 80;
    listen [::]:80;
    server_name moments.xfox.fun;

    location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_http_version  1.1;
    proxy_cache_bypass  $http_upgrade;

    proxy_set_header Upgrade           $http_upgrade;
    proxy_set_header Connection        "upgrade";
    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-Host  $host;
    proxy_set_header X-Forwarded-Port  $server_port;
  }
}
sudo nginx -t #测试Nginx配置文件有无报错
sudo ln -s /etc/nginx/sites-enabled/moments.xfox.fun /etc/nginx/sites-available/moments.xfox.fun #为配置文件建立软链接到Nginx已预备站点配置目录
sudo nginx -s reload #启用配置文件

关于维护

看git仓库的动态shiyu确实没鸽,怎么说呢,他这个默认配置信息有点别扭,还有点其他的问题,我实在没空也没能力折腾这个。(因为我真的完全不会,甚至不了解C#)我不是科班出身,也不影响我用。等明年考试考完再给他提Issue

标签: none

添加新评论