ship ssh-cli in docker container
All checks were successful
Build Container / Build Container (push) Successful in 4m30s
All checks were successful
Build Container / Build Container (push) Successful in 4m30s
This commit is contained in:
parent
f5c69ae5e9
commit
a6949ed066
5 changed files with 30 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -5,3 +5,4 @@
|
||||||
**/__pycache__
|
**/__pycache__
|
||||||
**/authorized_keys
|
**/authorized_keys
|
||||||
api/dist
|
api/dist
|
||||||
|
**/target
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,10 @@
|
||||||
|
FROM docker.io/rust:alpine3.22 AS build-ssh-cli
|
||||||
|
WORKDIR /usr/local/src/dooris/ssh-cli/
|
||||||
|
ADD --link ./ssh-cli/ /usr/local/src/dooris/ssh-cli/
|
||||||
|
RUN cargo build --release
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FROM docker.io/alpine:3.22 AS build-frontend
|
FROM docker.io/alpine:3.22 AS build-frontend
|
||||||
ENV PNPM_HOME=/usr/local/share/dooris/pnpm/
|
ENV PNPM_HOME=/usr/local/share/dooris/pnpm/
|
||||||
WORKDIR /usr/local/src/dooris/
|
WORKDIR /usr/local/src/dooris/
|
||||||
|
|
@ -6,7 +13,7 @@ RUN apk add --no-cache pnpm
|
||||||
ADD --link app/package.json app/pnpm-lock.yaml app/
|
ADD --link app/package.json app/pnpm-lock.yaml app/
|
||||||
RUN pnpm --dir=app/ install --frozen-lockfile --package-import-method=copy
|
RUN pnpm --dir=app/ install --frozen-lockfile --package-import-method=copy
|
||||||
|
|
||||||
ADD --link . /usr/local/src/dooris/
|
ADD --link ./app/ /usr/local/src/dooris/app/
|
||||||
RUN pnpm --dir=app/ run build
|
RUN pnpm --dir=app/ run build
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -45,9 +52,13 @@ RUN uv venv $VIRTUAL_ENV &&\
|
||||||
FROM deps AS final
|
FROM deps AS final
|
||||||
ADD --chown=dooris:dooris --link . /usr/local/src/dooris/
|
ADD --chown=dooris:dooris --link . /usr/local/src/dooris/
|
||||||
COPY --chown=dooris:dooris --from=build-frontend --link /usr/local/src/dooris/app/dist/ $DOORIS_SERVE_STATIC
|
COPY --chown=dooris:dooris --from=build-frontend --link /usr/local/src/dooris/app/dist/ $DOORIS_SERVE_STATIC
|
||||||
|
COPY --chown=dooris:dooris --from=build-ssh-cli --link /usr/local/src/dooris/ssh-cli/target/release/ssh-cli /usr/local/bin/ssh-cli
|
||||||
|
COPY oci/entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||||
RUN --mount=type=cache,uid=$APP_UID,gid=$APP_GID,target=$UV_CACHE_DIR \
|
RUN --mount=type=cache,uid=$APP_UID,gid=$APP_GID,target=$UV_CACHE_DIR \
|
||||||
uv sync --active --frozen
|
uv sync --active --frozen
|
||||||
|
|
||||||
ENTRYPOINT [ "uv", "run", "--active", "dooris-api" ]
|
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]
|
||||||
|
CMD [ "uv", "run", "--active", "dooris-api" ]
|
||||||
EXPOSE 8000/tcp
|
EXPOSE 8000/tcp
|
||||||
|
VOLUME /srv/state/
|
||||||
|
|
||||||
|
|
|
||||||
8
oci/entrypoint.sh
Executable file
8
oci/entrypoint.sh
Executable file
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "Copying ssh-cli into state directory"
|
||||||
|
cp -v /usr/local/bin/ssh-cli /srv/state/ssh-cli
|
||||||
|
|
||||||
|
echo "Running user script"
|
||||||
|
exec $@
|
||||||
|
|
||||||
7
ssh-cli/test_id_ed25519
Normal file
7
ssh-cli/test_id_ed25519
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||||
|
QyNTUxOQAAACDTjbowlWL4JrOcqQrlpWg9MBwejsfUvEEnTjkFekOsmwAAAIhz+nzqc/p8
|
||||||
|
6gAAAAtzc2gtZWQyNTUxOQAAACDTjbowlWL4JrOcqQrlpWg9MBwejsfUvEEnTjkFekOsmw
|
||||||
|
AAAEDHkXZZNymkxkR3QMacM0R8MzCWg0+JPkL5GsFdP6Jzs9ONujCVYvgms5ypCuWlaD0w
|
||||||
|
HB6Ox9S8QSdOOQV6Q6ybAAAABHRlc3QB
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
1
ssh-cli/test_id_ed25519.pub
Normal file
1
ssh-cli/test_id_ed25519.pub
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINONujCVYvgms5ypCuWlaD0wHB6Ox9S8QSdOOQV6Q6yb test
|
||||||
Loading…
Add table
Add a link
Reference in a new issue