Compare commits

...

2 Commits

Author SHA1 Message Date
dave db39afdbef add jenkinsfile
Gitea/docker-deluge-vpn/pipeline/head This commit looks good Details
2024-02-07 20:46:52 -08:00
dave a47a5bfe38 update base image and update to deluge 2.x 2024-02-07 20:45:34 -08:00
3 changed files with 92 additions and 12 deletions

View File

@ -1,35 +1,38 @@
FROM ubuntu:xenial
MAINTAINER Dave P
FROM ubuntu:jammy
# Create user with user/password 'deluge'
RUN useradd --create-home --uid 1000 deluge && \
echo "deluge:deluge" | chpasswd
# Install deluge
RUN set -x && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor vnstat openvpn iproute2 && \
apt-get install -y software-properties-common && \
add-apt-repository -y ppa:deluge-team/stable && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y deluged deluge-web deluge-console
COPY auth /home/deluge/.config/deluge/
COPY core.conf /home/deluge/.config/deluge/
COPY web_plugin.conf /home/deluge/.config/deluge/
COPY web.conf /home/deluge/.config/
RUN apt-get update && \
apt-get install -y software-properties-common && \
add-apt-repository -y ppa:deluge-team/ppa && \
apt-get update && \
apt-get -y install deluged deluge-web deluge-console && \
chown -R deluge /home/deluge/.config && \
RUN chown -R deluge /home/deluge/.config && \
chgrp -R deluge /home/deluge/.config
# Install supervisor, vnstat
RUN apt-get -y install supervisor vnstat
COPY deluged.conf /etc/supervisor/conf.d/deluged.conf
# Install supervisor, vnstat
COPY vnstatd.conf etc/supervisor/conf.d/vnstatd.conf
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN chown -R deluge /var/lib/vnstat && \
RUN set -x && \
chown -R deluge /var/lib/vnstat && \
chgrp -R deluge /var/lib/vnstat && \
sed -i -e"s/^UnitMode\s0/UnitMode 1/" /etc/vnstat.conf && \
sed -i -e"s/^RateUnit\s1/RateUnit 0/" /etc/vnstat.conf
# Install openvpn
RUN apt-get install -y openvpn iproute2 && dpkg -l
COPY openvpn.conf /etc/supervisor/conf.d/openvpn.conf
# Expose deluge-web, deluge

68
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,68 @@
def image_name = "dpedu/deluge2-vpn"
pipeline {
agent {
kubernetes {
yaml """
apiVersion: v1
kind: Pod
spec:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution: # avoid nodes already running a jenkins job
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: jenkins
operator: In
values:
- slave
topologyKey: node
containers:
- name: docker
image: docker:20-dind
args:
- "--insecure-registry"
- "dockermirror:5000"
securityContext:
privileged: true
"""
}
}
stages {
stage("Build image") {
steps {
container("docker") {
script {
try {
docker.withRegistry('http://dockermirror:5000') {
docker.image("ubuntu:jammy").pull()
docker.image(image_name).pull() // Pull a recent version to share base layers with (?)
}
} catch (exc) {
echo "couldn't pull image, assuming we're building it for the first time"
}
docker.build(image_name)
}
}
}
}
stage("Push image") {
steps {
container("docker") {
script {
docker.withRegistry('http://dockermirror:5000') {
docker.image(image_name).push("latest")
}
}
}
}
}
stage("Show images") {
steps {
container("docker") {
sh 'docker images'
}
}
}
}
}

9
Makefile Normal file
View File

@ -0,0 +1,9 @@
DOCKEROPTS=
.PHONY: image
image:
docker build -t dockermirror:5000/dpedu/deluge2-vpn $(DOCKEROPTS) .
.PHONY: push
push: image
docker push dockermirror:5000/dpedu/deluge2-vpn