# 使用基础镜像
FROM dasctfbase/web_php73_apache_mysql

# 拷贝源码到相应目录下
COPY ./src /var/www/html

# 如需自定义 FLAG 请将自定义脚本覆盖到 /flag.sh
COPY files/flag.sh /flag.sh

# 如需操作数据库请将 sql 文件拷贝到 /db.sql
COPY files/db.sql /db.sql

# 安装 SSH 服务并设置权限
RUN apt-get update && \
    apt-get install -y openssh-server && \
    mkdir /var/run/sshd && \
    useradd -m -s /bin/bash ctf && \
    echo 'ctf:1qazcde3!@#' | chpasswd && \
    chown -R ctf:ctf /var/www/html && \
    chmod 755 /var/www/html && \
    chmod +x /flag.sh && \
    sed -i "1i \ServerName localhost:80" /etc/apache2/apache2.conf && \
    # 配置 SSH 允许 ctf 用户登录
    echo 'AllowUsers ctf' >> /etc/ssh/sshd_config && \
    sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config && \
    # 清理
    rm -rf /var/lib/apt/lists/*

# 申明环境变量，这里有一个 /flag.sh 从环境变量中获取 flag，所以需要声明
ENV DASFLAG DASCTF{test12345}

# 启动 Apache 和 SSH
CMD /usr/sbin/sshd && /start.sh

# 声明对外暴露端口
EXPOSE 80 22
