diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..884b74f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,23 @@ +name: ci + +on: + push: + branches: + - master + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Build and push + uses: docker/build-push-action@v3 + with: + push: false + platforms: linux/amd64 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 17db4fc..641fd0a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,24 @@ -FROM debian:jessie -MAINTAINER Jan Broer +FROM debian:buster +LABEL org.opencontainers.image.authors="Jan Broer " ENV DEBIAN_FRONTEND noninteractive +# Requirements for trusting their gpg key +RUN apt-get -qqy update && apt-get -qqy install gnupg2 curl && c_rehash # Following 'How do I add or remove Dropbox from my Linux repository?' - https://www.dropbox.com/en/help/246 -RUN echo 'deb http://linux.dropbox.com/debian jessie main' > /etc/apt/sources.list.d/dropbox.list \ - && apt-key adv --keyserver pgp.mit.edu --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E \ - && apt-get -qqy update \ - # Note 'ca-certificates' dependency is required for 'dropbox start -i' to succeed - && apt-get -qqy install ca-certificates curl python-gpgme dropbox \ - # Perform image clean up. - && apt-get -qqy autoclean \ - && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \ - # Create service account and set permissions. - && groupadd dropbox \ - && useradd -m -d /dbox -c "Dropbox Daemon Account" -s /usr/sbin/nologin -g dropbox dropbox +RUN echo 'deb https://linux.dropbox.com/debian buster main' > /etc/apt/sources.list.d/dropbox.list +# Dropbox uses the same key for deb and rpm packages, so it's faster to download the key directly +# from them rather than wait for the poor-old-slow mit keyserver +RUN curl -L https://linux.dropbox.com/fedora/rpm-public-key.asc | apt-key add - +RUN apt-get -qqy update +# Note 'ca-certificates' dependency is required for 'dropbox start -i' to succeed +RUN apt-get -qqy install ca-certificates dropbox libglapi-mesa libxext-dev \ + libxdamage-dev libxshmfence-dev libxxf86vm-dev libxcb-glx0 libxcb-dri2-0 libxcb-dri3-0 libxcb-present-dev +# Perform image clean up. +RUN apt-get -qqy autoclean +RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +# Create service account and set permissions. +RUN groupadd dropbox +RUN useradd -m -d /dbox -c "Dropbox Daemon Account" -s /usr/sbin/nologin -g dropbox dropbox # Dropbox is weird: it insists on downloading its binaries itself via 'dropbox # start -i'. So we switch to 'dropbox' user temporarily and let it do its thing.