Compare commits
1 Commits
v2.0.4
...
b93bb421d3
Author | SHA1 | Date | |
---|---|---|---|
b93bb421d3 |
137
.drone.yml
137
.drone.yml
@@ -1,104 +1,45 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: kubernetes
|
name: default
|
||||||
name: linux-amd64
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
node_selector:
|
|
||||||
kubernetes.io/arch: amd64
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
steps:
|
|
||||||
- name: docker
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: docker/Dockerfile.amd64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: bottledpills/deluge-openvpn
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: linux-amd64
|
|
||||||
platform: 'linux/amd64'
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: linux-arm64
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
node_selector:
|
|
||||||
kubernetes.io/arch: arm64
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- tag
|
- push
|
||||||
steps:
|
|
||||||
- name: docker
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: docker/Dockerfile.arm64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: bottledpills/deluge-openvpn
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: linux-arm64
|
|
||||||
platform: 'linux/arm64'
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: manifest-version
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
node_selector:
|
|
||||||
kubernetes.io/arch: arm64
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
steps:
|
steps:
|
||||||
- name: manifest-version
|
- name: docker-login
|
||||||
image: plugins/manifest
|
image: docker:28.0.2-dind
|
||||||
settings:
|
privileged: true
|
||||||
spec: docker/manifest.version.tmpl
|
environment:
|
||||||
username:
|
DOCKER_BUILDKIT: 1
|
||||||
from_secret: docker_username
|
DOCKER_USERNAME:
|
||||||
password:
|
from_secret: docker_username
|
||||||
from_secret: docker_password
|
DOCKER_PASSWORD:
|
||||||
auto_tag: true
|
from_secret: docker_password
|
||||||
ignore_missing: true
|
commands:
|
||||||
depends_on:
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||||
- linux-amd64
|
|
||||||
- linux-arm64
|
- name: create-builder
|
||||||
---
|
image: docker:28.0.2-dind
|
||||||
kind: pipeline
|
privileged: true
|
||||||
type: kubernetes
|
environment:
|
||||||
name: manifest-latest
|
DOCKER_BUILDKIT: 1
|
||||||
platform:
|
commands:
|
||||||
os: linux
|
- docker buildx create --use --name multi-builder || docker buildx use multi-builder
|
||||||
arch: arm64
|
|
||||||
node_selector:
|
- name: bootstrap
|
||||||
kubernetes.io/arch: arm64
|
image: docker:28.0.2-dind
|
||||||
trigger:
|
privileged: true
|
||||||
event:
|
environment:
|
||||||
- tag
|
DOCKER_BUILDKIT: 1
|
||||||
steps:
|
commands:
|
||||||
- name: manifest-latest
|
- docker buildx inspect --bootstrap
|
||||||
image: plugins/manifest
|
|
||||||
settings:
|
- name: build-push
|
||||||
spec: docker/manifest.latest.tmpl
|
image: docker:28.0.2-dind
|
||||||
username:
|
privileged: true
|
||||||
from_secret: docker_username
|
environment:
|
||||||
password:
|
DOCKER_BUILDKIT: 1
|
||||||
from_secret: docker_password
|
DOCKER_USERNAME:
|
||||||
auto_tag: true
|
from_secret: docker_username
|
||||||
ignore_missing: true
|
commands:
|
||||||
depends_on:
|
- docker buildx build --platform linux/amd64,linux/arm64 -t ${DOCKER_USERNAME}/deluge-openvpn:dev --push .
|
||||||
- linux-amd64
|
|
||||||
- linux-arm64
|
|
@@ -9,12 +9,28 @@ RUN apt-get update && apt-get -y install curl software-properties-common
|
|||||||
# Step 2: Add the Deluge PPA and update apt cache
|
# Step 2: Add the Deluge PPA and update apt cache
|
||||||
RUN add-apt-repository -u ppa:deluge-team/stable && apt-get update
|
RUN add-apt-repository -u ppa:deluge-team/stable && apt-get update
|
||||||
|
|
||||||
# Step 3: Download dumb-init asset for amd64
|
# Step 3: Download dumb-init asset based on architecture
|
||||||
RUN curl -Lo /tmp/dumb-init "$DUMB_INIT_BASE_URL/dumb-init_1.2.5_amd64.deb"
|
RUN arch=$(dpkg --print-architecture) && \
|
||||||
|
if [ "$arch" = "arm64" ]; then \
|
||||||
|
asset="dumb-init_1.2.5_aarch64"; \
|
||||||
|
elif [ "$arch" = "amd64" ]; then \
|
||||||
|
asset="dumb-init_1.2.5_amd64.deb"; \
|
||||||
|
else \
|
||||||
|
echo "Unsupported architecture: $arch" && exit 1; \
|
||||||
|
fi && \
|
||||||
|
echo "Downloading dumb-init asset: $asset" && \
|
||||||
|
curl -Lo /tmp/dumb-init "$DUMB_INIT_BASE_URL/$asset"
|
||||||
|
|
||||||
# Step 4: Install dumb-init for amd64
|
# Step 4: Install dumb-init based on asset type
|
||||||
RUN dpkg-deb -x /tmp/dumb-init /tmp/dumb-init-dir && \
|
RUN arch=$(dpkg --print-architecture) && \
|
||||||
cp /tmp/dumb-init-dir/usr/bin/dumb-init /usr/local/bin/dumb-init && \
|
if [ "$arch" = "amd64" ]; then \
|
||||||
|
dpkg-deb -x /tmp/dumb-init /tmp/dumb-init-dir && \
|
||||||
|
cp /tmp/dumb-init-dir/usr/bin/dumb-init /usr/local/bin/dumb-init; \
|
||||||
|
elif [ "$arch" = "amd64" ]; then \
|
||||||
|
cp /tmp/dumb-init /usr/local/bin/dumb-init; \
|
||||||
|
else \
|
||||||
|
echo "Unsupported architecture: $arch" && exit 1; \
|
||||||
|
fi && \
|
||||||
chmod +x /usr/local/bin/dumb-init && \
|
chmod +x /usr/local/bin/dumb-init && \
|
||||||
rm -rf /tmp/dumb-init /tmp/dumb-init-dir
|
rm -rf /tmp/dumb-init /tmp/dumb-init-dir
|
||||||
|
|
@@ -1,7 +1,7 @@
|
|||||||
# OpenVPN and Deluge with WebUI
|
# OpenVPN and Deluge with WebUI
|
||||||
|
|
||||||
[](https://drone.beatrice.wtf/bea/docker-deluge-openvpn)
|
/badge.svg?branch=master)
|
||||||
[](https://hub.docker.com/r/bottledpills/deluge-openvpn/)
|
[](https://hub.docker.com/r/ebrianne/docker-deluge-openvpn/)
|
||||||
|
|
||||||
## Acknowledgments
|
## Acknowledgments
|
||||||
|
|
||||||
|
@@ -1,69 +0,0 @@
|
|||||||
FROM ubuntu:22.04
|
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND="noninteractive"
|
|
||||||
ENV DUMB_INIT_BASE_URL="https://github.com/Yelp/dumb-init/releases/download/v1.2.5"
|
|
||||||
|
|
||||||
# Step 1: Install prerequisites
|
|
||||||
RUN apt-get update && apt-get -y install curl software-properties-common
|
|
||||||
|
|
||||||
# Step 2: Add the Deluge PPA and update apt cache
|
|
||||||
RUN add-apt-repository -u ppa:deluge-team/stable && apt-get update
|
|
||||||
|
|
||||||
# Step 3: Download dumb-init asset for arm64
|
|
||||||
RUN curl -Lo /tmp/dumb-init "$DUMB_INIT_BASE_URL/dumb-init_1.2.5_aarch64"
|
|
||||||
|
|
||||||
# Step 4: Install dumb-init for arm64
|
|
||||||
RUN cp /tmp/dumb-init /usr/local/bin/dumb-init && \
|
|
||||||
chmod +x /usr/local/bin/dumb-init && \
|
|
||||||
rm -rf /tmp/dumb-init
|
|
||||||
|
|
||||||
# Step 5: Install other dependencies
|
|
||||||
RUN apt-get -y install iputils-ping dnsutils bash jq net-tools openvpn curl ufw deluged deluge-web p7zip-full unrar unzip
|
|
||||||
|
|
||||||
# Step 6: Clean up apt cache and temporary files
|
|
||||||
RUN rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*
|
|
||||||
|
|
||||||
# Step 7: Add the user "abc"
|
|
||||||
RUN groupmod -g 1000 users && \
|
|
||||||
useradd -u 911 -U -d /config -s /bin/false abc && \
|
|
||||||
usermod -G users abc
|
|
||||||
|
|
||||||
# Step 8: Copy configuration and scripts
|
|
||||||
COPY root/ /
|
|
||||||
|
|
||||||
# Step 9: Set environment variables
|
|
||||||
ENV OPENVPN_USERNAME=**None** \
|
|
||||||
OPENVPN_PASSWORD=**None** \
|
|
||||||
OPENVPN_PROVIDER=**None** \
|
|
||||||
GLOBAL_APPLY_PERMISSIONS=true \
|
|
||||||
TZ=Europe/Berlin \
|
|
||||||
DELUGE_WEB_PORT=8112 \
|
|
||||||
DELUGE_DEAMON_PORT=58846 \
|
|
||||||
DELUGE_DOWNLOAD_DIR=/download/completed \
|
|
||||||
DELUGE_INCOMPLETE_DIR=/download/incomplete \
|
|
||||||
DELUGE_TORRENT_DIR=/download/torrents \
|
|
||||||
DELUGE_WATCH_DIR=/download/watch \
|
|
||||||
CREATE_TUN_DEVICE=true \
|
|
||||||
ENABLE_UFW=false \
|
|
||||||
UFW_ALLOW_GW_NET=false \
|
|
||||||
UFW_EXTRA_PORTS= \
|
|
||||||
UFW_DISABLE_IPTABLES_REJECT=false \
|
|
||||||
PUID= \
|
|
||||||
PGID= \
|
|
||||||
UMASK=022 \
|
|
||||||
PEER_DNS=true \
|
|
||||||
PEER_DNS_PIN_ROUTES=true \
|
|
||||||
DROP_DEFAULT_ROUTE= \
|
|
||||||
HEALTH_CHECK_HOST=google.com \
|
|
||||||
LOG_TO_STDOUT=false \
|
|
||||||
DELUGE_LISTEN_PORT_LOW=53394 \
|
|
||||||
DELUGE_LISTEN_PORT_HIGH=53404 \
|
|
||||||
DELUGE_OUTGOING_PORT_LOW=63394 \
|
|
||||||
DELUGE_OUTGOING_PORT_HIGH=63404
|
|
||||||
|
|
||||||
# Step 10: Configure health check and expose ports
|
|
||||||
HEALTHCHECK --interval=1m CMD /etc/scripts/healthcheck.sh
|
|
||||||
EXPOSE 8112 58846
|
|
||||||
|
|
||||||
# Step 11: Set default command
|
|
||||||
CMD ["/usr/local/bin/dumb-init", "/etc/openvpn/init.sh"]
|
|
@@ -1,10 +0,0 @@
|
|||||||
image: bottledpills/deluge-openvpn:latest
|
|
||||||
manifests:
|
|
||||||
- image: bottledpills/deluge-openvpn:latest-linux-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
- image: bottledpills/deluge-openvpn:latest-linux-arm64
|
|
||||||
platform:
|
|
||||||
architecture: arm64
|
|
||||||
os: linux
|
|
@@ -1,10 +0,0 @@
|
|||||||
image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
|
||||||
manifests:
|
|
||||||
- image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}-linux-amd64{{else}}latest-linux-amd64{{/if}}
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
- image: bottledpills/deluge-openvpn:{{#if build.tag}}{{trimPrefix "v" build.tag}}-linux-arm64{{else}}latest-linux-arm64{{/if}}
|
|
||||||
platform:
|
|
||||||
architecture: arm64
|
|
||||||
os: linux
|
|
Reference in New Issue
Block a user