mirror of
https://github.com/licsber/Dockerfile.git
synced 2024-09-20 02:30:26 +08:00
add openwrt env.
This commit is contained in:
parent
32d69758bf
commit
4713f8db68
45
.github/bak-workflows/openwrt.yml
vendored
45
.github/bak-workflows/openwrt.yml
vendored
@ -1,45 +0,0 @@
|
||||
name: Openwrt Docker Image
|
||||
|
||||
on:
|
||||
watch:
|
||||
types: started
|
||||
push:
|
||||
branches: [ 'main' ]
|
||||
tags: [ 'v*.*.*' ]
|
||||
|
||||
env:
|
||||
DOCKERFILE: Dockerfile.openwrt
|
||||
REGION: cn-beijing
|
||||
REGISTRY: registry.cn-beijing.aliyuncs.com
|
||||
NAMESPACE: licsber
|
||||
REPOSITORY: github
|
||||
TAG: openwrt
|
||||
TAG_FULL: openwrt-${{ github.sha }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout V3
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Login to ACR V1
|
||||
uses: aliyun/acr-login@v1
|
||||
with:
|
||||
login-server: "https://${{ env.REGISTRY }}"
|
||||
username: "${{ secrets.ACR_USERNAME }}"
|
||||
password: "${{ secrets.ACR_PASSWD }}"
|
||||
region-id: "${{ env.REGION }}"
|
||||
|
||||
- name: Build Image
|
||||
id: build
|
||||
run: |
|
||||
IMAGE=${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.REPOSITORY }}
|
||||
echo "image=$IMAGE" >> $GITHUB_OUTPUT
|
||||
docker build -t "$IMAGE:${{ env.TAG_FULL }}" --file ${{ env.DOCKERFILE }} .
|
||||
|
||||
- name: Push Image
|
||||
run: |
|
||||
docker push "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}"
|
||||
docker tag "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}" "${{ steps.build.outputs.image }}:${{ env.TAG }}"
|
||||
docker push "${{ steps.build.outputs.image }}:${{ env.TAG }}"
|
57
.github/workflows/openwrt-env.yml
vendored
Normal file
57
.github/workflows/openwrt-env.yml
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
name: OpenWRT ENV
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '2 */8 * * *'
|
||||
|
||||
env:
|
||||
DOCKERFILE: openwrt/openwrt/env/Dockerfile.openwrt-env
|
||||
REGION: cn-beijing
|
||||
REGISTRY: registry.cn-beijing.aliyuncs.com
|
||||
NAMESPACE: licsber
|
||||
REPOSITORY: github
|
||||
TAG: openwrt-env
|
||||
TAG_FULL: openwrt-env-${{ github.run_id }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Save space
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
docker rmi `docker images -q`
|
||||
sudo -E rm -rf /usr/share/dotnet /etc/mysql /etc/php /etc/apt/sources.list.d /usr/local/lib/android
|
||||
sudo -E apt update -y
|
||||
sudo -E apt -y purge azure-cli* ghc* zulu* llvm* firefox google* dotnet* powershell* openjdk* mysql* php* mongodb* dotnet* snap*
|
||||
sudo -E systemctl daemon-reload
|
||||
sudo -E apt -y autoremove --purge
|
||||
sudo -E apt clean
|
||||
sudo -E timedatectl set-timezone 'Asia/Shanghai'
|
||||
|
||||
- name: Checkout V4
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Login to ACR V1
|
||||
uses: aliyun/acr-login@v1
|
||||
with:
|
||||
login-server: "https://${{ env.REGISTRY }}"
|
||||
username: "${{ secrets.ACR_USERNAME }}"
|
||||
password: "${{ secrets.ACR_PASSWD }}"
|
||||
region-id: "${{ env.REGION }}"
|
||||
|
||||
- name: Build Image
|
||||
id: build
|
||||
run: |
|
||||
IMAGE=${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.REPOSITORY }}
|
||||
echo "image=$IMAGE" >> $GITHUB_OUTPUT
|
||||
cd `dirname "${{ env.DOCKERFILE }}"`
|
||||
docker build -t "$IMAGE:${{ env.TAG }}" --file `basename ${{ env.DOCKERFILE }}` .
|
||||
|
||||
- name: Push Image
|
||||
run: |
|
||||
docker push "${{ steps.build.outputs.image }}:${{ env.TAG }}"
|
||||
docker tag "${{ steps.build.outputs.image }}:${{ env.TAG }}" "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}"
|
||||
docker push "${{ steps.build.outputs.image }}:${{ env.TAG_FULL }}"
|
45
openwrt/openwrt/env/Dockerfile.openwrt-env
vendored
Normal file
45
openwrt/openwrt/env/Dockerfile.openwrt-env
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
FROM docker.io/debian:12
|
||||
LABEL org.opencontainers.image.authors='licsber<admin@licsber.site>'
|
||||
|
||||
RUN lscpu && \
|
||||
apt update > /dev/null && \
|
||||
apt install -y -qq build-essential clang g++ gcc-multilib g++-multilib \
|
||||
git \
|
||||
python3-distutils \
|
||||
libncurses-dev \
|
||||
libssl-dev \
|
||||
libelf-dev python3-pyelftools \
|
||||
qemu-utils \
|
||||
xmlto \
|
||||
screenfetch tree \
|
||||
flex bison gawk gettext rsync unzip zlib1g-dev file wget \
|
||||
> /dev/null && \
|
||||
apt clean > /dev/null && \
|
||||
rm -rf /var/lib/apt/list/* && \
|
||||
screenfetch
|
||||
|
||||
RUN useradd -c 'licsber user' -m -d /home/licsber -s /bin/bash licsber
|
||||
RUN usermod -aG sudo licsber
|
||||
RUN echo 'licsber ALL=(ALL)NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
USER licsber
|
||||
WORKDIR /home/licsber
|
||||
|
||||
RUN git clone https://github.com/openwrt/openwrt.git
|
||||
|
||||
RUN cd openwrt && \
|
||||
./scripts/feeds update -a && \
|
||||
./scripts/feeds install -a
|
||||
|
||||
RUN cd openwrt && \
|
||||
make defconfig && \
|
||||
make download -j8
|
||||
|
||||
COPY --chown=licsber banner package/base-files/files/etc/banner
|
||||
|
||||
RUN cd openwrt && \
|
||||
make -j3 || make V=s
|
||||
|
||||
RUN tree -h openwrt/bin
|
||||
|
||||
CMD ["echo", "Hello from LicsberLab!~"]
|
10
openwrt/openwrt/env/banner
vendored
Normal file
10
openwrt/openwrt/env/banner
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
_ _ _ _ _
|
||||
| | (_) | | | | | |
|
||||
| | _ ___ ___| |__ ___ _ __| | __ _| |__
|
||||
| | | |/ __/ __| '_ \ / _ \ '__| | / _` | '_ \
|
||||
| |____| | (__\__ \ |_) | __/ | | |___| (_| | |_) |
|
||||
|______|_|\___|___/_.__/ \___|_| |______\__,_|_.__/
|
||||
|
||||
------------------------------------------------------
|
||||
%D %V, %C
|
||||
------------------------------------------------------
|
Loading…
Reference in New Issue
Block a user