diff --git a/.dockerignore b/.dockerignore index dd95ffa6d0c49ec572120cb671576bfd27adac9f..071a70ad35b5bc30a6a77e1710384ac1905159d5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,8 +1,9 @@ Dockerfile +.dockerignore .gitignore +.git +.gitmodules .gitlab-ci.yml README.md -cc - target diff --git a/Cargo.lock b/Cargo.lock index 0362cffa6f9babd52592cbf016fb4ff9defb8029..41b73b66f3387e880048352094e516dc97e52ed3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -21,9 +21,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744864363a200a5e724a7e61bc8c11b6628cf2e3ec519c8a1a48e609a8156b40" +checksum = "08b108ad2665fa3f6e6a517c3d80ec3e77d224c47d605167aefaa5d7ef97fa48" dependencies = [ "async-trait", "axum-core", @@ -367,9 +367,9 @@ dependencies = [ [[package]] name = "matchit" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfc802da7b1cf80aefffa0c7b2f77247c8b32206cc83c270b61264f5b360a80" +checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" [[package]] name = "memchr" @@ -433,9 +433,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -565,18 +565,18 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -585,9 +585,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8b3801309262e8184d9687fb697586833e939767aea0dda89f5a8e650e8bd7" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -617,9 +617,9 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if", "cpufeatures", @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -753,9 +753,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", diff --git a/Dockerfile b/Dockerfile index 1a2a1d6b1af4026d1d267b3f2f1f776f1abd79ba..2bde94e3d077154f84bdf77a022c9aa49cdadac7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,38 @@ -FROM docker.io/library/rust:alpine as builder +FROM docker.io/library/rust:alpine as builder-backend + RUN apk add rust WORKDIR /usr/src/spoccify -COPY . . +COPY Cargo.toml Cargo.lock . +COPY src src RUN cargo build --release + +FROM docker.io/library/node:alpine as builder-frontend +WORKDIR /usr/src/spoccify +COPY svelte-frontend/.npmrc svelte-frontend/package.json svelte-frontend/yarn.lock . +RUN yarn install +COPY svelte-frontend/svelte.config.js svelte-frontend/tsconfig.json svelte-frontend/vite.config.ts . +COPY svelte-frontend/src src +COPY svelte-frontend/static static +RUN yarn build + + FROM docker.io/library/alpine:latest + +ARG SPOCCIFY_HTTP_BIND_HOST 0.0.0.0 +ARG SPOCCIFY_HTTP_BIND_PORT 9000 + +ARG SPOCCIFY_WEBSOCKET_BIND_HOST 0.0.0.0 +ARG SPOCCIFY_WEBSOCKET_BIND_PORT 9001 + RUN apk add ffmpeg yt-dlp -RUN mkdir -p /usr/local/bin/tmp -COPY --from=builder /usr/src/spoccify/target/release/spoccify /usr/local/bin/spoccify +COPY --from=builder-backend /usr/src/spoccify/target/release/spoccify /spoccify/spoccify +COPY --from=builder-frontend /usr/src/spoccify/build /spoccify/frontend +RUN rm /spoccify/frontend/vite-manifest.json +RUN mkdir -p /spoccify/tmp -EXPOSE 80 +WORKDIR /spoccify +EXPOSE 9000 +EXPOSE 9001 -CMD ["spoccify"] +CMD ["./spoccify"] diff --git a/svelte-frontend b/svelte-frontend index b6f0a71eae42caf9a0ac6efbd82c54f06b403e60..9cdd746832ad7f83435d631a8e2ef7e5dd01cf9e 160000 --- a/svelte-frontend +++ b/svelte-frontend @@ -1 +1 @@ -Subproject commit b6f0a71eae42caf9a0ac6efbd82c54f06b403e60 +Subproject commit 9cdd746832ad7f83435d631a8e2ef7e5dd01cf9e