diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bcdfbae --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +# Base on latest (edge) alpine image +FROM harbor.ervine.dev/library/x86_64/alpine/alpine:3.12 + +MAINTAINER “Jonathan Ervine” + +# Install updates +ENV LANG='en_US.UTF-8' \ + LANGUAGE='en_US.UTF-8' \ + TERM='xterm' \ + +RUN echo http://dl-4.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \ + apk update && \ + apk -U upgrade --ignore alpine-baselayout && \ + apk -U add \ + transmission-daemon && \ + wget https://github.com/Secretmapper/combustion/archive/release.zip && \ + unzip release.zip && \ + mv combustion-release/* /usr/share/transmission/web/ && \ + rmdir combustion-release && \ + rm release.zip + +COPY start.sh /usr/loca/bin/start.sh + +#ADD UTC /etc/localtime + +RUN rm -rf /var/cache/apk/* && \ + addgroup -g $TORRENT_GID $TORRENT_GROUP && \ + adduser -D -u $TORRENT_UID -G $TORRENT_GROUP -H $TORRENT_USER + +EXPOSE 9091 + +VOLUME /config + + +CMD [ "/usr/local/bin/start.sh" ] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..def7e40 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,35 @@ +podTemplate(yaml: """ +kind: Pod +spec: + containers: + - name: kaniko + image: gcr.io/kaniko-project/executor:debug-539ddefcae3fd6b411a95982a830d987f4214251 + imagePullPolicy: Always + command: + - /busybox/cat + tty: true + volumeMounts: + - name: jenkins-docker-cfg + mountPath: /kaniko/.docker + volumes: + - name: jenkins-docker-cfg + projected: + sources: + - secret: + name: regcred + items: + - key: .dockerconfigjson + path: config.json +""" + ) { + + node(POD_LABEL) { + stage('Build with Kaniko') { + git url: 'ssh://git@git.ervine.org/jonny/x86_64-alpine-transmission.git', credentialsId: 'jenkins-to-git' + container('kaniko') { + sh '/kaniko/executor -f `pwd`/Dockerfile -c `pwd` --cache=true --destination=harbor.ervine.dev/library/x86_64/alpine/transmission:latest --destination=harbor.ervine.dev/library/x86_64/alpine/transmission:3.12.0 --destination=harbor.ervine.dev/library/x86_64/alpine/transmission:3.12' + } + } + } +} + diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..fb6d982 --- /dev/null +++ b/start.sh @@ -0,0 +1,7 @@ +#!/bin/sh +# +## Script to kick off Transmission +# +addgroup -g $GID $USER +adduser -D -u $UID -G $USER -H $USER +su - $USER -c "/usr/bin/transmission-daemon -f -g /config/"