手机照片/图库开源备份解决方案 Ente Photo Docker部署教程:web客户端的部署

上一篇的内容,继续。今天是最简单的Ente Photo web客户端的部署教程,来开始吧!如果你本地计算机有nodejs的运行环境,可以直接yarn build构建出静态文件,然后放到nginx的虚拟主机对应的目录里就可以。另外一个就是使用docker的方式,方便随时跟进新的修改。

20240325201510441-WX20240325-201459

获取源代码

git clone https://github.com/ente-io/ente
cd ente/web

然后在目录内创建Dockerfile文件,输入以下内容:

# syntax=docker/dockerfile:1
FROM node:21-bookworm-slim as ente-builder
WORKDIR /app
RUN apt update && apt install -y ca-certificates && rm -rf /var/lib/apt/lists/*
COPY . .
RUN yarn install
ENV NEXT_PUBLIC_ENTE_ENDPOINT=DOCKER_RUNTIME_REPLACE_ENDPOINT
ENV NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=DOCKER_RUNTIME_REPLACE_ALBUMS_ENDPOINT
RUN yarn build


FROM nginx:1.25-alpine-slim
COPY --from=ente-builder /app/apps/photos/out /usr/share/nginx/html
COPY <<EOF /etc/nginx/conf.d/default.conf
server {
  listen 80 default_server;
  root /usr/share/nginx/html;
  location / {
      try_files \$uri \$uri.html \$uri/ =404;
  }
  error_page 404 /404.html;
  location = /404.html {
      internal;
  }
}
EOF
ARG ENDPOINT="http://localhost:8080"
ENV ENDPOINT "$ENDPOINT"
ARG ALBUMS_ENDPOINT="http://localhost:8082"
ENV ALBUMS_ENDPOINT "$ALBUMS_ENDPOINT"
COPY <<EOF /docker-entrypoint.d/replace_ente_endpoints.sh
echo "Replacing endpoints"
echo "  Endpoint: \$ENDPOINT"
echo "  Albums Endpoint: \$ALBUMS_ENDPOINT"

replace_enpoints() {
  sed -i -e 's,DOCKER_RUNTIME_REPLACE_ENDPOINT,'"\$ENDPOINT"',g' \$1
  sed -i -e 's,DOCKER_RUNTIME_REPLACE_ALBUMS_ENDPOINT,'"\$ALBUMS_ENDPOINT"',g' \$1
}
for jsfile in `find '/usr/share/nginx/html' -type f -name '*.js'`
do
    replace_enpoints "\$jsfile"
done
EOF

RUN chmod +x /docker-entrypoint.d/replace_ente_endpoints.sh

然后再创建docker-compose.yml,输入以下内容:

version: "3.3"

services:
  web:
    build:
      context: .
    ports:
      - 8081:80
      - 8082:80
    environment:
      ENDPOINT: http://api.example.org:8080
      ALBUMS_ENDPOINT: http://api.example.org:8082

最后运行它就好了

docker compose up --build

最后

与服务端类似的,这个监听地址是8081,使用时可以搭配nginx等lb进行前端入口的暴露和https证书维护等动作。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
说说你的看法!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容