mirror of
https://github.com/haugene/docker-transmission-openvpn.git
synced 2025-08-17 11:47:06 +02:00
Brush up proxy and rss plugin images, build for multiarch support #1483
This commit is contained in:
parent
7419fecfaa
commit
643740c820
@ -13,7 +13,34 @@ workflows:
|
||||
build-docker-images:
|
||||
jobs:
|
||||
- build-with-buildx:
|
||||
name: build-transmission-openvpn-images
|
||||
context: dockerhub
|
||||
image-name: haugene/transmission-openvpn
|
||||
build-context: "."
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- dev
|
||||
- master
|
||||
tags:
|
||||
only: /^\d+\.\d+.*/
|
||||
- build-with-buildx:
|
||||
name: build-reverse-proxy-images
|
||||
context: dockerhub
|
||||
image-name: haugene/transmission-openvpn-proxy
|
||||
build-context: "proxy"
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- dev
|
||||
- master
|
||||
tags:
|
||||
only: /^\d+\.\d+.*/
|
||||
- build-with-buildx:
|
||||
name: build-rss-plugin-images
|
||||
context: dockerhub
|
||||
image-name: haugene/transmission-rss
|
||||
build-context: "plugins/rss"
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
@ -25,6 +52,11 @@ workflows:
|
||||
# Job definitions, used by the workflows.
|
||||
jobs:
|
||||
build-with-buildx:
|
||||
parameters:
|
||||
image-name:
|
||||
type: string
|
||||
build-context:
|
||||
type: string
|
||||
machine:
|
||||
image: ubuntu-2004:202010-01
|
||||
steps:
|
||||
@ -47,10 +79,10 @@ jobs:
|
||||
docker buildx use mybuilder
|
||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
docker buildx ls
|
||||
docker buildx build -t haugene/transmission-openvpn:$IMAGE_TAG --progress plain \
|
||||
docker buildx build -t << parameters.image-name >>:$IMAGE_TAG --progress plain \
|
||||
--platform linux/arm,linux/arm64,linux/amd64 \
|
||||
--build-arg REVISION=$CIRCLE_SHA1 \
|
||||
--push .
|
||||
--push << parameters.build-context >>
|
||||
|
||||
build-and-deploy-gh-pages:
|
||||
docker:
|
||||
|
@ -1,17 +1,12 @@
|
||||
FROM ubuntu:16.04
|
||||
MAINTAINER Kristian Haugene
|
||||
|
||||
# Update packages and install software
|
||||
RUN apt-get update \
|
||||
&& apt-get -y upgrade \
|
||||
&& apt-get -y install curl gcc make ruby2.3-dev \
|
||||
&& gem install transmission-rss \
|
||||
&& curl -L https://github.com/jwilder/dockerize/releases/download/v0.5.0/dockerize-linux-amd64-v0.5.0.tar.gz | tar -C /usr/local/bin -xzv
|
||||
|
||||
ADD . /etc/transmission-rss
|
||||
FROM ruby:2-alpine
|
||||
|
||||
# Image caching, put "never changing" layers first
|
||||
CMD ["/etc/transmission-rss/start.sh"]
|
||||
ENV TRANSMISSION_DOWNLOAD_DIR=/data/completed \
|
||||
RSS_URL=**None** \
|
||||
RSS_REGEXP=
|
||||
|
||||
CMD ["/etc/transmission-rss/start.sh"]
|
||||
# Install build-base and transmission-rss gem
|
||||
RUN apk add build-base && gem install transmission-rss
|
||||
|
||||
ADD . /etc/transmission-rss
|
||||
|
@ -1,17 +0,0 @@
|
||||
FROM balenalib/raspberry-pi:stretch
|
||||
MAINTAINER Kristian Haugene
|
||||
|
||||
# Update packages and install software
|
||||
RUN apt-get update \
|
||||
&& apt-get -y upgrade \
|
||||
&& apt-get -y install curl gcc make ruby2.3-dev libc6-dev \
|
||||
&& gem install transmission-rss \
|
||||
&& curl -L https://github.com/jwilder/dockerize/releases/download/v0.2.0/dockerize-linux-armhf-v0.2.0.tar.gz | tar -C /usr/local/bin -xzv
|
||||
|
||||
ADD . /etc/transmission-rss
|
||||
|
||||
ENV TRANSMISSION_DOWNLOAD_DIR=/data/completed \
|
||||
RSS_URL=**None** \
|
||||
RSS_REGEXP=
|
||||
|
||||
CMD ["/etc/transmission-rss/start.sh"]
|
@ -1,23 +0,0 @@
|
||||
# This Dockerfile is for building ARM images on x64 machine like Docker Hub
|
||||
|
||||
FROM balenalib/raspberry-pi:stretch
|
||||
MAINTAINER Kristian Haugene
|
||||
|
||||
RUN [ "cross-build-start" ]
|
||||
|
||||
# Update packages and install software
|
||||
RUN apt-get update \
|
||||
&& apt-get -y upgrade \
|
||||
&& apt-get -y install curl gcc make ruby2.3-dev libc6-dev \
|
||||
&& gem install transmission-rss \
|
||||
&& curl -L https://github.com/jwilder/dockerize/releases/download/v0.2.0/dockerize-linux-armhf-v0.2.0.tar.gz | tar -C /usr/local/bin -xzv
|
||||
|
||||
ADD . /etc/transmission-rss
|
||||
|
||||
ENV TRANSMISSION_DOWNLOAD_DIR=/data/completed \
|
||||
RSS_URL=**None** \
|
||||
RSS_REGEXP=
|
||||
|
||||
CMD ["/etc/transmission-rss/start.sh"]
|
||||
|
||||
RUN [ "cross-build-end" ]
|
@ -1,5 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
export TRANSMISSION_DOWNLOAD_DIR={{ .Env.TRANSMISSION_DOWNLOAD_DIR }}
|
||||
export RSS_URL="{{ .Env.RSS_URL }}"
|
||||
export RSS_REGEXP="{{ .Env.RSS_REGEXP }}"
|
@ -1,16 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Source our persisted env variables from container startup
|
||||
dockerize -template /etc/transmission-rss/environment-variables.tmpl:/etc/transmission-rss/environment-variables.sh
|
||||
. /etc/transmission-rss/environment-variables.sh
|
||||
#
|
||||
# This script tries to figure out how the container is configured.
|
||||
# The user has two options:
|
||||
# 1. Mount a custom config file to be used
|
||||
# 2. Use the built in template that supports one feed with regex filter
|
||||
#
|
||||
|
||||
if [ -z "${RSS_URL}" ] || [ "${RSS_URL}" = "**None**" ] ; then
|
||||
echo "NO RSS URL CONFIGURED, IGNORING"
|
||||
if [ -f /etc/transmission-rss.conf ] ; then
|
||||
echo "Found mounted /etc/transmission-rss.conf file"
|
||||
elif [ -z "${RSS_URL}" ] || [ "${RSS_URL}" = "**None**" ] ; then
|
||||
echo "Error: No config is mounted and RSS_URL is not defined."
|
||||
echo "Have no config to start from. Exit with error code."
|
||||
exit 1
|
||||
else
|
||||
# Configure plugin based on template. Use sed to insert
|
||||
sed "s^url: placeholder^url: $RSS_URL^" < /etc/transmission-rss/transmission-rss.tmpl \
|
||||
| sed "s^download_path: placeholder^download_path: $TRANSMISSION_DOWNLOAD_DIR^" \
|
||||
> /etc/transmission-rss.conf
|
||||
|
||||
if [ -z "${RSS_REGEXP}" ] ; then
|
||||
sed -i 's/regexp:*//g' /etc/transmission-rss/transmission-rss.tmpl
|
||||
sed -i '/regexp/d' /etc/transmission-rss.conf
|
||||
else
|
||||
sed -i "s#regexp: placeholder#regexp: $RSS_REGEXP#" /etc/transmission-rss.conf
|
||||
fi
|
||||
dockerize -template /etc/transmission-rss/transmission-rss.tmpl:/etc/transmission-rss.conf
|
||||
echo "STARTING RSS PLUGIN"
|
||||
transmission-rss
|
||||
fi
|
||||
|
||||
echo "Starting RSS plugin"
|
||||
cat /etc/transmission-rss.conf
|
||||
transmission-rss
|
||||
|
@ -1,7 +1,7 @@
|
||||
feeds:
|
||||
- url: {{ .Env.RSS_URL }}
|
||||
download_path: {{ .Env.TRANSMISSION_DOWNLOAD_DIR }}
|
||||
regexp: {{ .Env.RSS_REGEXP }}
|
||||
- url: placeholder
|
||||
download_path: placeholder
|
||||
regexp: placeholder
|
||||
|
||||
server:
|
||||
host: transmission
|
||||
|
@ -1,3 +1,3 @@
|
||||
FROM nginx
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
EXPOSE 8080
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
@ -1,16 +0,0 @@
|
||||
FROM balenalib/raspberry-pi:stretch
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
ca-certificates \
|
||||
nginx \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
|
||||
&& ln -sf /dev/stderr /var/log/nginx/error.log
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
@ -1,22 +0,0 @@
|
||||
# This Dockerfile is for building ARM images on x64 machine like Docker Hub
|
||||
|
||||
FROM balenalib/raspberry-pi:stretch
|
||||
|
||||
RUN [ "cross-build-start" ]
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
ca-certificates \
|
||||
nginx \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
|
||||
&& ln -sf /dev/stderr /var/log/nginx/error.log
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
|
||||
RUN [ "cross-build-end" ]
|
Loading…
Reference in New Issue
Block a user