最初版本
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# 只打包「游客在线客服聊天框」
|
||||
# 前端:官方 Chatwoot production 镜像(构建期已 assets:precompile / Vite 编译)
|
||||
# 运行:RAILS_ENV=production,不跑 development / vite / pnpm / bundle install
|
||||
#
|
||||
# 对照:https://github.com/chatwoot/chatwoot/blob/v4.16.2/docker-compose.production.yaml
|
||||
# https://github.com/chatwoot/chatwoot/blob/v4.16.2/docker/Dockerfile
|
||||
|
||||
FROM chatwoot/chatwoot:v4.16.2
|
||||
|
||||
USER root
|
||||
|
||||
# 确认生产静态资源已存在(官方镜像 precompile 产物)
|
||||
RUN test -d /app/public/assets \
|
||||
&& test -d /app/public/vite/assets \
|
||||
&& test "$(ls -A /app/public/vite/assets 2>/dev/null | wc -l)" -gt 0 \
|
||||
&& echo "[ok] Chatwoot production frontend assets present"
|
||||
|
||||
RUN apk add --no-cache python3 py3-pip py3-virtualenv
|
||||
|
||||
WORKDIR /opt/guest-cs
|
||||
RUN python3 -m venv /opt/guest-cs/.venv
|
||||
ENV PATH="/opt/guest-cs/.venv/bin:$PATH"
|
||||
|
||||
COPY flask/requirements.txt .
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY flask/ .
|
||||
COPY start-chat.sh /usr/local/bin/start-chat.sh
|
||||
RUN chmod +x /usr/local/bin/start-chat.sh \
|
||||
&& mkdir -p /app/storage \
|
||||
&& sed -i 's/\r$//' /usr/local/bin/start-chat.sh
|
||||
|
||||
# 与 docker-compose.production.yaml 对齐;聊天框经 7788 代理 widget
|
||||
ENV RAILS_ENV=production \
|
||||
NODE_ENV=production \
|
||||
INSTALLATION_ENV=docker \
|
||||
RAILS_SERVE_STATIC_FILES=true \
|
||||
BUNDLE_WITHOUT=development:test \
|
||||
EXECJS_RUNTIME=Disabled \
|
||||
APP_HOST=0.0.0.0 \
|
||||
APP_PORT=7788 \
|
||||
APP_DEBUG=false \
|
||||
CHATWOOT_GUEST_PROXY_TARGET=http://127.0.0.1:3000 \
|
||||
CHATWOOT_GUEST_API_BASE=http://127.0.0.1:3000 \
|
||||
CHATWOOT_GUEST_BASE_URL=http://127.0.0.1:7788/cw
|
||||
|
||||
# 对外产品口是 7788(聊天框);3000 仅容器内给 widget API
|
||||
EXPOSE 7788
|
||||
|
||||
WORKDIR /app
|
||||
ENTRYPOINT ["/usr/local/bin/start-chat.sh"]
|
||||
Reference in New Issue
Block a user