init
This commit is contained in:
commit
4e3b21a84c
35
Dockerfile
Normal file
35
Dockerfile
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
FROM alpine:3.20 AS base
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
python3 \
|
||||||
|
git \
|
||||||
|
openjdk21-jre-headless \
|
||||||
|
unzip \
|
||||||
|
wget \
|
||||||
|
bash
|
||||||
|
|
||||||
|
RUN mkdir /services && mkdir /data
|
||||||
|
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 /data/i2psnark_config/i2psnark.config.d && \
|
||||||
|
mv i2psnark/jetty-i2psnark.xml /data/i2psnark_config/ && \
|
||||||
|
mv i2psnark/i2psnark-appctx.config /data/i2psnark_config/ && \
|
||||||
|
ln -s /data/i2psnark_config/jetty-i2psnark.xml i2psnark/jetty-i2psnark.xml && \
|
||||||
|
ln -s /data/i2psnark_config/i2psnark-appctx.config i2psnark/i2psnark-appctx.config && \
|
||||||
|
ln -s /data/i2psnark_config/i2psnark.config.d i2psnark/i2psnark.config.d
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Install AniworldDownloader
|
||||||
|
RUN python3 -m venv aniworlddownnloader_venv && \
|
||||||
|
aniworlddownnloader_venv/bin/pip install aniworld && \
|
||||||
|
mkdir /data/aniworld_downloads
|
||||||
|
|
||||||
|
WORKDIR /
|
||||||
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
ENTRYPOINT ["sh", "/entrypoint.sh"]
|
||||||
70
compose.yml
Normal file
70
compose.yml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
services:
|
||||||
|
volume_init:
|
||||||
|
image: alpine:latest
|
||||||
|
container_name: volume_init
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
mkdir -p /data/i2psnark
|
||||||
|
mkdir -p /data/aniworld
|
||||||
|
mkdir -p /config/i2psnark
|
||||||
|
volumes:
|
||||||
|
- data:/data
|
||||||
|
- config:/config
|
||||||
|
restart: "no"
|
||||||
|
|
||||||
|
deb_services:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
target: base
|
||||||
|
pull_policy: build
|
||||||
|
image: katzenkralle/web_served:latest
|
||||||
|
depends_on:
|
||||||
|
volume_init:
|
||||||
|
condition: service_completed_successfully
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: config
|
||||||
|
target: /data/i2psnark_config
|
||||||
|
volume:
|
||||||
|
nocopy: false
|
||||||
|
subpath: i2psnark
|
||||||
|
|
||||||
|
- type: volume
|
||||||
|
source: data
|
||||||
|
target: /services/i2psnark/i2psnark
|
||||||
|
volume:
|
||||||
|
nocopy: false
|
||||||
|
subpath: i2psnark
|
||||||
|
|
||||||
|
- type: volume
|
||||||
|
source: data
|
||||||
|
target: /data/aniworld_downloads
|
||||||
|
volume:
|
||||||
|
nocopy: false
|
||||||
|
subpath: aniworld
|
||||||
|
|
||||||
|
labels:
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.routers.i2psnark.service: i2psnark
|
||||||
|
traefik.http.routers.i2psnark.rule: Host(`i2psnark.localservices.arpa`)
|
||||||
|
traefik.http.services.i2psnark.loadbalancer.server.port: 8002
|
||||||
|
traefik.http.routers.aniworld.service: aniworld
|
||||||
|
traefik.http.routers.aniworld.rule: Host(`aniworld.localservices.arpa`)
|
||||||
|
traefik.http.services.aniworld.loadbalancer.server.port: 3000
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
name: urmel_proxy_exposed
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
data:
|
||||||
|
config:
|
||||||
6
entrypoint.sh
Executable file
6
entrypoint.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/share/env bash
|
||||||
|
|
||||||
|
bash /services/i2psnark/launch-i2psnark &
|
||||||
|
/services/aniworlddownnloader_venv/bin/aniworld --web-ui --no-browser --web-expose --web-port 3000 --output-dir /data/aniworld_downloads &
|
||||||
|
|
||||||
|
while true; do sleep 1000; done
|
||||||
Loading…
x
Reference in New Issue
Block a user