ship ssh-cli in docker container
All checks were successful
Build Container / Build Container (push) Successful in 4m30s

This commit is contained in:
lilly 2026-07-18 21:10:32 +02:00
commit a6949ed066
Signed by: lilly
SSH key fingerprint: SHA256:y9T5GFw2A20WVklhetIxG1+kcg/Ce0shnQmbu1LQ37g
5 changed files with 30 additions and 2 deletions

1
.gitignore vendored
View file

@ -5,3 +5,4 @@
**/__pycache__
**/authorized_keys
api/dist
**/target

View file

@ -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
ENV PNPM_HOME=/usr/local/share/dooris/pnpm/
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/
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
@ -45,9 +52,13 @@ RUN uv venv $VIRTUAL_ENV &&\
FROM deps AS final
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-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 \
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
VOLUME /srv/state/

8
oci/entrypoint.sh Executable file
View 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
View file

@ -0,0 +1,7 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACDTjbowlWL4JrOcqQrlpWg9MBwejsfUvEEnTjkFekOsmwAAAIhz+nzqc/p8
6gAAAAtzc2gtZWQyNTUxOQAAACDTjbowlWL4JrOcqQrlpWg9MBwejsfUvEEnTjkFekOsmw
AAAEDHkXZZNymkxkR3QMacM0R8MzCWg0+JPkL5GsFdP6Jzs9ONujCVYvgms5ypCuWlaD0w
HB6Ox9S8QSdOOQV6Q6ybAAAABHRlc3QB
-----END OPENSSH PRIVATE KEY-----

View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINONujCVYvgms5ypCuWlaD0wHB6Ox9S8QSdOOQV6Q6yb test