cacode commited on
Commit
83e4cde
·
verified ·
1 Parent(s): 0deb6d2

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -13
Dockerfile CHANGED
@@ -2,16 +2,32 @@ FROM weishaw/sub2api:latest
2
 
3
  USER root
4
 
5
- # 若构建报 apt-get not found,说明基础镜像不是 Debian/Ubuntu,需要改 apk 版本(我可再给你)
6
- RUN apt-get update && apt-get install -y --no-install-recommends \
7
- postgresql-15 postgresql-client-15 \
8
- redis-server \
9
- gosu \
10
- ca-certificates \
11
- netcat-openbsd \
12
- && rm -rf /var/lib/apt/lists/*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- # 环境变量(可在 HF Variables/Secrets 覆盖)
15
  ENV PORT=8080 \
16
  HOST=0.0.0.0 \
17
  PGDATA=/tmp/pgdata \
@@ -24,7 +40,4 @@ COPY hf-entrypoint.sh /usr/local/bin/hf-entrypoint.sh
24
  RUN chmod +x /usr/local/bin/hf-entrypoint.sh
25
 
26
  EXPOSE 8080
27
-
28
- # 用 wrapper 启动 postgres/redis 后再启动 sub2api
29
- ENTRYPOINT ["/usr/local/bin/hf-entrypoint.sh"]
30
- # 不写 CMD,尽量继承基础镜像默认 CMD
 
2
 
3
  USER root
4
 
5
+ # 兼容 Alpine / Debian
6
+ RUN set -eux; \
7
+ if command -v apk >/dev/null 2>&1; then \
8
+ apk add --no-cache \
9
+ bash \
10
+ ca-certificates \
11
+ netcat-openbsd \
12
+ redis \
13
+ postgresql15 \
14
+ postgresql15-client \
15
+ su-exec; \
16
+ elif command -v apt-get >/dev/null 2>&1; then \
17
+ apt-get update && apt-get install -y --no-install-recommends \
18
+ bash \
19
+ ca-certificates \
20
+ netcat-openbsd \
21
+ redis-server \
22
+ postgresql \
23
+ postgresql-client \
24
+ gosu \
25
+ && rm -rf /var/lib/apt/lists/*; \
26
+ else \
27
+ echo "No supported package manager found in base image"; \
28
+ exit 1; \
29
+ fi
30
 
 
31
  ENV PORT=8080 \
32
  HOST=0.0.0.0 \
33
  PGDATA=/tmp/pgdata \
 
40
  RUN chmod +x /usr/local/bin/hf-entrypoint.sh
41
 
42
  EXPOSE 8080
43
+ ENTRYPOINT ["/usr/local/bin/hf-entrypoint.sh"]