first commit with existing files

This commit is contained in:
2025-05-17 13:08:39 +02:00
commit cda37be691
29 changed files with 617 additions and 0 deletions

15
cloudflare-ddns.yaml Normal file
View File

@@ -0,0 +1,15 @@
version: '2'
services:
cloudflare-ddns:
image: oznu/cloudflare-ddns:latest
restart: always
container_name: cloudflare-ddns
network_mode: host
environment:
- API_KEY=apikey
#- SUBDOMAIN=
- ZONE=domain
- PROXIED=true
- PUID=1000
- PGID=1000

12
firstsetup.sh Normal file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
sudo apt update
sudo apt install docker*
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /docker/portainer:/data portainer/portainer-ce:latest
sudo docker network create --subnet=172.20.0.0/16 --gateway=172.20.0.1 --ip-range=172.20.0.0/24 --opt com.docker.network.bridge.name=docker-frontend frontend
sudo docker network create --internal --subnet=172.30.0.0/16 --gateway=172.30.0.1 --ip-range=172.30.0.0/24 --opt com.docker.network.bridge.name=docker-backend backend

37
frigate.yaml Normal file
View File

@@ -0,0 +1,37 @@
version: "3.9"
networks:
frontend:
external: true
services:
frigate:
container_name: frigate
privileged: true # this may not be necessary for all setups
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "64mb" # update for your cameras based on calculation above
devices:
#- /dev/bus/usb:/dev/bus/usb # Passes the USB Coral, needs to be modified for other versions
#- /dev/apex_0:/dev/apex_0 # Passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
- /dev/dri/renderD128:/dev/dri/renderD128 # For intel hwaccel, needs to be updated for your hardware
volumes:
- /etc/localtime:/etc/localtime:ro
- /docker/frigate/config:/config
- /mnt/frigate:/media/frigate
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971"
#- "5080:5000"
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
environment:
FRIGATE_RTSP_PASSWORD: "passwd"
networks:
frontend:
ipv4_address: 172.20.0.x

18
guacamole.yaml Normal file
View File

@@ -0,0 +1,18 @@
version: "2"
networks:
frontend:
external: true
services:
guacamole:
image: jwetzell/guacamole
container_name: guacamole
volumes:
- /docker/guacamole:/config
ports:
# - :8080
- 3389:3389
networks:
- frontend
restart: always

16
home-assistant.yaml Normal file
View File

@@ -0,0 +1,16 @@
version: '3'
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
#group_add:
# - "109"
volumes:
- /docker/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
restart: always
privileged: true
network_mode: host
#devices:
# - /dev/dri/renderD128:/dev/dri/renderD128

28
jellyfin.yaml Normal file
View File

@@ -0,0 +1,28 @@
---
version: "2.1"
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
group_add:
- "109" #getent group render | cut -d: -f3
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Budapest
- DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel
volumes:
- /docker/jellyfin:/config
- /path/to/films:/data/films
- /path/to/series:/data/series
ports:
- 8096:8096
#- 8092:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
restart: unless-stopped
network_mode: host
devices:
- /dev/dri/renderD128:/dev/dri/renderD128

21
mosquitto.yaml Normal file
View File

@@ -0,0 +1,21 @@
version: '3'
networks:
frontend:
external: true
services:
homeassistant:
container_name: mosquitto
image: eclipse-mosquitto:latest
volumes:
- /docker/mosquitto/config:/mosquitto/config/
- /docker/mosquitto/data:/mosquitto/data
- /docker/mosquitto/log:/mosquitto/log
restart: always
ports:
- 1883:1883
- 9001:9001
networks:
frontend:
ipv4_address: <ip_address>

15
nccron_deprecated/cron.sh Normal file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
cd "$(dirname "$0")"
echo -n "Container name: "
read cont
sudo cp ./files/nccron.service /etc/systemd/system/nccron.service
sudo cp ./files/nccron.timer /etc/systemd/system/nccron.timer
sudo sed -i "s/%1%/$cont/g" /etc/systemd/system/nccron.service
sudo systemctl daemon-reload
sudo systemctl enable --now nccron.timer

View File

@@ -0,0 +1,7 @@
[Unit]
Description=Nextcloud cron.php job
[Service]
User=root
ExecStart=/usr/bin/docker exec --user www-data %1% php /var/www/html/cron.php
KillMode=process

View File

@@ -0,0 +1,10 @@
[Unit]
Description=Run Nextcloud cron.php every 5 minutes
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=nccron.service
[Install]
WantedBy=timers.target

19
ncfiles/files.sh Normal file
View File

@@ -0,0 +1,19 @@
#!/bin/bash
cd "$(dirname "$0")"
echo "Containers:"
sudo docker ps --format '{{.Names}}'
echo -n "Container name: "
read cont
sudo cp ./files/ncfiles.service /etc/systemd/system/ncfiles.service
sudo cp ./files/ncfiles.timer /etc/systemd/system/ncfiles.timer
sudo sed -i "s/%1%/$cont/g" /etc/systemd/system/ncfiles.service
sudo systemctl daemon-reload
sudo systemctl enable --now ncfiles.timer

View File

@@ -0,0 +1,7 @@
[Unit]
Description=Nextcloud files scan
[Service]
User=root
ExecStart=/usr/bin/docker exec --user www-data %1% /var/www/html/occ files:scan --all
KillMode=process

View File

@@ -0,0 +1,10 @@
[Unit]
Description=Scan Nextcloud files every 30 minutes
[Timer]
OnBootSec=30min
OnUnitActiveSec=30min
Unit=ncfiles.service
[Install]
WantedBy=timers.target

View File

@@ -0,0 +1,16 @@
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/certs/apache.crt
SSLCertificateKeyFile /etc/apache2/certs/apache.key
</VirtualHost>

View File

@@ -0,0 +1,4 @@
<Directory /var/www/html>
AllowOverride ALL
</Directory>

View File

@@ -0,0 +1,18 @@
#!/bin/bash
cat profile.sh >> $HOME/.bashrc
apt update
apt install smbclient apache2 openssl nano vim -y
a2enmod ssl
a2enmod rewrite
cat /ncupdate/apache2.conf >> /etc/apache2/apache2.conf
mkdir /etc/apache2/certs
echo ""
echo ""
echo "Write the nextcloud's URL to the COMMON NAME!"
echo "Leave the other fields blank"
echo ""
echo -n "Press ENTER to countinue..."
read x
openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out /etc/apache2/certs/apache.crt -keyout /etc/apache2/certs/apache.key
cat /ncupdate/00-default.conf >> /etc/apache2/sites-enabled/000-default.conf

View File

@@ -0,0 +1,2 @@
alias ls='ls --color="auto" --group-directory-first'
alias ll='ls -alh'

View File

@@ -0,0 +1,24 @@
#!/bin/bash
cd "$(dirname "$0")"
echo "Containers: "
sudo docker ps --format '{{.Names}}'
echo ""
echo -n "Container name: "
read cont
sudo docker exec -ti $cont mkdir /ncupdate/
sudo docker cp "./files/https.sh" $cont:/ncupdate/
sudo docker cp "./files/00-default.conf" $cont:/ncupdate/
sudo docker cp "./files/apache2.conf" $cont:/ncupdate/
sudo docker cp "./files/profile.sh" $cont:/ncupdate/
sudo docker exec -ti $cont /bin/bash /ncupdate/https.sh
sudo docker restart $cont

75
nextcloud.yaml Normal file
View File

@@ -0,0 +1,75 @@
version: '3'
networks:
frontend:
external: true
backend:
external: true
services:
db:
container_name: nextcloud-db
image: postgres:alpine
restart: always
volumes:
- /docker/nextcloud-db:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=<pswd> #REWRITE
- POSTGRES_DB=<db> #REWRITE
- POSTGRES_USER=<user> #REWRITE
networks:
- backend
redis:
container_name: nextcloud-redis
image: redis:alpine
restart: always
networks:
- backend
app:
container_name: nextcloud
image: nextcloud:stable-apache
restart: always
#ports:
# - 80:80
# - 443:443
volumes:
- /docker/nextcloud:/var/www/html
- /path/to/data:/var/www/html/data #REWRITE
environment:
- POSTGRES_HOST=nextcloud-db
- REDIS_HOST=nextcloud-redis
- POSTGRES_PASSWORD=<pswd> #REWRITE
- POSTGRES_DB=<db> #REWRITE
- POSTGRES_USER=<user> #REWRITE
- PHP_MEMORY_LIMIT=1024M
- PHP_UPLOAD_LIMIT=0M
- NEXTCLOUD_TRUSTED_DOMAINS=<nextcloud.domain.com> #REWRITE
- TRUSTED_PROXIES=<nginx_proxy_host_ip> #REWRITE
- APACHE_BODY_LIMIT=0
- OVERWRITEHOST=<nextcloud.domain.com> #REWRITE
- OVERWRITEPROTOCOL=https
- OVERWRITECLIURL=https://<nextcloud.domain.com> #REWRITE
depends_on:
- db
- redis
networks: # THE ORDER IS NOT CHANGEABLE!!
- frontend
- backend
cron:
image: nextcloud:stable-apache
container_name: nextcloud-cron
restart: always
volumes:
- /docker/nextcloud:/var/www/html:z
- /path/to/data:/var/www/html/data:z #REWRITE
# NOTE: The `volumes` config of the `cron` and `app` containers must match
entrypoint: /cron.sh
depends_on:
- db
- redis
networks:
- backend

51
nextcloud_old.yaml Normal file
View File

@@ -0,0 +1,51 @@
version: '2'
networks:
frontend:
# add this if the network is already existing!
external: true
backend:
external: true
services:
db:
image: mariadb
restart: always
container_name: nextcloud-db
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
volumes:
- /docker/nextcloud-db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=changeme2
- MYSQL_PASSWORD=changeme1
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
networks:
- backend
app:
image: nextcloud:stable-apache
restart: always
container_name: nextcloud
links:
- db
volumes:
- /docker/nextcloud:/var/www/html
- /path/to/data:/var/www/html/data #optional
#ports:
# - :80
# - :443
environment:
- MYSQL_PASSWORD=changeme1
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
- PHP_MEMORY_LIMIT=3G
- PHP_UPLOAD_LIMIT=0M
- NEXTCLOUD_TRUSTED_DOMAINS=
- TZ=Europe/Budapest
networks:
- frontend
- backend

35
nginx.yaml Normal file
View File

@@ -0,0 +1,35 @@
version: '3.8'
networks:
frontend:
external: true
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
# Uncomment the next line if you uncomment anything in the section
# environment:
# Uncomment this if you want to change the location of
# the SQLite DB file within the container
# DB_SQLITE_FILE: "/data/database.sqlite"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- /docker/nginx/data:/data
- /docker/nginx/letsencrypt:/etc/letsencrypt
networks:
- frontend

23
onlyoffice.yaml Normal file
View File

@@ -0,0 +1,23 @@
version: '3'
networks:
frontend:
external: true
services:
oodd:
image: onlyoffice/documentserver:latest
restart: always
container_name: onlyoffice
environment:
- JWT_ENABLED=true
- JWT_SECRET=secret
#ports:
#- :80
volumes:
- /docker/onlyoffice/data:/var/www/onlyoffice/Data
- /docker/onlyoffice/lib:/var/lib/onlyoffice
- /docker/onlyoffice/logs:/var/log/onlyoffice
- /docker/onlyoffice/db:/var/lib/postgresql
networks:
- frontend

19
plex.yaml Normal file
View File

@@ -0,0 +1,19 @@
version: "2.1"
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Budapest
- VERSION=docker
- PLEX_CLAIM= #optional: https://plex.tv/claim
volumes:
- /docker/plex:/config
- /path/to/films/:/films
- /path/to/series/:/series
restart: always
devices:
- /dev/dri:/dev/dri

15
qbithttps/files/https.sh Normal file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
mkdir /config/qBittorrent/cert/
cd /config/qBittorrent/cert/
echo ""
echo ""
echo "Write the nextcloud's URL to the COMMON NAME!"
echo "Leave the other fields blank"
echo ""
echo -n "Press ENTER to countinue..."
read x
openssl req -new -x509 -nodes -out server.crt -keyout server.key
sed -i "s/'WebUI\HTTPS\CertificatePath=.*'/'WebUI\HTTPS\CertificatePath=/config/qBittorrent/cert/server.crt'/g" /config/qBittorrent/qBittorrent.conf
sed -i "s/'WebUI\HTTPS\KeyPath=.*'/'WebUI\HTTPS\KeyPath=/config/qBittorrent/cert/server.key'/g" /config/qBittorrent/qBittorrent.conf
sed -i "s/'WebUI\HTTPS\Enabled=false'/'WebUI\HTTPS\Enabled=true'/g" /config/qBittorrent/qBittorrent.conf

21
qbithttps/update.sh Normal file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
cd "$(dirname "$0")"
echo "Containers: "
sudo docker ps --format '{{.Names}}'
echo ""
echo -n "Container name: "
read cont
sudo docker exec -ti $cont mkdir /https/
sudo docker cp "./files/https.sh" $cont:/https/
sudo docker exec -ti $cont /bin/bash /https/https.sh
sudo docker restart $cont

37
qbittorrent.yaml Normal file
View File

@@ -0,0 +1,37 @@
networks:
frontend:
external: true
services:
qbittorrent-nox:
# for debugging
#cap_add:
#- SYS_PTRACE
container_name: qbittorrent
environment:
#- PAGID=10000
- PGID=1000
- PUID=1000
- QBT_EULA=accept
- QBT_VERSION=latest
- QBT_WEBUI_PORT=8080
#- TZ=UTC
#- UMASK=022
image: qbittorrentofficial/qbittorrent-nox:latest
ports:
# for bittorrent traffic
- 6881:6881/tcp
- 6881:6881/udp
# for WebUI
#- 8080:8080/tcp
read_only: true
stop_grace_period: 30m
restart: unless-stopped
tmpfs:
- /tmp
tty: true
volumes:
- /docker/qBittorrent/:/config
- /path/to/files:/files
networks:
- frontend

25
qbittorrent_old.yaml Normal file
View File

@@ -0,0 +1,25 @@
version: "2.1"
#networks:
# frontend:
# external: true
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Budapest
- WEBUI_PORT=8080
volumes:
- /docker/qBittorrent:/config/qBittorrent
- /path/to/torrents:/torrents
#ports:
# - 8080:8080
# - 6881:6881
# - 6881:6881/udp
restart: always
#networks:
# - frontend

24
vaultwarden.yaml Normal file
View File

@@ -0,0 +1,24 @@
networks:
frontend:
external: true
services:
app:
image: vaultwarden/server:latest
restart: always
container_name: vaultwarden
#ports:
# - 3012:3012
# - :80
# - :443
volumes:
- /docker/vaultwarden/:/data/
environment:
#- WEBSOCKET_ENABLED=true
- ADMIN_TOKEN=tempToken
- PUSH_ENABLED=true
- PUSH_INSTALLATION_ID= #https://bitwarden.com/host/ us server
- PUSH_INSTALLATION_KEY=
- PUSH_RELAY_BASE_URI=https://push.bitwarden.com
networks:
- frontend

13
website.yaml Normal file
View File

@@ -0,0 +1,13 @@
networks:
frontend:
external: true
services:
website:
image: httpd:latest
container_name: website
volumes:
- /docker/website:/usr/local/apache2/htdocs
restart: always
networks:
- frontend