Compare commits
25 Commits
6a39a391fd
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 807492e364 | |||
| ee9eb72ff1 | |||
| 3a036b488f | |||
| c4a94866ec | |||
| 56f368e181 | |||
| 0acc576378 | |||
| c43b6b5d27 | |||
| 491b43beb2 | |||
| 7013d8f791 | |||
| aa44346917 | |||
| 5a19163c7f | |||
| 4af2ad9bbf | |||
| a2c7b46b77 | |||
| 523564132b | |||
| 6b70d5c83e | |||
| cb0760ad31 | |||
| b87231f8f9 | |||
| b353e660e0 | |||
| 46e151ff86 | |||
| dc673bb101 | |||
| e7bf2dbf66 | |||
| c7c98d45f8 | |||
| ae42de8bd1 | |||
| f2b580ed70 | |||
| 1a86b732a0 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,4 @@
|
|||||||
|
#.vscode
|
||||||
**/data/
|
**/data/
|
||||||
nginx-proxy-manager/letsencrypt
|
nginx-proxy-manager/letsencrypt
|
||||||
|
gitea/.ssh
|
||||||
|
|||||||
5
.vscode/extensions.json
vendored
Normal file
5
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"computerliebe.gitea-workflow"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
# Docker configurations and settings
|
# Docker configurations and settings
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
1
freshRSS/.gitignore
vendored
Normal file
1
freshRSS/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
config/
|
||||||
19
freshRSS/compose.yml
Normal file
19
freshRSS/compose.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
# Service Name: FreshRSS
|
||||||
|
# Description : A free, self-hostable feed aggregator.
|
||||||
|
# Homepage : https://www.freshrss.org/
|
||||||
|
|
||||||
|
services:
|
||||||
|
freshrss:
|
||||||
|
image: lscr.io/linuxserver/freshrss:latest
|
||||||
|
#container_name: freshrss
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Europe/Oslo
|
||||||
|
volumes:
|
||||||
|
- /home/rcadmin/docker/freshRSS:/config
|
||||||
|
ports:
|
||||||
|
- 8083:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
11
gitea/.env
Normal file
11
gitea/.env
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Environment variables for Gitea
|
||||||
|
|
||||||
|
USER_UID=1000
|
||||||
|
USER_GID=1000
|
||||||
|
GITEA__database__DB_TYPE=mysql
|
||||||
|
GITEA__database__HOST=database:3306
|
||||||
|
GITEA__database__NAME=gitea
|
||||||
|
GITEA__database__USER=gitea
|
||||||
|
GITEA__database__PASSWD=giteapass123
|
||||||
|
PORT_1="3000" # "3000:3000"
|
||||||
|
PORT_2="2222" # "2222:22"
|
||||||
@@ -1,46 +1,23 @@
|
|||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
#networks:
|
|
||||||
# gitea:
|
|
||||||
# external: false
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
server:
|
server:
|
||||||
image: gitea/gitea:latest
|
image: gitea/gitea:latest
|
||||||
container_name: gitea
|
container_name: gitea
|
||||||
environment:
|
environment:
|
||||||
- USER_UID=1000
|
- USER_UID=${USER_UID}
|
||||||
- USER_GID=1000
|
- USER_GID=${USER_GID}
|
||||||
- GITEA__database__DB_TYPE=mysql
|
- GITEA__database__DB_TYPE=${GITEA__database__DB_TYPE}
|
||||||
- GITEA__database__HOST=database:3306
|
- GITEA__database__HOST=${GITEA__database__HOST}
|
||||||
- GITEA__database__NAME=gitea
|
- GITEA__database__NAME=${GITEA__database__NAME}
|
||||||
- GITEA__database__USER=gitea
|
- GITEA__database__USER=${GITEA__database__USER}
|
||||||
- GITEA__database__PASSWD=giteapass123
|
- GITEA__database__PASSWD=${GITEA__database__PASSWD}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# networks:
|
|
||||||
# - gitea
|
|
||||||
volumes:
|
volumes:
|
||||||
# /home/rcadmin/docker/gitea/
|
|
||||||
- /home/rcadmin/docker/gitea/data:/data
|
- /home/rcadmin/docker/gitea/data:/data
|
||||||
- /home/rcadmin/docker/gitea/.ssh:/data/git/.ssh
|
- /home/rcadmin/docker/gitea/.ssh:/data/git/.ssh
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "${PORT_1}:3000"
|
||||||
- "2222:22"
|
- "${PORT_2}:22"
|
||||||
|
|
||||||
# depends_on:
|
|
||||||
# - db
|
|
||||||
|
|
||||||
# db:
|
|
||||||
# image: mariadb:latest
|
|
||||||
# restart: unless-stopped
|
|
||||||
# environment:
|
|
||||||
# - MYSQL_ROOT_PASSWORD=strongpassword
|
|
||||||
# - MYSQL_USER=gitea
|
|
||||||
# - MYSQL_PASSWORD=strongpassword
|
|
||||||
# - MYSQL_DATABASE=gitea
|
|
||||||
# networks:
|
|
||||||
# - gitea
|
|
||||||
# volumes:
|
|
||||||
# - ./mariadb:/var/lib/mysql1~version: "3"
|
|
||||||
|
|||||||
5
gitea/notes.md
Normal file
5
gitea/notes.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Notes related to Gitea
|
||||||
|
|
||||||
|
## VSCode Access Token
|
||||||
|
|
||||||
|
`b614f107b2f68c803575a0683804f6d0ed33fdcf`
|
||||||
21
homebox/compose.yml
Normal file
21
homebox/compose.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Service Name: Homebox
|
||||||
|
# Description :
|
||||||
|
# Homepage :
|
||||||
|
|
||||||
|
services:
|
||||||
|
homebox:
|
||||||
|
image: ghcr.io/sysadminsmedia/homebox:latest
|
||||||
|
# image: ghcr.io/sysadminsmedia/homebox:latest-rootless
|
||||||
|
container_name: homebox
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- HBOX_LOG_LEVEL=info
|
||||||
|
- HBOX_LOG_FORMAT=text
|
||||||
|
- HBOX_WEB_MAX_FILE_UPLOAD=10
|
||||||
|
# Please consider allowing analytics to help us improve Homebox (basic computer information, no personal data)
|
||||||
|
- HBOX_OPTIONS_ALLOW_ANALYTICS=false
|
||||||
|
volumes:
|
||||||
|
# - homebox-data:/data/
|
||||||
|
- /home/rcadmin/docker/homebox/data:/data/
|
||||||
|
ports:
|
||||||
|
- 3100:7745
|
||||||
44
mealie/compose.yml
Normal file
44
mealie/compose.yml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
# Service Name: Mealie
|
||||||
|
# Description : Recipe manager and meal planner
|
||||||
|
# Homepage : https://mealie.io/
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
mealie:
|
||||||
|
container_name: mealie
|
||||||
|
image: hkotel/mealie:latest
|
||||||
|
# build:
|
||||||
|
# context: ../
|
||||||
|
# target: production
|
||||||
|
# dockerfile: ./docker/Dockerfile
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /home/rcadmin/docker/mealie/data:/app/data/
|
||||||
|
ports:
|
||||||
|
- 9091:9000
|
||||||
|
environment:
|
||||||
|
ALLOW_SIGNUP: "false"
|
||||||
|
LOG_LEVEL: "DEBUG"
|
||||||
|
|
||||||
|
DB_ENGINE: sqlite # Optional: 'sqlite', 'postgres'
|
||||||
|
# =====================================
|
||||||
|
# Postgres Config
|
||||||
|
#POSTGRES_USER: mealie
|
||||||
|
#POSTGRES_PASSWORD: mealie
|
||||||
|
#POSTGRES_SERVER: postgres
|
||||||
|
#POSTGRES_PORT: 5432
|
||||||
|
#POSTGRES_DB: mealie
|
||||||
|
# =====================================
|
||||||
|
# Email Configuration
|
||||||
|
# SMTP_HOST=
|
||||||
|
# SMTP_PORT=587
|
||||||
|
# SMTP_FROM_NAME=Mealie
|
||||||
|
# SMTP_AUTH_STRATEGY=TLS # Options: 'TLS', 'SSL', 'NONE'
|
||||||
|
# SMTP_FROM_EMAIL=
|
||||||
|
# SMTP_USER=
|
||||||
|
# SMTP_PASSWORD=
|
||||||
|
|
||||||
|
#volumes:
|
||||||
|
# mealie-data:
|
||||||
|
# driver: local
|
||||||
13
n8n/.env
Normal file
13
n8n/.env
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Admin: kim@ramberg.net
|
||||||
|
# Pass : Homekbr1998!
|
||||||
|
|
||||||
|
|
||||||
|
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
||||||
|
N8N_SUBDOMAIN='n8n'
|
||||||
|
N8N_DOMAIN_NAME='home.ramberg.net'
|
||||||
|
N8N_PORT='5678'
|
||||||
|
N8N_PROTOCOL='https'
|
||||||
|
N8N_RUNNERS_ENABLED='true'
|
||||||
|
NODE_ENV='production'
|
||||||
|
GENERIC_TIMEZONE='Europe/Oslo'
|
||||||
|
DB_SQLITE_POOL_SIZE='0'
|
||||||
24
n8n/compose.yml
Normal file
24
n8n/compose.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Service Name: N8N
|
||||||
|
# Description : N8N Server
|
||||||
|
# Homepage : https://n8n.io/
|
||||||
|
|
||||||
|
services:
|
||||||
|
n8n:
|
||||||
|
image: docker.n8n.io/n8nio/n8n
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:5678:5678"
|
||||||
|
environment:
|
||||||
|
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=${N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS}
|
||||||
|
- N8N_HOST=${N8N_SUBDOMAIN}.${N8N_DOMAIN_NAME}
|
||||||
|
- N8N_PORT=${N8N_PORT}
|
||||||
|
- N8N_PROTOCOL=${N8N_PROTOCOL}
|
||||||
|
- N8N_RUNNERS_ENABLED=${N8N_RUNNERS_ENABLED}
|
||||||
|
- NODE_ENV=${NODE_ENV}
|
||||||
|
- WEBHOOK_URL=${N8N_PROTOCOL}://${N8N_SUBDOMAIN}.${N8N_DOMAIN_NAME}/
|
||||||
|
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
|
||||||
|
- TZ=${GENERIC_TIMEZONE}
|
||||||
|
- DB_SQLITE_POOL_SIZE=${DB_SQLITE_POOL_SIZE}
|
||||||
|
volumes:
|
||||||
|
- /home/rcadmin/docker/n8n/data:/home/node/.n8n
|
||||||
|
- /home/rcadmin/docker/n8n/files:/files
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
version = 4.1.1
|
version = 5.1.0
|
||||||
archive_dir = /etc/letsencrypt/archive/npm-2
|
archive_dir = /etc/letsencrypt/archive/npm-2
|
||||||
cert = /etc/letsencrypt/live/npm-2/cert.pem
|
cert = /etc/letsencrypt/live/npm-2/cert.pem
|
||||||
privkey = /etc/letsencrypt/live/npm-2/privkey.pem
|
privkey = /etc/letsencrypt/live/npm-2/privkey.pem
|
||||||
@@ -11,10 +11,10 @@ account = 020f85d8def96a90143fbf56a6214037
|
|||||||
key_type = ecdsa
|
key_type = ecdsa
|
||||||
elliptic_curve = secp384r1
|
elliptic_curve = secp384r1
|
||||||
preferred_chain = ISRG Root X1
|
preferred_chain = ISRG Root X1
|
||||||
pref_challs = dns-01, http-01
|
pref_challs = http-01,
|
||||||
config_dir = /etc/letsencrypt
|
config_dir = /etc/letsencrypt
|
||||||
work_dir = /tmp/letsencrypt-lib
|
work_dir = /tmp/letsencrypt-lib
|
||||||
logs_dir = /tmp/letsencrypt-log
|
logs_dir = /data/logs
|
||||||
authenticator = webroot
|
authenticator = webroot
|
||||||
webroot_path = /data/letsencrypt-acme-challenge,
|
webroot_path = /data/letsencrypt-acme-challenge,
|
||||||
server = https://acme-v02.api.letsencrypt.org/directory
|
server = https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version = 4.1.1
|
version = 5.1.0
|
||||||
archive_dir = /etc/letsencrypt/archive/npm-3
|
archive_dir = /etc/letsencrypt/archive/npm-3
|
||||||
cert = /etc/letsencrypt/live/npm-3/cert.pem
|
cert = /etc/letsencrypt/live/npm-3/cert.pem
|
||||||
privkey = /etc/letsencrypt/live/npm-3/privkey.pem
|
privkey = /etc/letsencrypt/live/npm-3/privkey.pem
|
||||||
@@ -11,10 +11,10 @@ account = 020f85d8def96a90143fbf56a6214037
|
|||||||
key_type = ecdsa
|
key_type = ecdsa
|
||||||
elliptic_curve = secp384r1
|
elliptic_curve = secp384r1
|
||||||
preferred_chain = ISRG Root X1
|
preferred_chain = ISRG Root X1
|
||||||
pref_challs = dns-01, http-01
|
pref_challs = http-01,
|
||||||
config_dir = /etc/letsencrypt
|
config_dir = /etc/letsencrypt
|
||||||
work_dir = /tmp/letsencrypt-lib
|
work_dir = /tmp/letsencrypt-lib
|
||||||
logs_dir = /tmp/letsencrypt-log
|
logs_dir = /data/logs
|
||||||
authenticator = webroot
|
authenticator = webroot
|
||||||
webroot_path = /data/letsencrypt-acme-challenge,
|
webroot_path = /data/letsencrypt-acme-challenge,
|
||||||
server = https://acme-v02.api.letsencrypt.org/directory
|
server = https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version = 4.1.1
|
version = 5.1.0
|
||||||
archive_dir = /etc/letsencrypt/archive/npm-5
|
archive_dir = /etc/letsencrypt/archive/npm-5
|
||||||
cert = /etc/letsencrypt/live/npm-5/cert.pem
|
cert = /etc/letsencrypt/live/npm-5/cert.pem
|
||||||
privkey = /etc/letsencrypt/live/npm-5/privkey.pem
|
privkey = /etc/letsencrypt/live/npm-5/privkey.pem
|
||||||
@@ -11,10 +11,10 @@ account = 020f85d8def96a90143fbf56a6214037
|
|||||||
key_type = ecdsa
|
key_type = ecdsa
|
||||||
elliptic_curve = secp384r1
|
elliptic_curve = secp384r1
|
||||||
preferred_chain = ISRG Root X1
|
preferred_chain = ISRG Root X1
|
||||||
pref_challs = dns-01, http-01
|
pref_challs = http-01,
|
||||||
config_dir = /etc/letsencrypt
|
config_dir = /etc/letsencrypt
|
||||||
work_dir = /tmp/letsencrypt-lib
|
work_dir = /tmp/letsencrypt-lib
|
||||||
logs_dir = /tmp/letsencrypt-log
|
logs_dir = /data/logs
|
||||||
authenticator = webroot
|
authenticator = webroot
|
||||||
webroot_path = /data/letsencrypt-acme-challenge,
|
webroot_path = /data/letsencrypt-acme-challenge,
|
||||||
server = https://acme-v02.api.letsencrypt.org/directory
|
server = https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
version = 4.1.1
|
version = 5.1.0
|
||||||
archive_dir = /etc/letsencrypt/archive/npm-6
|
archive_dir = /etc/letsencrypt/archive/npm-6
|
||||||
cert = /etc/letsencrypt/live/npm-6/cert.pem
|
cert = /etc/letsencrypt/live/npm-6/cert.pem
|
||||||
privkey = /etc/letsencrypt/live/npm-6/privkey.pem
|
privkey = /etc/letsencrypt/live/npm-6/privkey.pem
|
||||||
@@ -11,10 +11,10 @@ account = 020f85d8def96a90143fbf56a6214037
|
|||||||
key_type = ecdsa
|
key_type = ecdsa
|
||||||
elliptic_curve = secp384r1
|
elliptic_curve = secp384r1
|
||||||
preferred_chain = ISRG Root X1
|
preferred_chain = ISRG Root X1
|
||||||
pref_challs = dns-01, http-01
|
pref_challs = http-01,
|
||||||
config_dir = /etc/letsencrypt
|
config_dir = /etc/letsencrypt
|
||||||
work_dir = /tmp/letsencrypt-lib
|
work_dir = /tmp/letsencrypt-lib
|
||||||
logs_dir = /tmp/letsencrypt-log
|
logs_dir = /data/logs
|
||||||
authenticator = webroot
|
authenticator = webroot
|
||||||
webroot_path = /data/letsencrypt-acme-challenge,
|
webroot_path = /data/letsencrypt-acme-challenge,
|
||||||
server = https://acme-v02.api.letsencrypt.org/directory
|
server = https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ services:
|
|||||||
nginx:
|
nginx:
|
||||||
image: nginx
|
image: nginx
|
||||||
volumes:
|
volumes:
|
||||||
- '/home/rcadmin/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf'
|
- '/home/rcadmin/docker/nginx/config/default.conf:/etc/nginx/conf.d/default.conf'
|
||||||
- '/home/rcadmin/docker/nginx/html:/usr/share/nginx/html'
|
- '/home/rcadmin/docker/nginx/html:/usr/share/nginx/html'
|
||||||
ports:
|
ports:
|
||||||
- '80:80'
|
- '80:80'
|
||||||
|
|||||||
1
nginx/html/index.html
Normal file
1
nginx/html/index.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<h1>Test</h1>
|
||||||
7
notes.md
7
notes.md
@@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
# Service Name: VaultWarden
|
# Service Name:
|
||||||
# Description : Open source server for bitwarden clients
|
# Description :
|
||||||
# Homepage : https://github.com/dani-garcia/vaultwarden
|
# Homepage :
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ services:
|
|||||||
command:
|
command:
|
||||||
- serve
|
- serve
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Oslo # optional: set desired timezone
|
- TZ=${TZ} # optional: set desired timezone
|
||||||
#user: UID:GID # optional: replace with your own user/group or uid/gid
|
#user: UID:GID # optional: replace with your own user/group or uid/gid
|
||||||
volumes:
|
volumes:
|
||||||
- /home/rcadmin/docker/ntfy/data/cache_ntfy:/var/cache/ntfy
|
- /home/rcadmin/docker/ntfy/data/cache_ntfy:/var/cache/ntfy
|
||||||
|
|||||||
20
portainer/Personal Access Token for Docker Hub.md
Normal file
20
portainer/Personal Access Token for Docker Hub.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
|
||||||
|
# Access token description
|
||||||
|
|
||||||
|
Portainer
|
||||||
|
|
||||||
|
Expires on
|
||||||
|
Never
|
||||||
|
|
||||||
|
Access permissions
|
||||||
|
Read-only
|
||||||
|
|
||||||
|
To use the access token from your Docker CLI client:
|
||||||
|
|
||||||
|
1. Run
|
||||||
|
`docker login -u kbramberg`
|
||||||
|
|
||||||
|
2. At the password prompt, enter the personal access token.
|
||||||
|
`dckr_pat_RaQ6OsHTvPzoOPhmtPfx2qzbdL0`
|
||||||
|
|
||||||
9
qbittorrent/.env
Normal file
9
qbittorrent/.env
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# qBittorrent variables
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
|
TZ=Europe/Oslo
|
||||||
|
WEBUI_PORT=9150
|
||||||
|
TORRENTING_PORT=6881
|
||||||
|
USERNAME=qbittorrent@home.ramberg.net
|
||||||
|
PASSWORD=qBittorrent123
|
||||||
@@ -3,17 +3,37 @@ services:
|
|||||||
qbittorrent:
|
qbittorrent:
|
||||||
image: lscr.io/linuxserver/qbittorrent:latest
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
container_name: qbittorrent
|
container_name: qbittorrent
|
||||||
|
network_mode: "host"
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=${PUID}
|
||||||
- PGID=1000
|
- PGID=${PGID}
|
||||||
- TZ=Europe/Oslo
|
- TZ=${TZ}
|
||||||
- WEBUI_PORT=8080
|
- WEBUI_PORT=${WEBUI_PORT}
|
||||||
- TORRENTING_PORT=6881
|
- TORRENTING_PORT=${TORRENTING_PORT}
|
||||||
volumes:
|
volumes:
|
||||||
- ./appdata:/config
|
- /home/rcadmin/docker/qbittorrent/data/config:/config
|
||||||
- ./downloads:/downloads #optional
|
- cifs_mount:/downloads #optional
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- ${WEBUI_PORT}:8080
|
||||||
- 6881:6881
|
- ${TORRENTING_PORT}:6881
|
||||||
- 6881:6881/udp
|
- ${TORRENTING_PORT}:6881/udp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
deploy:
|
||||||
|
placement:
|
||||||
|
constraints:
|
||||||
|
- node.role == manager
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '2.0'
|
||||||
|
memory: 2048M
|
||||||
|
#reservations:
|
||||||
|
# cpus: '0.0001'
|
||||||
|
# memory: 20M
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
cifs_mount:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: cifs
|
||||||
|
device: //192.168.50.203/Datadisk
|
||||||
|
o: "username=${USERNAME},password=${PASSWORD},vers=3.0,uid=${PUID},gid=${PGID},noserverino"
|
||||||
|
|||||||
1
qbittorrent/down.sh
Executable file
1
qbittorrent/down.sh
Executable file
@@ -0,0 +1 @@
|
|||||||
|
docker compose down
|
||||||
21
qbittorrent/notes.md
Normal file
21
qbittorrent/notes.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Notes related to qBittorrent
|
||||||
|
|
||||||
|
## How to fix 'unauthorized' webUI error on TrueNAS qbittorrent docker install
|
||||||
|
|
||||||
|
In case this is useful for someone in the future.
|
||||||
|
|
||||||
|
I couldn't use the trueNAS built app, so instead created a custom app using this docker guide here:
|
||||||
|
|
||||||
|
https://docs.linuxserver.io/images/docker-qbittorrent/#webui_port-variable
|
||||||
|
|
||||||
|
The following two key points that got this working for me.
|
||||||
|
|
||||||
|
Assuming everything is setup correctly, and the logs don't display any errors on startup.
|
||||||
|
|
||||||
|
Add the following line to the `qBittorrent.conf` file:
|
||||||
|
|
||||||
|
`WebUI\HostHeaderValidation=false`
|
||||||
|
|
||||||
|
Make sure the docker container has been shutdown before editing `qBittorrent.conf`. This is because the conf file is written to on shutdown, so any changes made whilst it's still running will be lost otherwise.
|
||||||
|
|
||||||
|
Happy days.
|
||||||
2
qbittorrent/running.sh
Executable file
2
qbittorrent/running.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
# Is qBittorrent running
|
||||||
|
docker ps | grep qbittorrent
|
||||||
1
qbittorrent/up.sh
Executable file
1
qbittorrent/up.sh
Executable file
@@ -0,0 +1 @@
|
|||||||
|
docker compose up -d
|
||||||
4
shepherd/.env
Normal file
4
shepherd/.env
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Environment variables for Shepherd
|
||||||
|
|
||||||
|
TZ=Europe/Oslo
|
||||||
|
SLEEP_TIME='180m'
|
||||||
@@ -4,6 +4,8 @@ services:
|
|||||||
shepherd:
|
shepherd:
|
||||||
#build: .
|
#build: .
|
||||||
image: containrrr/shepherd
|
image: containrrr/shepherd
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
deploy:
|
deploy:
|
||||||
@@ -11,5 +13,5 @@ services:
|
|||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
environment:
|
environment:
|
||||||
TZ: 'Europe/Oslo'
|
TZ: ${TZ}
|
||||||
SLEEP_TIME: '180m'
|
SLEEP_TIME: ${SLEEP_TIME}
|
||||||
14
tdarr/.env
Normal file
14
tdarr/.env
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Tdarr variables
|
||||||
|
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
|
TZ=Europe/Oslo
|
||||||
|
NODEID=docker-01_node-01
|
||||||
|
#SERVERIP=192.168.50.70
|
||||||
|
SERVERIP=192.168.50.201
|
||||||
|
SERVERPORT=8266
|
||||||
|
WEBUIPORT=8265
|
||||||
|
USERNAME=tdarr@home.ramberg.net
|
||||||
|
PASSWORD=tdarrpass1234
|
||||||
|
NODENAME=InternalNode-01
|
||||||
|
|
||||||
51
tdarr/compose.yml
Normal file
51
tdarr/compose.yml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
# Service Name: Tdarr Server and Node
|
||||||
|
# Description : Tdarr server and node combined.
|
||||||
|
# Homepage :
|
||||||
|
|
||||||
|
#version: "3.4"
|
||||||
|
services:
|
||||||
|
tdarr:
|
||||||
|
container_name: tdarr
|
||||||
|
image: ghcr.io/haveagitgat/tdarr:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
network_mode: bridge
|
||||||
|
ports:
|
||||||
|
- ${WEBUIPORT}:8265 # webUI port
|
||||||
|
- ${SERVERPORT}:8266 # server port
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TZ}
|
||||||
|
- UMASK_SET=002
|
||||||
|
- internalNode=true
|
||||||
|
- inContainer=true
|
||||||
|
- ffmpegVersion=7
|
||||||
|
- nodeID=${NODEID}
|
||||||
|
- serverIP=${SERVERIP}
|
||||||
|
- serverPort=${SERVERPORT}
|
||||||
|
- webUIPort=${WEBUIPORT}
|
||||||
|
- nodeName=${NODENAME}
|
||||||
|
- auth=false
|
||||||
|
- enableDockerAutoUpdater=false
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- /home/rcadmin/docker/tdarr/server:/app/server
|
||||||
|
- /home/rcadmin/docker/tdarr/config:/app/configs
|
||||||
|
- /home/rcadmin/docker/tdarr/logs:/app/logs
|
||||||
|
- cifs_mount_media:/media
|
||||||
|
#- cifs_mount_media/cache:/temp
|
||||||
|
#- /mnt/nfs/tower/video:/tower_media
|
||||||
|
#- /mnt/nfs/bunker/arch:/bunker_arch
|
||||||
|
#- /mnt/smb/redux/transcode/tdarr:/temp
|
||||||
|
# devices:
|
||||||
|
# - /dev/dri:/dev/dri
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
cifs_mount_media:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: cifs
|
||||||
|
device: //192.168.50.204/Media/Recompress
|
||||||
|
o: "username=${USERNAME},password=${PASSWORD},vers=3.0,uid=${PUID},gid=${PGID},noserverino"
|
||||||
39
tdarr/compose_node-only.yml
Normal file
39
tdarr/compose_node-only.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
|
||||||
|
# Service Name: Tdarr Node
|
||||||
|
# Description : Tdarr node only. Requires a separate server to function.
|
||||||
|
# Homepage :
|
||||||
|
|
||||||
|
#version: "3.4"
|
||||||
|
services:
|
||||||
|
tdarr_node:
|
||||||
|
container_name: tdarr_node
|
||||||
|
image: ghcr.io/haveagitgat/tdarr_node:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
network_mode: bridge
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TZ}
|
||||||
|
- UMASK_SET=002
|
||||||
|
- nodeID=${NODEID}
|
||||||
|
- serverIP=${SERVERIP}
|
||||||
|
- serverPort=${SERVERPORT}
|
||||||
|
volumes:
|
||||||
|
- /home/rcadmin/docker/tdarr/server:/app/server
|
||||||
|
- /home/rcadmin/docker/tdarr/config:/app/configs
|
||||||
|
- /home/rcadmin/docker/tdarr/logs:/app/logs
|
||||||
|
- cifs_mount_media:/media
|
||||||
|
#- cifs_mount_media/cache:/temp
|
||||||
|
#- /mnt/nfs/tower/video:/tower_media
|
||||||
|
#- /mnt/nfs/bunker/arch:/bunker_arch
|
||||||
|
#- /mnt/smb/redux/transcode/tdarr:/temp
|
||||||
|
# devices:
|
||||||
|
# - /dev/dri:/dev/dri
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
cifs_mount_media:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: cifs
|
||||||
|
device: //192.168.50.204/Media/Recompress
|
||||||
|
o: "username=${USERNAME},password=${PASSWORD},vers=3.0,uid=${PUID},gid=${PGID},noserverino"
|
||||||
45
tdarr/compose_server-node.yml.org
Normal file
45
tdarr/compose_server-node.yml.org
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
version: "3.4"
|
||||||
|
services:
|
||||||
|
tdarr:
|
||||||
|
container_name: tdarr
|
||||||
|
image: ghcr.io/haveagitgat/tdarr:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
network_mode: bridge
|
||||||
|
ports:
|
||||||
|
- 8265:8265 # webUI port
|
||||||
|
- 8266:8266 # server port
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/London
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- UMASK_SET=002
|
||||||
|
- serverIP=0.0.0.0
|
||||||
|
- serverPort=8266
|
||||||
|
- webUIPort=8265
|
||||||
|
- internalNode=true
|
||||||
|
- inContainer=true
|
||||||
|
- ffmpegVersion=7
|
||||||
|
- nodeName=MyInternalNode
|
||||||
|
- auth=false
|
||||||
|
- openBrowser=true
|
||||||
|
- maxLogSizeMB=10
|
||||||
|
- cronPluginUpdate=
|
||||||
|
- NVIDIA_DRIVER_CAPABILITIES=all
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- /docker/tdarr/server:/app/server
|
||||||
|
- /docker/tdarr/configs:/app/configs
|
||||||
|
- /docker/tdarr/logs:/app/logs
|
||||||
|
- /media:/media
|
||||||
|
- /transcode_cache:/temp
|
||||||
|
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: all
|
||||||
|
capabilities: [gpu]
|
||||||
|
|
||||||
1
tdarr/config/Last_Run_Tdarr_Node.txt
Normal file
1
tdarr/config/Last_Run_Tdarr_Node.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Tdarr_Node
|
||||||
1
tdarr/config/Last_Run_Tdarr_Server.txt
Normal file
1
tdarr/config/Last_Run_Tdarr_Server.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Tdarr_Server
|
||||||
28
tdarr/config/Tdarr_Node_Config copy.json
Normal file
28
tdarr/config/Tdarr_Node_Config copy.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"nodeName": "InternalNode-01",
|
||||||
|
"serverURL": "https://tdarr.home.ramberg.net",
|
||||||
|
"serverIP": "192.168.50.201",
|
||||||
|
"serverPort": "8266",
|
||||||
|
"handbrakePath": "",
|
||||||
|
"ffmpegPath": "",
|
||||||
|
"mkvpropeditPath": "",
|
||||||
|
"pathTranslators": [
|
||||||
|
{
|
||||||
|
"server": "//truenas-01/Media/Recompress",
|
||||||
|
"node": "/media"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"server": "M:/Recompress",
|
||||||
|
"node": "/media"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nodeType": "mapped",
|
||||||
|
"unmappedNodeCache": "/app/unmappedNodeCache",
|
||||||
|
"logLevel": "INFO",
|
||||||
|
"priority": -1,
|
||||||
|
"cronPluginUpdate": "",
|
||||||
|
"apiKey": "",
|
||||||
|
"maxLogSizeMB": 10,
|
||||||
|
"pollInterval": 2000,
|
||||||
|
"startPaused": false
|
||||||
|
}
|
||||||
24
tdarr/config/Tdarr_Node_Config.json
Normal file
24
tdarr/config/Tdarr_Node_Config.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"nodeName": "InternalNode-01",
|
||||||
|
"serverURL": "http://192.168.50.201:8266",
|
||||||
|
"serverIP": "192.168.50.201",
|
||||||
|
"serverPort": "8266",
|
||||||
|
"handbrakePath": "",
|
||||||
|
"ffmpegPath": "",
|
||||||
|
"mkvpropeditPath": "",
|
||||||
|
"pathTranslators": [
|
||||||
|
{
|
||||||
|
"server": "",
|
||||||
|
"node": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nodeType": "mapped",
|
||||||
|
"unmappedNodeCache": "/app/unmappedNodeCache",
|
||||||
|
"logLevel": "INFO",
|
||||||
|
"priority": -1,
|
||||||
|
"cronPluginUpdate": "",
|
||||||
|
"apiKey": "",
|
||||||
|
"maxLogSizeMB": 10,
|
||||||
|
"pollInterval": 2000,
|
||||||
|
"startPaused": false
|
||||||
|
}
|
||||||
18
tdarr/config/Tdarr_Server_Config.json
Normal file
18
tdarr/config/Tdarr_Server_Config.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"serverPort": "8266",
|
||||||
|
"webUIPort": "8265",
|
||||||
|
"serverIP": "192.168.50.201",
|
||||||
|
"serverBindIP": false,
|
||||||
|
"serverDualStack": false,
|
||||||
|
"handbrakePath": "",
|
||||||
|
"ffmpegPath": "",
|
||||||
|
"logLevel": "INFO",
|
||||||
|
"mkvpropeditPath": "",
|
||||||
|
"ccextractorPath": "",
|
||||||
|
"openBrowser": true,
|
||||||
|
"cronPluginUpdate": "",
|
||||||
|
"auth": false,
|
||||||
|
"authSecretKey": "tsec_1173ce0a0f5da178172d2bf1cecc85bc4814b5a377f7bf62e4b96c5ca5c4fb60",
|
||||||
|
"maxLogSizeMB": 10,
|
||||||
|
"seededApiKey": ""
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
version: '3.9'
|
version: '3.9'
|
||||||
services:
|
services:
|
||||||
uptime-kuma:
|
uptime-kuma:
|
||||||
image: 'louislam/uptime-kuma:1'
|
image: 'louislam/uptime-kuma:2'
|
||||||
container_name: uptime-kuma
|
container_name: uptime-kuma
|
||||||
volumes:
|
volumes:
|
||||||
- '/home/rcadmin/docker/uptime_kuma/data:/app/data'
|
- '/home/rcadmin/docker/uptime_kuma/data:/app/data'
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#General Settings
|
#General Settings
|
||||||
ADMIN_TOKEN= # randomly generated string of characters, for example running openssl rand -base64 48
|
ADMIN_TOKEN='HFoztERqAoXreBf7yM0NPbKhTguKoVDpKm4NIWVhiegIbuZKAzhr1ITTJdyCIFII' # randomly generated string of characters, for example running openssl rand -base64 48
|
||||||
#//Refer https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token
|
#//Refer https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token
|
||||||
|
|
||||||
WEBSOCKET_ENABLED=true
|
WEBSOCKET_ENABLED=true
|
||||||
SIGNUPS_ALLOWED=true ##change to false once create the admin account
|
SIGNUPS_ALLOWED=false ##change to false once create the admin account
|
||||||
#DOMAIN=https://bitwarden.example.com #replace example.com with your domain
|
#DOMAIN=https://bitwarden.example.com #replace example.com with your domain
|
||||||
DOMAIN=https://bitwarden.example.com #replace example.com with your domain
|
DOMAIN='https://vaultwarden.ramberg.net' #replace example.com with your domain
|
||||||
|
|
||||||
# SMTP server configuration
|
# SMTP server configuration
|
||||||
#SMTP_HOST=smtp-relay.sendinblue.com
|
#SMTP_HOST=smtp-relay.sendinblue.com
|
||||||
@@ -8,9 +8,13 @@ services:
|
|||||||
container_name: vaultwarden
|
container_name: vaultwarden
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
DOMAIN: "https://vaultwarden.ramberg.net"
|
# DOMAIN: "https://vaultwarden.ramberg.net"
|
||||||
|
- DOMAIN=${DOMAIN}
|
||||||
|
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
||||||
|
- WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED}
|
||||||
|
- SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED}
|
||||||
volumes:
|
volumes:
|
||||||
- /home/rcadmin/docker/vaultwarden/data/:/data/
|
- /home/rcadmin/docker/vaultwarden/data/:/data/
|
||||||
ports:
|
ports:
|
||||||
- 127.0.0.1:8000:80
|
- 127.0.0.1:8082:80
|
||||||
# - 8000:80
|
# - 8000:80
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
version: "3"
|
|
||||||
services:
|
|
||||||
vaultwarden:
|
|
||||||
image: vaultwarden/server:latest
|
|
||||||
container_name: vaultwarden
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- 9445:80 #map any custom port to use (replace 9445 not 80)
|
|
||||||
volumes:
|
|
||||||
- ./bitwarden:/data:rw
|
|
||||||
environment:
|
|
||||||
# - ROCKET_TLS={certs="/ssl/certs/certs.pem",key="/ssl/private/key.pem"} // Environment variable is specific to the Rocket web server
|
|
||||||
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
|
||||||
- WEBSOCKET_ENABLED=true
|
|
||||||
- SIGNUPS_ALLOWED=false
|
|
||||||
- SMTP_HOST=${SMTP_HOST}
|
|
||||||
- SMTP_FROM=${SMTP_FROM}
|
|
||||||
- SMTP_PORT=${SMTP_PORT}
|
|
||||||
- SMTP_SECURITY=${SMTP_SECURITY}
|
|
||||||
- SMTP_TIMEOUT=${SMTP_TIMEOUT}
|
|
||||||
- SMTP_USERNAME=${SMTP_USERNAME}
|
|
||||||
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
||||||
- DOMAIN=${DOMAIN}
|
|
||||||
|
|
||||||
#uncomment below network part if you are using Nginx Proxy Manager, or you can remove the same
|
|
||||||
#networks:
|
|
||||||
# default:
|
|
||||||
# external:
|
|
||||||
# name: nginx-proxy-network
|
|
||||||
5
watchtower/.env
Normal file
5
watchtower/.env
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Environment variables for Watchtower
|
||||||
|
|
||||||
|
TZ=Europe/Oslo
|
||||||
|
WATCHTOWER_SCHEDULE="0 0 1 * * *"
|
||||||
|
WATCHTOWER_CLEANUP="true"
|
||||||
@@ -4,9 +4,9 @@ services:
|
|||||||
container_name: watchtower
|
container_name: watchtower
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
WATCHTOWER_SCHEDULE: "0 0 1 * * *"
|
WATCHTOWER_SCHEDULE: ${WATCHTOWER_SCHEDULE}
|
||||||
TZ: Europe/Oslo
|
TZ: ${TZ}
|
||||||
WATCHTOWER_CLEANUP: "true"
|
WATCHTOWER_CLEANUP: ${WATCHTOWER_CLEANUP}
|
||||||
# WATCHTOWER_DEBUG: "true"
|
# WATCHTOWER_DEBUG: "true"
|
||||||
# WATCHTOWER_NOTIFICATIONS: "email"
|
# WATCHTOWER_NOTIFICATIONS: "email"
|
||||||
# WATCHTOWER_NOTIFICATION_EMAIL_FROM: "cldocker01@cloud.local"
|
# WATCHTOWER_NOTIFICATION_EMAIL_FROM: "cldocker01@cloud.local"
|
||||||
|
|||||||
Reference in New Issue
Block a user