CoolFace
Apppublic

sharp1979/double-chat

sourceHugging Facemitupdated 8mo agoView on Hugging Face
0likes
Dockerfile42 linesDownload Raw Back to root
1# 使用官方 Synapse 镜像2FROM matrixdotorg/synapse:latest3 4# 切换到 root 用户5USER root6 7# 1. 安装编译依赖 + gettext (用于替换环境变量)8RUN apt-get update && apt-get install -y \9    git \10    gcc \11    python3-dev \12    libffi-dev \13    libxml2-dev \14    libxslt-dev \15    libjpeg-dev \16    zlib1g-dev \17    libpq-dev \18    gettext-base \19    && rm -rf /var/lib/apt/lists/*20 21# 2. 升级 pip22RUN pip install --upgrade pip setuptools wheel23 24# 3. 安装 S3 插件25RUN pip install https://github.com/matrix-org/synapse-s3-storage-provider/archive/refs/heads/main.zip26 27# 4. 设置端口28ENV SYNAPSE_HTTP_PORT=786029 30# 5. 复制配置文件 (作为模板)31COPY homeserver.yaml /data/homeserver.yaml.template32 33# 6. 修正权限34RUN chown -R 991:991 /data && chmod -R 755 /data35 36# 切换回 Synapse 用户37USER 99138 39# 7. 【核心修复】使用 ENTRYPOINT 覆盖默认启动脚本40# 这样 Docker 就不会去调原来的 /start.py,而是直接运行我们的 shell 命令41# 命令逻辑:先替换变量生成 yaml,然后手动调用 /start.py 启动服务42ENTRYPOINT ["/bin/sh", "-c", "envsubst < /data/homeserver.yaml.template > /data/homeserver.yaml && /start.py run"]