Compare commits
10 Commits
update_err
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| fcc8cf57e0 | |||
| 269a54c96a | |||
| 4980a19bcb | |||
| 83686d6ee6 | |||
| 646fc0447f | |||
| 5a49e922f0 | |||
| 552c51ebb8 | |||
| 46c8ab373c | |||
| 4d27950ceb | |||
| bb86de125d |
@ -1,27 +1,13 @@
|
||||
FROM alpine:3.20 AS base
|
||||
|
||||
ARG PROXY_SERVER
|
||||
ARG PROXY_PORT
|
||||
|
||||
RUN apk add --no-cache \
|
||||
python3 \
|
||||
iptables
|
||||
|
||||
ADD https://github.com/semigodking/redsocks/releases/download/release-0.71/redsocks2-x86_64-release-0.71 /bin/redsocks2
|
||||
RUN chmod +x /bin/redsocks2
|
||||
|
||||
COPY redsocks.conf /etc/redsocks.conf
|
||||
RUN sed -i "s/vPROXY-SERVER/${PROXY_SERVER}/g" /etc/redsocks.conf && \
|
||||
sed -i "s/vPROXY-PORT/${PROXY_PORT}/g" /etc/redsocks.conf
|
||||
|
||||
RUN mkdir /services && mkdir /data
|
||||
WORKDIR /services
|
||||
python3
|
||||
|
||||
|
||||
# Install AniworldDownloader
|
||||
RUN python3 -m venv aniworlddownnloader_venv && \
|
||||
aniworlddownnloader_venv/bin/pip install aniworld && \
|
||||
mkdir /data/aniworld_downloads
|
||||
|
||||
RUN mkdir services
|
||||
RUN python3 -m venv services/aniworlddownloader_venv && \
|
||||
services/aniworlddownloader_venv/bin/pip install --no-cache-dir aniworld
|
||||
|
||||
WORKDIR /
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
25
aniworld/Dockerfile.i2p
Normal file
25
aniworld/Dockerfile.i2p
Normal file
@ -0,0 +1,25 @@
|
||||
FROM alpine:3.20 AS base
|
||||
|
||||
ARG PROXY_SERVER
|
||||
ARG PROXY_PORT
|
||||
|
||||
RUN apk add --no-cache \
|
||||
python3 \
|
||||
iptables
|
||||
|
||||
ADD https://github.com/semigodking/redsocks/releases/download/release-0.71/redsocks2-x86_64-release-0.71 /bin/redsocks2
|
||||
RUN chmod +x /bin/redsocks2
|
||||
|
||||
COPY redsocks.conf /etc/redsocks.conf
|
||||
RUN sed -i "s/vPROXY-SERVER/${PROXY_SERVER}/g" /etc/redsocks.conf && \
|
||||
sed -i "s/vPROXY-PORT/${PROXY_PORT}/g" /etc/redsocks.conf
|
||||
|
||||
RUN mkdir -p /services /var/aniworld
|
||||
WORKDIR /services
|
||||
|
||||
RUN python3 -m venv aniworlddownloader_venv && \
|
||||
aniworlddownloader_venv/bin/pip install --no-cache-dir aniworld
|
||||
|
||||
WORKDIR /
|
||||
COPY entrypoint.sh.i2p /entrypoint.sh
|
||||
ENTRYPOINT ["sh", "/entrypoint.sh"]
|
||||
@ -1,7 +1,6 @@
|
||||
#!/usr/share/env bash
|
||||
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 12345
|
||||
iptables -t nat -A OUTPUT -p tcp --dport 443 -j REDIRECT --to-port 12345
|
||||
redsocks2 -c /etc/redsocks.conf
|
||||
/services/aniworlddownnloader_venv/bin/aniworld --web-ui --no-browser --web-expose --web-port 3000 --output-dir /data/aniworld_downloads &
|
||||
|
||||
|
||||
/services/aniworlddownloader_venv/bin/aniworld --web-ui --no-browser --web-expose --web-port 3000 --output-dir /var/aniworld/downloads &
|
||||
|
||||
while true; do sleep 1000; done
|
||||
8
aniworld/entrypoint.sh.i2p
Executable file
8
aniworld/entrypoint.sh.i2p
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/share/env bash
|
||||
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 12345
|
||||
iptables -t nat -A OUTPUT -p tcp --dport 443 -j REDIRECT --to-port 12345
|
||||
|
||||
redsocks2 -c /etc/redsocks.conf
|
||||
/services/aniworlddownloader_venv/bin//aniworld --web-ui --no-browser --web-expose --web-port 3000 --output-dir /var/aniworld/downloads &
|
||||
|
||||
while true; do sleep 1000; done
|
||||
15
aniworld/wg0.conf
Normal file
15
aniworld/wg0.conf
Normal file
@ -0,0 +1,15 @@
|
||||
[Interface]
|
||||
# Key for proxmoxADS
|
||||
# Bouncing = 2
|
||||
# NAT-PMP (Port Forwarding) = off
|
||||
# VPN Accelerator = on
|
||||
# Table = off
|
||||
PrivateKey = uPGxlIrs0+erepQsbnkld/aBde7qd7HwwsMrGaNtGUg=
|
||||
Address = 10.2.0.2/32
|
||||
DNS = 10.2.0.1
|
||||
|
||||
[Peer]
|
||||
# NL-FREE#136
|
||||
PublicKey = 8xx8LqTpTHCEWou3Wu43p2CaEqnO9kcKQrLb+C8fZw8=
|
||||
AllowedIPs = 0.0.0.0/0, ::/0
|
||||
Endpoint = 169.150.218.70:51820
|
||||
106
compose.yml
106
compose.yml
@ -1,33 +1,75 @@
|
||||
services:
|
||||
aniworld:
|
||||
build:
|
||||
context: aniworld
|
||||
dockerfile: Dockerfile
|
||||
target: base
|
||||
args:
|
||||
- "PROXY_SERVER=i2pendpoint.arpa"
|
||||
- "PROXY_PORT=4444"
|
||||
pull_policy: build
|
||||
image: katzenkralle/aniworld_served:latest
|
||||
version: "3.8"
|
||||
|
||||
configs:
|
||||
wg0_conf:
|
||||
file: ./aniworld/wg0.conf
|
||||
|
||||
services:
|
||||
wireguard:
|
||||
image: linuxserver/wireguard
|
||||
cap_add:
|
||||
- NET_ADMIN # Required for networking changes
|
||||
- SYS_MODULE # Optional for WireGuard modules
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
restart: unless-stopped
|
||||
sysctls:
|
||||
- net.ipv4.conf.all.src_valid_mark=1
|
||||
configs:
|
||||
- source: wg0_conf
|
||||
target: /config/wg0.conf
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
|
||||
|
||||
#volumes:
|
||||
# - data_aniworld:/data/aniworld_downloads
|
||||
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.aniworld.service: aniworld
|
||||
traefik.http.routers.aniworld.rule: Host(`aniworld.arpa.urmel.de`)
|
||||
traefik.http.routers.aniworld.tls: "true"
|
||||
traefik.http.routers.aniworld.tls.certresolver: hetzner
|
||||
traefik.http.services.aniworld.loadbalancer.server.port: 3000
|
||||
traefik.http.services.aniworld.loadbalancer.server.port: 8080
|
||||
traefik.http.routers.aniworld.middlewares: local-only@file, traefik-auth@file
|
||||
|
||||
|
||||
aniworld:
|
||||
image: ghcr.io/phoenixthrush/aniworld-downloader:latest
|
||||
user: "0:0"
|
||||
network_mode: "service:wireguard"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- data_aniworld:/app/Downloads
|
||||
- config_aniworld:/home/aniworld/.aniworld
|
||||
|
||||
bittorrent:
|
||||
image: linuxserver/qbittorrent:5.1.4
|
||||
networks:
|
||||
- proxy
|
||||
volumes:
|
||||
- config_qbittorrent:/config
|
||||
- data_qbittorrent:/downloads
|
||||
ports:
|
||||
- 6881:6881
|
||||
- 6881:6881/udp
|
||||
environment:
|
||||
- PUID=0
|
||||
- PGID=0
|
||||
- TZ=Europe/Berlin
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.qb.rule: "Host(`qbittorrent.arpa.urmel.de`)"
|
||||
traefik.http.routers.qb.tls: "true"
|
||||
traefik.http.routers.qb.tls.certresolver: hetzner
|
||||
traefik.http.services.qb.loadbalancer.server.port: "8080"
|
||||
|
||||
|
||||
traefik.http.middlewares.qb-headers.headers.customRequestHeaders.X-Frame-Options: SAMEORIGIN
|
||||
traefik.http.middlewares.qb-headers.headers.customRequestHeaders.Referer: ""
|
||||
traefik.http.middlewares.qb-headers.headers.customRequestHeaders.Origin: ""
|
||||
|
||||
traefik.http.routers.qb.middlewares: local-only@file, traefik-auth@file, qb-headers
|
||||
traefik.http.services.qb.loadbalancer.passhostheader: "false"
|
||||
|
||||
|
||||
i2psnark:
|
||||
image: ypopovych/i2psnark:latest
|
||||
@ -43,22 +85,25 @@ services:
|
||||
|
||||
labels:
|
||||
traefik.enable: true
|
||||
traefik.http.routers.i2psnark.rule: Host(`i2psnark.arpa.urmel.de`) && PathPrefix(`/i2psnark/`)
|
||||
traefik.http.routers.i2psnark.entrypoints: https
|
||||
traefik.http.routers.i2psnark.rule: "Host(`i2psnark.arpa.urmel.de`) && (PathPrefix(`/i2psnark/`) || Path(`/`))"
|
||||
traefik.http.routers.i2psnark.tls: "true"
|
||||
traefik.http.routers.i2psnark.tls.certresolver: hetzner
|
||||
|
||||
traefik.http.routers.i2psnark.service: i2psnark
|
||||
traefik.http.services.i2psnark.loadbalancer.server.port: "8002"
|
||||
|
||||
traefik.http.middlewares.i2psnark-redirect.redirectregex.regex: "^/$"
|
||||
traefik.http.middlewares.i2psnark-redirect.redirectregex.replacement: "/i2psnark/"
|
||||
traefik.http.middlewares.i2psnark-redirect.redirectregex.permanent: "true"
|
||||
|
||||
traefik.http.middlewares.i2psnark-headers.headers.customRequestHeaders.Host: i2psnark.arpa.urmel.de
|
||||
traefik.http.middlewares.i2psnark-headers.headers.customRequestHeaders.X-Forwarded-Proto: https
|
||||
traefik.http.routers.i2psnark.middlewares: i2psnark-headers
|
||||
traefik.http.routers.i2psnark.middlewares: local-only@file, traefik-auth@file, i2psnark-redirect, i2psnark-headers
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
name: urmel_proxy_exposed
|
||||
name: traefik_exposed
|
||||
|
||||
volumes:
|
||||
data_i2psnark:
|
||||
@ -66,9 +111,18 @@ volumes:
|
||||
type: nfs4
|
||||
o: addr=217.100.0.2,rw,noatime,tcp
|
||||
device: ":/mnt/Main/servicesData/i2psnark"
|
||||
config_i2psnark:
|
||||
|
||||
data_aniworld:
|
||||
driver_opts:
|
||||
type: nfs4
|
||||
o: addr=217.100.0.2,rw,noatime,tcp
|
||||
device: ":/mnt/Main/servicesData/aniworld"
|
||||
config_i2psnark:
|
||||
config_aniworld:
|
||||
|
||||
config_qbittorrent:
|
||||
data_qbittorrent:
|
||||
driver_opts:
|
||||
type: nfs4
|
||||
o: addr=217.100.0.2,rw,noatime,tcp
|
||||
device: ":/mnt/Main/servicesData/qbittorrent"
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
FROM alpine:3.20 AS base
|
||||
|
||||
RUN apk add --no-cache \
|
||||
openjdk21-jre-headless \
|
||||
unzip \
|
||||
wget
|
||||
|
||||
RUN mkdir /services
|
||||
WORKDIR /services
|
||||
|
||||
|
||||
# Install i2psnark
|
||||
RUN wget https://i2pplus.github.io/installers/i2psnark-standalone.zip -O i2psnark-standalone.zip && \
|
||||
unzip i2psnark-standalone.zip && \
|
||||
rm i2psnark-standalone.zip
|
||||
RUN mkdir -p /services/i2psnark_config/i2psnark.config.d && \
|
||||
mv i2psnark/jetty-i2psnark.xml /services/i2psnark_config/ && \
|
||||
mv i2psnark/i2psnark-appctx.config /services/i2psnark_config/ && \
|
||||
ln -s /services/i2psnark_config/jetty-i2psnark.xml i2psnark/jetty-i2psnark.xml && \
|
||||
ln -s /services/i2psnark_config/i2psnark-appctx.config i2psnark/i2psnark-appctx.config && \
|
||||
ln -s /services/i2psnark_config/i2psnark.config.d i2psnark/i2psnark.config.d
|
||||
|
||||
|
||||
|
||||
WORKDIR /
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
ENTRYPOINT ["sh", "/entrypoint.sh"]
|
||||
@ -1,5 +0,0 @@
|
||||
#!/usr/share/env bash
|
||||
|
||||
sh /services/i2psnark/launch-i2psnark &
|
||||
|
||||
while true; do sleep 1000; done
|
||||
Loading…
x
Reference in New Issue
Block a user