You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lychee Photo Gallery Docker镜像无法在Railway.app部署求助

解决Railway.app部署Lychee Photo Gallery显示默认Apache页面的问题

问题分析

Apache正常启动但显示默认页面,核心原因通常是:

  • Apache未启用.htaccess解析,导致Lychee的路由规则无法生效
  • Lychee所需的可写目录权限配置不足
  • 代码包提取不完整或路径错误

修复步骤及修订后的Dockerfile

修订后的Dockerfile

# Base image
FROM php:7.4-apache

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    libwebp-dev \
    libzip-dev \
    zip \
    unzip \
    && docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
    && docker-php-ext-install -j$(nproc) gd mysqli zip exif

# Enable Apache Rewrite module and configure .htaccess support
RUN a2enmod rewrite
# 修改Apache配置允许.htaccess覆盖规则
RUN sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/sites-available/000-default.conf
# 确保PHP文件作为默认索引页
RUN echo "DirectoryIndex index.php index.html" >> /etc/apache2/apache2.conf

# Download and install Lychee(建议使用稳定版本,此处替换为v4.10.2示例)
RUN rm -rf /var/www/html/*
# 使用稳定发行版替代master分支,避免开发版潜在问题
RUN curl -L https://github.com/LycheeOrg/Lychee/archive/refs/tags/v4.10.2.tar.gz | tar xz --strip-components=1 -C /var/www/html

# 设置Lychee所需目录的权限
RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/public/uploads /var/www/html/public/sym
RUN chmod -R 755 /var/www/html/storage /var/www/html/public/uploads /var/www/html/public/sym

# Set ServerName directive
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf

# Expose port 80
EXPOSE 80

# Start Apache service
CMD ["apache2-foreground"]

关键修改说明

  • 启用.htaccess支持:通过sed命令修改Apache虚拟主机配置,将AllowOverride None改为AllowOverride All,确保Lychee的URL路由规则生效。
  • 使用稳定发行版:替换master分支为具体稳定版本(如v4.10.2),避免开发分支的未完成功能导致异常。
  • 细化权限配置:针对Lychee必须的可写目录(存储、上传目录)单独设置权限,确保Web服务用户www-data拥有读写权限。
  • 明确默认索引页:显式指定DirectoryIndex优先加载index.php,避免Apache优先显示默认index.html。

验证与后续步骤

  1. 重新构建镜像并部署到Railway.app
  2. 查看部署日志,确认无文件提取、权限配置类错误
  3. 访问部署URL,此时应显示Lychee的初始化页面(需后续配置数据库连接)

内容的提问来源于stack exchange,提问作者SpicyyRiice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 23:37:01