diff --git a/license_server/Dockerfile b/license_server/Dockerfile new file mode 100644 index 0000000..84b2935 --- /dev/null +++ b/license_server/Dockerfile @@ -0,0 +1,47 @@ +FROM rust:1.69-slim-bullseye AS builder + +ADD sources.list /etc/apt/ +RUN apt-get update && apt-get install -y \ + rpcsvc-proto \ + libc6-dev \ + libclang-dev \ + pkg-config \ + libssl-dev +ADD crates.conf /root/.cargo/config +RUN USER=root cargo new --bin license_service +WORKDIR /license_service +COPY ./Cargo.toml ./Cargo.toml + +RUN cargo build --release && rm src/*.rs target/release/deps/license_server* + +ADD ./src ./src + +RUN cargo build --release + +FROM debian:bullseye-slim AS deployer + +ADD sources.list /etc/apt/ + +RUN apt-get update && \ + apt-get install -y ca-certificates tzdata && \ + rm -rf /var/lib/apt/lists/* + +EXPOSE 8080 + +ENV TZ=Asia/Shanghai \ + APP_USER=license_usr + +RUN groupadd service && \ + useradd -g service $APP_USER && \ + mkdir -p /license_service + +COPY --from=builder /license_service/target/release/license_server /license_service/license_server + +RUN chown -R $APP_USER:service license_server + +USER $APP_USER +WORKDIR /license_service + +VOLUME ["/license_service/license.key", "/license_service/license.pem", "/license_service/netfilter.zip", "/license_service/products.json"] + +CMD ["./license_server"] diff --git a/license_server/crates.conf b/license_server/crates.conf new file mode 100644 index 0000000..39253dd --- /dev/null +++ b/license_server/crates.conf @@ -0,0 +1,14 @@ +[source.crates-io] +# To use sparse index, change 'rsproxy' to 'rsproxy-sparse' +replace-with = 'rsproxy-sparse' + +[source.rsproxy] +registry = "https://rsproxy.cn/crates.io-index" +[source.rsproxy-sparse] +registry = "sparse+https://rsproxy.cn/index/" + +[registries.rsproxy] +index = "https://rsproxy.cn/crates.io-index" + +[net] +git-fetch-with-cli = true \ No newline at end of file diff --git a/license_server/sources.list b/license_server/sources.list new file mode 100644 index 0000000..ef13981 --- /dev/null +++ b/license_server/sources.list @@ -0,0 +1,23 @@ +deb http://mirrors.163.com/debian/ bullseye main non-free contrib + +deb http://mirrors.163.com/debian/ bullseye-updates main non-free contrib + +deb http://mirrors.163.com/debian/ bullseye-backports main non-free contrib + +deb-src http://mirrors.163.com/debian/ bullseye main non-free contrib + +deb-src http://mirrors.163.com/debian/ bullseye-updates main non-free contrib + +deb-src http://mirrors.163.com/debian/ bullseye-backports main non-free contrib + +#deb http://mirrors.163.com/debian-security/ bullseye/updates main non-free contrib + +#deb http://mirrors.ustc.edu.cn/debian-security/ bullseye/updates main non-free contrib + +#deb-src http://mirrors.163.com/debian-security/ bullseye/updates main non-free contrib + +#deb-src http://mirrors.ustc.edu.cn/debian-security/ bullseye/updates main non-free contrib + +deb http://mirrors.ustc.edu.cn/debian-security/ stable-security main non-free contrib + +deb-src http://mirrors.ustc.edu.cn/debian-security/ stable-security main non-free contri \ No newline at end of file