feat: regroup all images in one repo
This commit is contained in:
parent
0ac43342c7
commit
055037031a
6
bazarr/.env
Normal file
6
bazarr/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BASE_URL=bazarr.
|
||||||
|
EMAIL=
|
||||||
|
MEDIA_PATH=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
32
bazarr/Dockerfile
Normal file
32
bazarr/Dockerfile
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
FROM docker.io/python:3.11-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
|
PYTHONDONTWRITEBYTECODE=1 \
|
||||||
|
PYTHONFAULTHANDLER=1 \
|
||||||
|
PYTHONUNBUFFERED=1 \
|
||||||
|
VIRTUAL_ENV="/opt/venv" \
|
||||||
|
PATH="/opt/venv/bin:$PATH"
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
FROM base as build
|
||||||
|
RUN python -m venv "$VIRTUAL_ENV"
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
unzip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG URL="https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip"
|
||||||
|
RUN curl -LO "$URL" \
|
||||||
|
&& unzip bazarr.zip \
|
||||||
|
&& pip install -U --no-cache-dir -r requirements.txt \
|
||||||
|
&& rm bazarr.zip
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
COPY --from=build /app/ .
|
||||||
|
COPY --from=build "$VIRTUAL_ENV" "$VIRTUAL_ENV"
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
RUN useradd -m app
|
||||||
|
VOLUME /config/
|
||||||
|
EXPOSE 6767
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["python", "bazarr.py", "--no-update", "--config=/config"]
|
38
bazarr/compose.yaml
Normal file
38
bazarr/compose.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/bazarr.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
bazarr:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PUID
|
||||||
|
- PGID
|
||||||
|
volumes:
|
||||||
|
- config:/config/
|
||||||
|
- $MEDIA_PATH:/data/
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
13
bazarr/entrypoint.sh
Executable file
13
bazarr/entrypoint.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -n "$PGID" ]; then
|
||||||
|
groupmod -g "$PGID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PUID" ]; then
|
||||||
|
usermod -u "$PUID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R app:app /app/ /config/
|
||||||
|
|
||||||
|
exec su app -c "$*"
|
1
bazarr/install_site
Symbolic link
1
bazarr/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
29
bazarr/nginx.conf
Normal file
29
bazarr/nginx.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://bazarr:6767;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $http_connection;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
}
|
||||||
|
}
|
5
element/.env
Normal file
5
element/.env
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
BASE_URL=chat.
|
||||||
|
EMAIL=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
2
element/Dockerfile
Normal file
2
element/Dockerfile
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
FROM docker.io/vectorim/element-web:latest
|
||||||
|
COPY config.json /app/config.json
|
32
element/compose.yaml
Normal file
32
element/compose.yaml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/element.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
element:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
user: "$PUID:$PGID"
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
10
element/config.json
Normal file
10
element/config.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"default_server_config": {
|
||||||
|
"m.homeserver": {
|
||||||
|
"base_url": "https://matrix.maby.dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"setting_defaults": {
|
||||||
|
"use_system_theme": true
|
||||||
|
}
|
||||||
|
}
|
1
element/install_site
Symbolic link
1
element/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
27
element/nginx.conf
Normal file
27
element/nginx.conf
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://element;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Cache-Control "no-cache";
|
||||||
|
proxy_redirect off;
|
||||||
|
}
|
||||||
|
}
|
9
gitea/.env
Normal file
9
gitea/.env
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
BASE_URL=git.
|
||||||
|
EMAIL=
|
||||||
|
POSTGRES_PASSWORD=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
|
|
||||||
|
POSTGRES_DB=gitea
|
||||||
|
POSTGRES_USER=gitea
|
58
gitea/compose.yaml
Normal file
58
gitea/compose.yaml
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/gitea.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: docker.io/postgres:15
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- db:/var/lib/postgresql/data/
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=$POSTGRES_DB
|
||||||
|
- POSTGRES_USER=$POSTGRES_USER
|
||||||
|
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
|
||||||
|
|
||||||
|
gitea:
|
||||||
|
image: docker.io/gitea/gitea:1.20
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- data:/data/
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
environment:
|
||||||
|
- USER_UID=$PUID
|
||||||
|
- USER_GID=$PGID
|
||||||
|
- POSTGRES_HOST=db
|
||||||
|
- GITEA__database__DB_TYPE=postgres
|
||||||
|
- GITEA__database__HOST=db:5432
|
||||||
|
- GITEA__database__NAME=$POSTGRES_DB
|
||||||
|
- GITEA__database__USER=$POSTGRES_USER
|
||||||
|
- GITEA__database__PASSWD=$POSTGRES_PASSWORD
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
data:
|
||||||
|
db:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
1
gitea/install_site
Symbolic link
1
gitea/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
27
gitea/nginx.conf
Normal file
27
gitea/nginx.conf
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
client_max_body_size 8G;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://gitea:3000;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
}
|
6
jellyfin/.env
Normal file
6
jellyfin/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BASE_URL=jellyfin.
|
||||||
|
EMAIL=
|
||||||
|
MEDIA_PATH=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
36
jellyfin/compose.yaml
Normal file
36
jellyfin/compose.yaml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/jellyfin.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
jellyfin:
|
||||||
|
image: docker.io/jellyfin/jellyfin:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
user: "$PUID:$PGID"
|
||||||
|
volumes:
|
||||||
|
- config:/config/
|
||||||
|
- $MEDIA_PATH:/media/
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
1
jellyfin/install_site
Symbolic link
1
jellyfin/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
23
jellyfin/nginx.conf
Normal file
23
jellyfin/nginx.conf
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://jellyfin:8096;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
}
|
6
lidarr/.env
Normal file
6
lidarr/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BASE_URL=lidarr.
|
||||||
|
EMAIL=
|
||||||
|
MEDIA_PATH=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
28
lidarr/Dockerfile
Normal file
28
lidarr/Dockerfile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
FROM docker.io/debian:12-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
FROM base as build
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG LIDARR="http://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64"
|
||||||
|
RUN curl -L "$LIDARR" | tar xz --strip-components=1
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
libchromaprint-tools \
|
||||||
|
mediainfo \
|
||||||
|
sqlite3 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY --from=build /app/ .
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
RUN useradd -m app
|
||||||
|
VOLUME /config/
|
||||||
|
EXPOSE 8686
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["./Lidarr", "-nobrowser", "-data=/config"]
|
38
lidarr/compose.yaml
Normal file
38
lidarr/compose.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/lidarr.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
lidarr:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PUID
|
||||||
|
- PGID
|
||||||
|
volumes:
|
||||||
|
- config:/config/
|
||||||
|
- $MEDIA_PATH:/data/
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
13
lidarr/entrypoint.sh
Executable file
13
lidarr/entrypoint.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -n "$PGID" ]; then
|
||||||
|
groupmod -g "$PGID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PUID" ]; then
|
||||||
|
usermod -u "$PUID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R app:app /config/
|
||||||
|
|
||||||
|
exec su app -c "$*"
|
1
lidarr/install_site
Symbolic link
1
lidarr/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
23
lidarr/nginx.conf
Normal file
23
lidarr/nginx.conf
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://lidarr:8686;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
}
|
26
monero/Dockerfile
Normal file
26
monero/Dockerfile
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
FROM docker.io/debian:12-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
FROM base as build
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
bzip2 \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG MONERO='https://downloads.getmonero.org/cli/linux64'
|
||||||
|
RUN curl -L "$MONERO" | tar xj --strip-components=1
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
COPY --from=build /app/ .
|
||||||
|
RUN useradd -m app
|
||||||
|
# Generate your wallet via accessing the container and run:
|
||||||
|
# cd /wallet
|
||||||
|
# monero-wallet-cli
|
||||||
|
RUN mkdir -p /home/app/.bitmonero/ /wallet/ \
|
||||||
|
&& chown -R app:app /home/app/ /wallet/
|
||||||
|
VOLUME /home/app/.bitmonero/ /wallet/
|
||||||
|
EXPOSE 18080 18081
|
||||||
|
USER app
|
||||||
|
CMD ["./monerod", "--p2p-bind-ip=0.0.0.0", "--p2p-bind-port=18080", "--rpc-bind-ip=0.0.0.0", "--rpc-bind-port=18081", "--non-interactive", "--confirm-external-bind"]
|
15
monero/compose.yaml
Normal file
15
monero/compose.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
monero:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "18080:18080"
|
||||||
|
- "18081:18081"
|
||||||
|
volumes:
|
||||||
|
- wallet:/wallet/
|
||||||
|
- blocks:/home/monero/.bitmonero/
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
wallet:
|
||||||
|
blocks:
|
1
monero/install_site
Symbolic link
1
monero/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
8
mullvad/Dockerfile
Normal file
8
mullvad/Dockerfile
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
FROM docker.io/debian:12-slim
|
||||||
|
WORKDIR /etc/openvpn/
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
openvpn \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY openvpn/ /etc/openvpn/
|
||||||
|
CMD ["openvpn", "--config", "mullvad_00.conf"]
|
10
mullvad/compose.yaml
Normal file
10
mullvad/compose.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
mullvad:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
network_mode: host
|
||||||
|
devices:
|
||||||
|
- /dev/net/
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
1
mullvad/install_site
Symbolic link
1
mullvad/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
3
mullvad/openvpn/.gitignore
vendored
Normal file
3
mullvad/openvpn/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
||||||
|
!README.md
|
2
mullvad/openvpn/README.md
Normal file
2
mullvad/openvpn/README.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Put your openvpn config here
|
||||||
|
https://mullvad.net/en/account/openvpn-config
|
11
nextcloud/.env
Normal file
11
nextcloud/.env
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
BASE_URL=cloud.
|
||||||
|
EMAIL=
|
||||||
|
POSTGRES_PASSWORD=
|
||||||
|
DEFAULT_PHONE_REGION=FR
|
||||||
|
MEDIA_PATH=/media
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
|
|
||||||
|
POSTGRES_DB=nextcloud
|
||||||
|
POSTGRES_USER=nextcloud
|
5
nextcloud/Dockerfile
Normal file
5
nextcloud/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM docker.io/nextcloud:26-apache
|
||||||
|
COPY config/ /usr/src/nextcloud/config/
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["apache2-foreground"]
|
66
nextcloud/compose.yaml
Normal file
66
nextcloud/compose.yaml
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/nextcloud.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: docker.io/postgres:15
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- db:/var/lib/postgresql/data/
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB
|
||||||
|
- POSTGRES_USER
|
||||||
|
- POSTGRES_PASSWORD
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: docker.io/redis:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
nextcloud:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- nextcloud:/var/www/html/
|
||||||
|
- apps:/var/www/html/custom_apps/
|
||||||
|
- config:/var/www/html/config/
|
||||||
|
- data:/var/www/html/data/
|
||||||
|
- $MEDIA_PATH:/media/
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
- POSTGRES_HOST=db
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
- TRUSTED_PROXIES=nextcloud
|
||||||
|
- OVERWRITEPROTOCOL=https
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db:
|
||||||
|
nextcloud:
|
||||||
|
apps:
|
||||||
|
config:
|
||||||
|
data:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
5
nextcloud/config/phone.config.php
Normal file
5
nextcloud/config/phone.config.php
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
$default_phone_region = getenv('DEFAULT_PHONE_REGION');
|
||||||
|
if ($default_phone_region) {
|
||||||
|
$CONFIG['default_phone_region'] = $default_phone_region;
|
||||||
|
}
|
12
nextcloud/entrypoint.sh
Executable file
12
nextcloud/entrypoint.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -n "$PGID" ]; then
|
||||||
|
groupmod -g "$PGID" www-data
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PUID" ]; then
|
||||||
|
usermod -u "$PUID" www-data
|
||||||
|
fi
|
||||||
|
|
||||||
|
busybox crond -l 0 -L /dev/stdout
|
||||||
|
exec sh -c "/entrypoint.sh $*"
|
1
nextcloud/install_site
Symbolic link
1
nextcloud/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
36
nextcloud/nginx.conf
Normal file
36
nextcloud/nginx.conf
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
client_max_body_size 1024G;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://nextcloud;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header X-Forwarded-Host $http_host;
|
||||||
|
proxy_redirect off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /.well-known/carddav {
|
||||||
|
return 301 $scheme://$host/remote.php/dav;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /.well-known/caldav {
|
||||||
|
return 301 $scheme://$host/remote.php/dav;
|
||||||
|
}
|
||||||
|
}
|
11
nginx/Dockerfile
Normal file
11
nginx/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM docker.io/nginx:latest as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
certbot \
|
||||||
|
cron \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY cron.d/ /etc/cron.d/
|
||||||
|
COPY entrypoint.d/ /docker-entrypoint.d/
|
||||||
|
COPY default.conf /tmp/
|
||||||
|
VOLUME /etc/nginx/conf.d/ /etc/letsencrypt/ /sites/
|
28
nginx/compose.yaml
Normal file
28
nginx/compose.yaml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
container_name: nginx
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
volumes:
|
||||||
|
- sites:/etc/nginx/conf.d/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/:ro
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
name: sites
|
||||||
|
certs:
|
||||||
|
name: certs
|
||||||
|
certbotroot:
|
||||||
|
name: certbotroot
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
name: nginx
|
1
nginx/cron.d/certbot
Normal file
1
nginx/cron.d/certbot
Normal file
@ -0,0 +1 @@
|
|||||||
|
0 0 * * * root certbot --webroot -w /var/www/certbot/ -q renew
|
15
nginx/default.conf
Normal file
15
nginx/default.conf
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server;
|
||||||
|
|
||||||
|
location ~ /.well-known/acme-challenge/ {
|
||||||
|
root /var/www/certbot/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl default_server;
|
||||||
|
listen [::]:443 ssl default_server;
|
||||||
|
|
||||||
|
ssl_reject_handshake on;
|
||||||
|
}
|
5
nginx/entrypoint.d/00-certbot.sh
Executable file
5
nginx/entrypoint.d/00-certbot.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cp /tmp/default.conf /etc/nginx/conf.d/
|
||||||
|
/etc/init.d/cron start
|
||||||
|
crontab /etc/cron.d/*
|
11
nginx/install_site/Dockerfile
Normal file
11
nginx/install_site/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM docker.io/debian:12-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
certbot \
|
||||||
|
gettext \
|
||||||
|
netcat-openbsd \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
WORKDIR /web/
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
22
nginx/install_site/compose.yaml
Normal file
22
nginx/install_site/compose.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL=subdomain.domain.tld
|
||||||
|
- EMAIL=user@domain.tld
|
||||||
|
volumes:
|
||||||
|
- ./app_nginx.conf:/web/app.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
18
nginx/install_site/entrypoint.sh
Executable file
18
nginx/install_site/entrypoint.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
certbot certonly -n \
|
||||||
|
--webroot \
|
||||||
|
-w /var/www/certbot/ \
|
||||||
|
--agree-tos \
|
||||||
|
--no-eff-email \
|
||||||
|
-m "$EMAIL" \
|
||||||
|
-d "$BASE_URL"
|
||||||
|
|
||||||
|
for f in *; do
|
||||||
|
envsubst "$(bash -c 'compgen -v' | xargs printf '$%s ')" \
|
||||||
|
< "$f" \
|
||||||
|
> "/sites/$f"
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "POST /containers/nginx/kill?signal=SIGHUP HTTP/1.0\r\n\n" \
|
||||||
|
| nc -U /var/run/docker.sock
|
2
prowlarr/.env
Normal file
2
prowlarr/.env
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
BASE_URL=prowlarr.
|
||||||
|
EMAIL=
|
25
prowlarr/Dockerfile
Normal file
25
prowlarr/Dockerfile
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
FROM docker.io/debian:12-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
FROM base as build
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG PROWLARR="http://prowlarr.servarr.com/v1/update/develop/updatefile?os=linux&runtime=netcore&arch=x64"
|
||||||
|
RUN curl -L "$PROWLARR" | tar xz --strip-components=1
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
libicu72 \
|
||||||
|
sqlite3 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY --from=build /app/ .
|
||||||
|
RUN useradd -m app
|
||||||
|
VOLUME /config/
|
||||||
|
EXPOSE 9696
|
||||||
|
CMD ["./Prowlarr", "-nobrowser", "-data=/config"]
|
37
prowlarr/compose.yaml
Normal file
37
prowlarr/compose.yaml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/prowlarr.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
prowlarr:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PUID
|
||||||
|
- PGID
|
||||||
|
volumes:
|
||||||
|
- config:/config/
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
1
prowlarr/install_site
Symbolic link
1
prowlarr/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
29
prowlarr/nginx.conf
Normal file
29
prowlarr/nginx.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://prowlarr:9696;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $http_connection;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
}
|
||||||
|
}
|
6
qbittorrent/.env
Normal file
6
qbittorrent/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BASE_URL=torrent.
|
||||||
|
EMAIL=
|
||||||
|
MEDIA_PATH=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
38
qbittorrent/compose.yaml
Normal file
38
qbittorrent/compose.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/qbittorrent.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
qbittorrent:
|
||||||
|
image: docker.io/qbittorrentofficial/qbittorrent-nox:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- QBT_EULA=accept
|
||||||
|
- QBT_DOWNLOADS_PATH=/data/torrents/
|
||||||
|
volumes:
|
||||||
|
- $MEDIA_PATH/torrents/:/data/torrents/
|
||||||
|
- config:/config
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
1
qbittorrent/install_site
Symbolic link
1
qbittorrent/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
24
qbittorrent/nginx.conf
Normal file
24
qbittorrent/nginx.conf
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://qbittorrent:8080;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Host $http_host;
|
||||||
|
proxy_set_header X-Forwarded-For $remote_addr;
|
||||||
|
}
|
||||||
|
}
|
6
radarr/.env
Normal file
6
radarr/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BASE_URL=radarr.
|
||||||
|
EMAIL=
|
||||||
|
MEDIA_PATH=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
27
radarr/Dockerfile
Normal file
27
radarr/Dockerfile
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
FROM docker.io/debian:12-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
FROM base as build
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG RADARR="http://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64"
|
||||||
|
RUN curl -L "$RADARR" | tar xz --strip-components=1
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
libicu72 \
|
||||||
|
sqlite3 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY --from=build /app/ .
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
RUN useradd -m app
|
||||||
|
VOLUME /config/
|
||||||
|
EXPOSE 7878
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["./Radarr", "-nobrowser", "-data=/config"]
|
38
radarr/compose.yaml
Normal file
38
radarr/compose.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/radarr.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
radarr:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PUID
|
||||||
|
- PGID
|
||||||
|
volumes:
|
||||||
|
- config:/config/
|
||||||
|
- $MEDIA_PATH:/data/
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
13
radarr/entrypoint.sh
Executable file
13
radarr/entrypoint.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -n "$PGID" ]; then
|
||||||
|
groupmod -g "$PGID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PUID" ]; then
|
||||||
|
usermod -u "$PUID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R app:app /config/
|
||||||
|
|
||||||
|
exec su app -c "$*"
|
1
radarr/install_site
Symbolic link
1
radarr/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
29
radarr/nginx.conf
Normal file
29
radarr/nginx.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://radarr:7878;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $http_connection;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
}
|
||||||
|
}
|
6
readarr/.env
Normal file
6
readarr/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BASE_URL=readarr.
|
||||||
|
EMAIL=
|
||||||
|
MEDIA_PATH=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
27
readarr/Dockerfile
Normal file
27
readarr/Dockerfile
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
FROM docker.io/debian:12-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
FROM base as build
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG READARR="https://readarr.servarr.com/v1/update/develop/updatefile?os=linux&runtime=netcore&arch=x64"
|
||||||
|
RUN curl -L "$READARR" | tar xz --strip-components=1
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
libicu72 \
|
||||||
|
sqlite3 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY --from=build /app/ .
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
RUN useradd -m app
|
||||||
|
VOLUME /config/
|
||||||
|
EXPOSE 8787
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["./Readarr", "-nobrowser", "-data=/config"]
|
38
readarr/compose.yaml
Normal file
38
readarr/compose.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/readarr.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
readarr:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PUID
|
||||||
|
- PGID
|
||||||
|
volumes:
|
||||||
|
- config:/config/
|
||||||
|
- $MEDIA_PATH:/data/
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
13
readarr/entrypoint.sh
Executable file
13
readarr/entrypoint.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -n "$PGID" ]; then
|
||||||
|
groupmod -g "$PGID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PUID" ]; then
|
||||||
|
usermod -u "$PUID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R app:app /config/
|
||||||
|
|
||||||
|
exec su app -c "$*"
|
1
readarr/install_site
Symbolic link
1
readarr/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
29
readarr/nginx.conf
Normal file
29
readarr/nginx.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://readarr:8787;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $http_connection;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
}
|
||||||
|
}
|
2
searxng/.env
Normal file
2
searxng/.env
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
BASE_URL=searx.
|
||||||
|
EMAIL=
|
5
searxng/Dockerfile
Normal file
5
searxng/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM docker.io/searxng/searxng:latest
|
||||||
|
COPY settings.yml /tmp/
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["/sbin/tini", "--", "/usr/local/searxng/dockerfiles/docker-entrypoint.sh"]
|
42
searxng/compose.yaml
Normal file
42
searxng/compose.yaml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/searxng.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: docker.io/redis:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
searxng:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- config:/etc/searxng/
|
||||||
|
environment:
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
config:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
7
searxng/entrypoint.sh
Executable file
7
searxng/entrypoint.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" /tmp/settings.yml
|
||||||
|
|
||||||
|
mv /tmp/settings.yml "$SEARXNG_SETTINGS_PATH"
|
||||||
|
|
||||||
|
exec "$@"
|
1
searxng/install_site
Symbolic link
1
searxng/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
26
searxng/nginx.conf
Normal file
26
searxng/nginx.conf
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://searxng:8080;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header Connection $http_connection;
|
||||||
|
proxy_set_header X-Scheme $scheme;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
}
|
2013
searxng/settings.yml
Normal file
2013
searxng/settings.yml
Normal file
File diff suppressed because it is too large
Load Diff
6
sonarr/.env
Normal file
6
sonarr/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
BASE_URL=sonarr.
|
||||||
|
EMAIL=
|
||||||
|
MEDIA_PATH=
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
48
sonarr/Dockerfile
Normal file
48
sonarr/Dockerfile
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
FROM docker.io/debian:12-slim as base
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
FROM base as build
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG SONARR="https://services.sonarr.tv/v1/download/main/latest?version=3&os=linux"
|
||||||
|
RUN curl -L "$SONARR" | tar xz --strip-components=1
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
libmono-corlib4.5-cil \
|
||||||
|
libmono-microsoft-csharp4.0-cil \
|
||||||
|
libmono-posix4.0-cil \
|
||||||
|
libmono-system-componentmodel-dataannotations4.0-cil \
|
||||||
|
libmono-system-configuration-install4.0-cil \
|
||||||
|
libmono-system-configuration4.0-cil \
|
||||||
|
libmono-system-core4.0-cil \
|
||||||
|
libmono-system-data-datasetextensions4.0-cil \
|
||||||
|
libmono-system-data4.0-cil \
|
||||||
|
libmono-system-identitymodel4.0-cil \
|
||||||
|
libmono-system-io-compression4.0-cil \
|
||||||
|
libmono-system-net-http4.0-cil \
|
||||||
|
libmono-system-numerics4.0-cil \
|
||||||
|
libmono-system-runtime-serialization4.0-cil \
|
||||||
|
libmono-system-security4.0-cil \
|
||||||
|
libmono-system-servicemodel4.0a-cil \
|
||||||
|
libmono-system-serviceprocess4.0-cil \
|
||||||
|
libmono-system-transactions4.0-cil \
|
||||||
|
libmono-system-web4.0-cil \
|
||||||
|
libmono-system-xml-linq4.0-cil \
|
||||||
|
libmono-system-xml4.0-cil \
|
||||||
|
libmono-system4.0-cil \
|
||||||
|
mediainfo \
|
||||||
|
mono-runtime \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY --from=build /app/ .
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
RUN useradd -m app
|
||||||
|
VOLUME /config/
|
||||||
|
EXPOSE 8989
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["mono", "Sonarr.exe", "-nobrowser", "-data=/config"]
|
38
sonarr/compose.yaml
Normal file
38
sonarr/compose.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
install_site:
|
||||||
|
build: install_site
|
||||||
|
environment:
|
||||||
|
- BASE_URL
|
||||||
|
- EMAIL
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/web/sonarr.conf
|
||||||
|
- sites:/sites/
|
||||||
|
- certs:/etc/letsencrypt/
|
||||||
|
- certbotroot:/var/www/certbot/
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
sonarr:
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PUID
|
||||||
|
- PGID
|
||||||
|
volumes:
|
||||||
|
- config:/config/
|
||||||
|
- $MEDIA_PATH:/data/
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sites:
|
||||||
|
external: true
|
||||||
|
certs:
|
||||||
|
external: true
|
||||||
|
certbotroot:
|
||||||
|
external: true
|
||||||
|
config:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
13
sonarr/entrypoint.sh
Executable file
13
sonarr/entrypoint.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -n "$PGID" ]; then
|
||||||
|
groupmod -g "$PGID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PUID" ]; then
|
||||||
|
usermod -u "$PUID" app
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R app:app /config/
|
||||||
|
|
||||||
|
exec su app -c "$*"
|
1
sonarr/install_site
Symbolic link
1
sonarr/install_site
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../nginx/install_site
|
29
sonarr/nginx.conf
Normal file
29
sonarr/nginx.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
server_name $BASE_URL;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://sonarr:8989;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $http_connection;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user