-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add tusd official image. #6240
Add tusd official image. #6240
Conversation
Unfortunately, as written this is going to be very difficult for us to review since the image context includes the full source code for What I'd recommend doing is creating a separate "release" |
Now that I'm back at a computer looking at this, here's an example to help illustrate what I mean: # TODO switch to Alpine? (requires different binaries to be published)
FROM debian:buster-slim
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
jq \
# TODO move this package down into the download block so we can remove wget after downloading the tusd binary
wget \
; \
rm -rf /var/lib/apt/lists/*
RUN set -eux; \
groupadd --gid 1000 tusd; \
useradd --uid 1000 --gid 1000 --shell /bin/bash tusd; \
mkdir -p /srv/tusd-hooks; \
mkdir -p /srv/tusd-data; \
chown tusd:tusd /srv/tusd-data
# https://github.com/tus/tusd/releases
ENV TUSD_VERSION 0.13.0
# (using 0.13.0 since it's the latest release with published artifacts -- looks like 0.13.1 was pretty minor and/or packaging changes anyhow so perhaps why it didn't get new artifacts?)
RUN set -eux; \
wget -O tusd.tgz "https://github.com/tus/tusd/releases/download/${TUSD_VERSION}/tusd_linux_amd64.tar.gz"; \
# TODO verify some kind of hash; sha256, sha512, etc? ideally published with the binaries and embedded directly in the Dockerfile itself
# see https://github.com/docker-library/golang/blob/103d42338bd9c3f661ade41f39dbc88fe9dc83a3/1.12/stretch/Dockerfile#L16-L33 for example
tar -xvf tusd.tgz -C /usr/local/bin/ --strip-components=1 tusd_linux_amd64/tusd; \
rm tusd.tgz; \
tusd --version
WORKDIR /srv/tusd-data
EXPOSE 1080
USER tusd
# TODO see https://github.com/docker-library/official-images#consistency and decide whether an ENTRYPOINT would be useful/warranted
CMD ["tusd", "--hooks-dir", "/srv/tusd-hooks"] As you can see, there are a couple
|
Thank you very much @tianon for your detailed answer. It is very helpful to me, as this is my first official image attempt! I'll discuss and work on the points within the tusd team. |
Diff for a8143b7:TODO diff too large for GitHub comment!
See: http://github.com/docker-library/official-images/actions/runs/96647399 |
Friendly ping? |
Thanks for the ping. Would it be ok to start with a first version pretty much based on your template using buster-slim and only amd64 and come up with further optimisations on a later point? |
Sorry for the delay 🙇 Yes, just having a single variant based on what I've proposed would be a fine place to begin. 👍 |
Closing given absence of activity. We apologize for the delays with our responses. 🙇♂️ Not to excuse our slow or missing replies, we often have to prioritize maintaining the current images over adding new images. Thanks for your contribution. If you'd still like to propose a new image, let us know here and we'll try to help it move along. If you've since moved on to other endeavors, we wish you the best. ❤️ |
We'd like to ask you to add our docker image for the TUS reference implementation to the official images repo of docker hub.
If you need more information about the project, image or the group, please feel free to ask.
Checklist for Review
NOTE: This checklist is intended for the use of the Official Images maintainers both to track the status of your PR and to help inform you and others of where we're at. As such, please leave the "checking" of items to the repository maintainers. If there is a point below for which you would like to provide additional information or note completion, please do so by commenting on the PR. Thanks! (and thanks for staying patient with us ❤️)
foobar
needs Node.js, hasFROM node:...
instead of grabbingnode
via other means been considered?)FROM scratch
, tarballs only exist in a single commit within the associated history?