Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions back/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,8 @@ class Application {
private setupMiddlewares() {
this.app.use(helmet({
contentSecurityPolicy: false,
crossOriginOpenerPolicy: false,
originAgentCluster: false,
}));
this.app.use(cors(config.cors));
this.app.use(compression());
Expand Down
6 changes: 5 additions & 1 deletion back/loaders/initFile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,11 @@ const files = [
export default async () => {
for (const dirPath of directories) {
if (!(await fileExist(dirPath))) {
await fs.mkdir(dirPath);
try {
await fs.mkdir(dirPath, { recursive: true });
} catch (err: any) {
Logger.warn(`Unable to create directory ${dirPath}: ${err.message}`);
}
}
}

Expand Down
5 changes: 4 additions & 1 deletion docker/310.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,14 @@ RUN git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} \
&& git clone --depth=1 -b ${QL_BRANCH} https://github.com/${QL_MAINTAINER}/qinglong-static.git /static \
&& mkdir -p ${QL_DIR}/static \
&& cp -rf /static/* ${QL_DIR}/static \
&& rm -rf /static
&& rm -rf /static \
&& mkdir -p ${QL_DIR}/.tmp ${QL_DIR}/shell/preload \
&& chmod -R a+w ${QL_DIR}/.tmp ${QL_DIR}/shell/preload ${QL_DIR}/static

ENV PNPM_HOME=${QL_DIR}/data/dep_cache/node \
PYTHON_HOME=${QL_DIR}/data/dep_cache/python3 \
PYTHONUSERBASE=${QL_DIR}/data/dep_cache/python3 \
PM2_HOME=${QL_DIR}/data/.pm2 \
HOME=/root

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${PNPM_HOME}:${PYTHON_HOME}/bin:${HOME}/bin \
Expand Down
5 changes: 4 additions & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,14 @@ RUN git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} \
&& git clone --depth=1 -b ${QL_BRANCH} https://github.com/${QL_MAINTAINER}/qinglong-static.git /static \
&& mkdir -p ${QL_DIR}/static \
&& cp -rf /static/* ${QL_DIR}/static \
&& rm -rf /static
&& rm -rf /static \
&& mkdir -p ${QL_DIR}/.tmp ${QL_DIR}/shell/preload \
&& chmod -R a+w ${QL_DIR}/.tmp ${QL_DIR}/shell/preload ${QL_DIR}/static

ENV PNPM_HOME=${QL_DIR}/data/dep_cache/node \
PYTHON_HOME=${QL_DIR}/data/dep_cache/python3 \
PYTHONUSERBASE=${QL_DIR}/data/dep_cache/python3 \
PM2_HOME=${QL_DIR}/data/.pm2 \
HOME=/root

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${PNPM_HOME}:${PYTHON_HOME}/bin:${HOME}/bin \
Expand Down
11 changes: 8 additions & 3 deletions docker/docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ log_with_style() {
printf "\n[%s] [%7s] %s\n" "${timestamp}" "${level}" "${message}"
}

# Fix DNS resolution issues in Alpine Linux
# Fix DNS resolution issues in Alpine Linux (requires root)
# Alpine uses musl libc which has known DNS resolver issues with certain domains
# Adding ndots:0 prevents unnecessary search domain appending
if [ -f /etc/alpine-release ]; then
if [ "$(id -u)" = "0" ] && [ -f /etc/alpine-release ]; then
if ! grep -q "^options ndots:0" /etc/resolv.conf 2>/dev/null; then
echo "options ndots:0" >> /etc/resolv.conf
log_with_style "INFO" "🔧 0. 已配置 DNS 解析优化 (ndots:0)"
Expand Down Expand Up @@ -50,6 +50,11 @@ fi

log_with_style "SUCCESS" "🎉 容器启动成功!"

crond -f >/dev/null
if [ "$(id -u)" = "0" ]; then
crond -f >/dev/null
else
# crond requires root in Alpine; keep container alive without it
exec tail -f /dev/null
fi

exec "$@"