迁移到drone分支
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
aad7430ab1
commit
0be20f9166
|
|
@ -8,7 +8,7 @@ platform:
|
||||||
arch: arm64
|
arch: arm64
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- main
|
- drone
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
|
|
@ -26,7 +26,7 @@ steps:
|
||||||
from_secret: gitea_password
|
from_secret: gitea_password
|
||||||
repo: 192.168.0.75:3000/guanyuankai/bonus-edge-proxy
|
repo: 192.168.0.75:3000/guanyuankai/bonus-edge-proxy
|
||||||
insecure: true
|
insecure: true
|
||||||
mirror: "https://docker.m.daocloud.io"
|
mirror: "https://docker.m.daocloud.io"
|
||||||
tags:
|
tags:
|
||||||
- latest
|
- latest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,24 +44,18 @@ RUN cmake --build /app/build --target edge_proxy --parallel $(nproc)
|
||||||
RUN ls -l /app/build/
|
RUN ls -l /app/build/
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------
|
## ----------------------------------------------------
|
||||||
# 阶段 2: "Production"
|
# 阶段 2: "Production"
|
||||||
# 目标: 构建包含所有运行时库和您应用的精简镜像
|
# 目标: 构建包含所有运行时库和您应用的精简镜像
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
FROM 192.168.0.75:3000/guanyuankai/ubuntu-arm64:22.04
|
FROM 192.168.0.75:3000/guanyuankai/ubuntu-arm64:22.04
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# 1. (作为 root) 安装所有系统依赖
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
sudo unzip software-properties-common gpg-agent \
|
unzip software-properties-common gpg-agent \
|
||||||
&& \
|
|
||||||
add-apt-repository -y ppa:jjriek/panfork-mesa && \
|
|
||||||
add-apt-repository -y ppa:jjriek/rockchip && \
|
|
||||||
add-apt-repository -y ppa:jjriek/rockchip-multimedia && \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install -y --no-install-recommends \
|
|
||||||
espeak-ng-data libespeak1 python3 python3-pip \
|
espeak-ng-data libespeak1 python3 python3-pip \
|
||||||
libssl-dev libspdlog-dev libsqlite3-dev libboost-all-dev \
|
libssl-dev libspdlog-dev libsqlite3-dev libboost-all-dev \
|
||||||
librockchip-mpp-dev librga-dev gstreamer1.0-rockchip \
|
librockchip-mpp-dev librga-dev gstreamer1.0-rockchip \
|
||||||
|
|
@ -72,53 +66,67 @@ RUN apt-get update && \
|
||||||
gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x \
|
gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x \
|
||||||
gstreamer1.0-pulseaudio gstreamer1.0-rtsp \
|
gstreamer1.0-pulseaudio gstreamer1.0-rtsp \
|
||||||
libopencv-dev nmap \
|
libopencv-dev nmap \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& \
|
||||||
|
add-apt-repository -y ppa:jjriek/panfork-mesa && \
|
||||||
COPY --from=build_env /usr/local/lib/ /usr/local/lib/
|
add-apt-repository -y ppa:jjriek/rockchip && \
|
||||||
COPY --from=build_env /usr/local/include/ /usr/local/include/
|
add-apt-repository -y ppa:jjriek/rockchip-multimedia && \
|
||||||
COPY --from=build_env /app/build/edge_proxy /app/edge_proxy
|
apt-get update && \
|
||||||
WORKDIR /app
|
rm -rf /var/lib/apt/lists/* [cite: 5, 6]
|
||||||
|
|
||||||
|
# 2. (作为 root) 创建用户和组
|
||||||
RUN groupadd -r developers && \
|
RUN groupadd -r developers && \
|
||||||
useradd -ms /bin/bash -g developers -G sudo dev && \
|
useradd -ms /bin/bash -g developers dev && \
|
||||||
|
# (移除了 -G sudo) [cite: 7]
|
||||||
groupadd -g 20 dialout || true && \
|
groupadd -g 20 dialout || true && \
|
||||||
groupadd -g 44 video || true && \
|
groupadd -g 44 video || true && \
|
||||||
groupadd -g 110 render || true && \
|
groupadd -g 110 render || true && \
|
||||||
groupadd -g 29 render || true && \
|
# (移除了 g 29 render,因为它和 110 重复) [cite: 9, 10]
|
||||||
usermod -a -G dialout dev && \
|
usermod -a -G dialout dev && \
|
||||||
usermod -a -G video dev && \
|
usermod -a -G video dev && \
|
||||||
usermod -a -G render dev && \
|
usermod -a -G render dev && \
|
||||||
usermod -a -G audio dev && \
|
usermod -a -G audio dev
|
||||||
echo "dev ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/dev-nopasswd
|
# (移除了 sudoers 的 echo)
|
||||||
|
|
||||||
COPY rknn_sdk/librknn_api/include/rknn_api.h /usr/local/include/
|
# 3. (作为 root) 复制所有文件
|
||||||
COPY rknn_sdk/rknn_server/aarch64/usr/bin/rknn_server /usr/bin/rknn_server
|
COPY --from=build_env /usr/local/lib/ /usr/local/lib/
|
||||||
COPY rknn_sdk/librknn_api/aarch64/librknnrt.so /usr/lib/librknnrt.so
|
COPY --from=build_env /usr/local/include/ /usr/local/include/
|
||||||
COPY rknn_sdk/librknn_api/aarch64/librknn_api.so /usr/lib/librknn_api.so
|
COPY --from=build_env /app/build/edge_proxy /app/edge_proxy
|
||||||
COPY rknn_sdk/whl/*.whl /tmp/rknn_wheels/
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY rknn_sdk/librknn_api/include/rknn_api.h /usr/local/include/
|
||||||
|
COPY rknn_sdk/rknn_server/aarch64/usr/bin/rknn_server /usr/bin/rknn_server
|
||||||
|
COPY rknn_sdk/librknn_api/aarch64/librknnrt.so /usr/lib/librknnrt.so
|
||||||
|
COPY rknn_sdk/librknn_api/aarch64/librknn_api.so /usr/lib/librknn_api.so
|
||||||
|
COPY rknn_sdk/whl/*.whl /tmp/rknn_wheels/
|
||||||
RUN pip3 install /tmp/rknn_wheels/*.whl && \
|
RUN pip3 install /tmp/rknn_wheels/*.whl && \
|
||||||
rm -rf /tmp/rknn_wheels
|
rm -rf /tmp/rknn_wheels
|
||||||
RUN chmod +x /usr/bin/rknn_server
|
RUN chmod +x /usr/bin/rknn_server
|
||||||
RUN ldconfig
|
RUN ldconfig
|
||||||
|
|
||||||
COPY config/ /app/config/
|
COPY config/ /app/config/
|
||||||
COPY models/ /app/models
|
COPY models/ /app/models/
|
||||||
|
COPY piper_models/ /app/piper_models/
|
||||||
|
|
||||||
COPY piper_models/ /app/piper_models/
|
# 4. (作为 root) 更改 /app 目录的所有权
|
||||||
|
# 这是关键一步:在切换用户之前更改所有权
|
||||||
|
RUN chown -R dev:developers /app
|
||||||
|
RUN chmod 775 /app/edge_proxy [cite: 12]
|
||||||
|
|
||||||
USER dev
|
# 5. 现在切换到 dev 用户
|
||||||
|
USER dev
|
||||||
|
|
||||||
|
# 6. (作为 dev) 为 pip 设置 PATH 环境变量
|
||||||
|
ENV PATH="/home/dev/.local/bin:${PATH}"
|
||||||
|
# (移除了 echo 到 .bash_profile) [cite: 12]
|
||||||
|
|
||||||
|
# 7. (作为 dev) 安装 Python 包
|
||||||
RUN pip install --no-cache-dir --user -i https://mirrors.aliyun.com/pypi/simple/ \
|
RUN pip install --no-cache-dir --user -i https://mirrors.aliyun.com/pypi/simple/ \
|
||||||
piper-tts \
|
piper-tts \
|
||||||
onvif-zeep \
|
onvif-zeep \
|
||||||
python-nmap \
|
python-nmap \
|
||||||
psutil \
|
psutil \
|
||||||
paramiko
|
paramiko [cite: 11, 12]
|
||||||
RUN echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile
|
# (移除了所有 sudo chown 和 chmod 命令) [cite: 12]
|
||||||
|
|
||||||
RUN sudo chown -R dev:developers /app
|
# 8. (作为 dev) 设置默认命令
|
||||||
RUN sudo chown dev:developers /app/edge_proxy
|
CMD ["/app/edge_proxy"] [cite: 12]
|
||||||
RUN sudo chmod 775 /app/edge_proxy
|
|
||||||
|
|
||||||
USER dev
|
|
||||||
|
|
||||||
CMD ["/app/edge_proxy"]
|
|
||||||
Loading…
Reference in New Issue