📝 Update and organize project documentation and assets

This commit is contained in:
2026-01-26 22:46:14 +00:00
parent 4194dcfeff
commit b20e2185b2
1433 changed files with 64484 additions and 0 deletions

View File

@@ -0,0 +1 @@
![[bookstack-logo.jpg]]

View File

@@ -0,0 +1 @@
![[deluge-logo.jpg]]

View File

@@ -0,0 +1 @@
![[doplarr-logo.png]]

View File

@@ -0,0 +1 @@
![[invoice-ninja-logo.png]]

View File

@@ -0,0 +1 @@
![[overseerr-logo.jpg]]

View File

@@ -0,0 +1 @@
![[prowlarr-logo.png]]

View File

@@ -0,0 +1 @@
![[radarr-logo.png]]

View File

@@ -0,0 +1,2 @@
![[sabnzbd-logo.png]]

View File

@@ -0,0 +1 @@
![[linuxserver-io-logo.png]]

View File

@@ -0,0 +1 @@
![[sonarr-logo.png]]

View File

@@ -0,0 +1 @@
![[speedtest-tracker-logo.png]]

View File

@@ -0,0 +1 @@
![[tautulli-logo.png]]

View File

@@ -0,0 +1 @@
![[wikijs-logo.jpg]]

View File

@@ -0,0 +1,91 @@
``` yaml
# This is an example complete example docker-compose.yml
# file for a linuxserver.io based BookStack setup
# using the linuxserver.io MariaDB conatiner.
# ENSURE YOU PAY ATTENTION TO ALL COMMENTS BELOW.
# Many of the values are just examples, and you WILL
# have to make changes to suit your environment.
# These containers are maintained by the linuxserver.io
# team, not the official BookStack project.
# For non-commented options, refer to the linuxserver documentation:
# https://docs.linuxserver.io/images/docker-bookstack/#environment-variables-e
services:
# The container for BookStack itself
bookstack:
# You should update the version here to match the latest
# release of BookStack: https://github.com/BookStackApp/BookStack/releases
# You'll change this when wanting to update the version of BookStack used.
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
# APP_URL must be set as the base URL you'd expect to access BookStack
# on via the browser. The default shown here is what you might use if accessing
# direct from the browser on the docker host, hence the use of the port as configured below.
- APP_URL=https://bookstack.gregrjacobs.com
# APP_KEY must be a unique key. Generate your own by running
# docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
# You should keep the "base64:" part for the option value.
- APP_KEY=base64:ex1qoE+CyrW+ovYNv29XubY58ePD0ThXpjP2a4KVRHQ=
# The below database details are purposefully aligned with those
# configuted for the "mariadb" service below:
- DB_HOST=mariadb
- DB_PORT=3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=J@Cub$0240761609241
volumes:
# You generally only ever need to map this one volume.
# This maps it to a "bookstack_app_data" folder in the same
# directory as this compose config file.
- /volume1/docker/bookstack/app-data:/config
ports:
# This exposes port 6875 for general web access.
# Commonly you'd have a reverse proxy in front of this,
# redirecting incoming requests to this port.
- 6875:80
restart: unless-stopped
# The container for the database which BookStack will use to store
# most of its core data/content.
mariadb:
# You should update the version here to match the latest
# main version of the linuxserver mariadb container version:
# https://github.com/linuxserver/docker-mariadb/pkgs/container/mariadb/versions?filters%5Bversion_type%5D=tagged
image: lscr.io/linuxserver/mariadb:11.4.8
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
# You may want to change the credentials used below,
# but be aware the latter three options need to align
# with the DB_* options for the BookStack container.
- MYSQL_ROOT_PASSWORD=0240761609241J@Cub$
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=J@Cub$0240761609241
volumes:
# You generally only ever need to map this one volume.
# This maps it to a "bookstack_db_data" folder in the same
# directory as this compose config file.
- /volume1/docker/bookstack/db-data:/config
# These ports are commented out as you don't really need this port
# exposed for normal use, mainly only if connecting direct the the
# database externally. Otherwise, this risks exposing access to the
# database when not needed.
# ports:
# - 3306:3306
restart: unless-stopped
```

View File

@@ -0,0 +1,35 @@
``` yaml
version: "3.7"
services:
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest
container_name: socket-proxy
restart: unless-stopped
ports:
- "127.0.0.1:2375:2375" # Exposes the proxy on localhost only (recommended for security)
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # Mount the Docker socket in read-only mode
environment:
# Grant/revoke access to specific API sections (0 = revoke, 1 = grant)
ALLOW_START: 0
ALLOW_STOP: 0
ALLOW_RESTART: 0
ALLOW_BUILD: 0
ALLOW_COMMIT: 0
ALLOW_CONTAINERS: 1 # Allows listing/inspecting containers
ALLOW_IMAGES: 1 # Allows listing/pulling images
ALLOW_INFO: 1 # Allows getting Docker info
ALLOW_PING: 1 # Allows pinging the Docker daemon
SERVICES: 1 # Optional
TASKS: 1 # Optional
EVENTS: 1 # Optional
VERSION: 1 # Optional
CONTAINERS: 1 # Optional
# Optional: Set your timezone
TZ: Etc/UTC
read_only: true # Enhance security by making the container's filesystem read-only
tmpfs:
- /run:rw # Necessary for the container to run
```

View File

@@ -0,0 +1,97 @@
``` yaml
version: '3.7'
services:
server:
image: nginx
container_name: invoiceninja-nginx
restart: always
env_file: env
volumes:
# Vhost configuration
#- ./config/caddy/Caddyfile:/etc/caddy/Caddyfiledocker-com
- ./config/nginx/in-vhost-ssl.conf:/etc/nginx/conf.d/default.conf:ro
#- ./config/nginx/in-vhost.conf:/etc/nginx/conf.d/in-vhost.conf:ro
- ./docker/app/public:/var/www/app/public:ro
- ./etc/ssl:/etc/ssla #add certificates volume
depends_on:
- app
# Run webserver nginx on port 80
# Feel free to modify depending what port is already occupied
ports:
- "8081:80"
- "8080:443"
networks:
- invoiceninja
extra_hosts:
- "in5.localhost:192.168.0.124 " #host and ip
app:
image: invoiceninja/invoiceninja
container_name: invoiceninja-app
env_file: env
restart: always
volumes:
- ./config/hosts:/etc/hosts:ro
- ./docker/app/public:/var/www/app/public:rw,delegated
- ./docker/app/storage:/var/www/app/storage:rw,delegated
- ./config/php/php.ini:/usr/local/etc/php/php.ini
- ./config/php/php-cli.ini:/usr/local/etc/php/php-cli.ini
depends_on:
- db
networks:
- invoiceninja
extra_hosts:
- "in5.localhost:192.168.0.124 " #host and ip
db:
image: mysql:8
container_name: invoiceninja-db
# When running on ARM64 use MariaDB instead of MySQL
# image: mariadb:10.4
# For auto DB backups comment out image and use the build block below
# build:
# context: ./config/mysql
restart: always
env_file: env
volumes:
- ./docker/mysql/data:/var/lib/mysql:rw,delegated
# remove comments for next 4 lines if you want auto sql backups
#- ./docker/mysql/bak:/backups:rw
#- ./config/mysql/backup-script:/etc/cron.daily/daily:ro
#- ./config/mysql/backup-script:/etc/cron.weekly/weekly:ro
#- ./config/mysql/backup-script:/etc/cron.monthly/monthly:ro
networks:
- invoiceninja
extra_hosts:
- "in5.localhost:192.168.0.124 " #host and ip
# THIS IS ONLY A VALID CONFIGURATION FOR IN 4. DO NOT USE FOR IN 5.
# cron:
# image: invoiceninja/invoiceninja:alpine-4
# volumes:
# - ./docker/app/public:/var/www/app/public:rw,delegated
# - ./docker/app/storage:/var/www/app/storage:rw,delegated
# - ./docker/app/public/logo:/var/www/app/public/logo:rw,delegated
# entrypoint: |
# /bin/sh -c 'sh -s <<EOF
# trap "break;exit" SIGHUP SIGINT SIGTERM
# sleep 300s
# while /bin/true; do
# ./artisan ninja:send-invoices
# ./artisan ninja:send-reminders
# sleep 1d
# done
# EOF'
# networks:
# - invoiceninja
#
networks:
invoiceninja:
```

View File

@@ -0,0 +1,101 @@
``` yaml
version: '3.8'
services:
speedtest-tracker:
image: lscr.io/linuxserver/speedtest-tracker:latest
container_name: speedtest-tracker
restart: unless-stopped
ports:
- 8888:80
- 8443:443
environment:
# User & Group IDs - Run 'id $user' on Synology terminal
- PUID=1026
- PGID=100
# Application Key (REQUIRED) - Generate with: echo -n 'base64:'; openssl rand -base64 32;
- APP_KEY=base64:Il3vSoT/ZvlAn2CMFJLYl1r+LXXiLsZ6i3E4BcmUnZA=
# Database Configuration
- DB_CONNECTION=sqlite
# For external database, uncomment and configure:
# - DB_CONNECTION=mysql
# - DB_HOST=
# - DB_PORT=3306
# - DB_DATABASE=speedtest_tracker
# - DB_USERNAME=
# - DB_PASSWORD=
# Application Settings
- APP_NAME="Speedtest Tracker"
- APP_URL=https://speed.gregrjacobs.com
- APP_TIMEZONE=America/Toronto
- APP_DEBUG=false
# Display Settings
- DISPLAY_TIMEZONE=America/Toronto
# Speedtest Schedule (Cron format)
# Examples:
# - Every hour: 0 * * * *
# - Every 6 hours: 0 */6 * * *
# - Daily at midnight: 0 0 * * *
- SPEEDTEST_SCHEDULE=0 */1 * * *
# Speedtest Servers
# Comma-separated list of server IDs to use
- SPEEDTEST_SERVERS=24930,47346,47543,47353,10727,46914,46809,46125,46128,47750
# API Settings
# - PRUNE_RESULTS_OLDER_THAN=0 # Days, 0 = disabled
# Mail Configuration (Optional)
# - MAIL_MAILER=smtp
# - MAIL_HOST=
# - MAIL_PORT=587
# - MAIL_USERNAME=
# - MAIL_PASSWORD=
# - MAIL_ENCRYPTION=tls
# - MAIL_FROM_ADDRESS=
# - MAIL_FROM_NAME="${APP_NAME}"
volumes:
# Main config directory
- /volume1/docker/speedtest-tracker/config:/config
# Optional: Custom SSL certificates directory
# Place cert.crt (full chain) and cert.key (private key) here
# - /volume1/docker/speedtest-tracker/ssl:/config/keys
labels:
- homepage.group=Monitoring
- homepage.name=Speedtest Tracker
- homepage.icon=speedtest-tracker.png
- homepage.href=https://speed.gregrjacobs.com
- homepage.description=Internet speed monitoring
- homepage.weight=5
- homepage.widget.type=speedtest
- homepage.widget.url=https://speed.gregrjacobs.com
- homepage.widget.key=bcTKzip0f1DBa2ebujkimxE53bSRBLmxvDEsMahL1fc749c6
- homepage.widget.bitratePrecision=3
- homepage.widget.version=2
# Optional: Set DNS servers
# dns:
# - 1.1.1.1
# - 8.8.8.8
# Optional: Network mode
# network_mode: bridge
# Optional: Use custom network
# networks:
# speedtest:
# driver: bridge
```

View File

@@ -0,0 +1,40 @@
``` yaml
version: "3"
services:
db:
image: postgres:16-alpine
container_name: wikijs-db
environment:
POSTGRES_DB: wiki
POSTGRES_USER: wikijs
POSTGRES_PASSWORD: 0240761609241J@Cub$ # CHANGE THIS PASSWORD
logging:
driver: "none"
volumes:
- /volume1/docker/wikijs/db-data:/var/lib/postgresql/data
restart: unless-stopped
wiki:
image: requarks/wiki:latest
container_name: wikijs-app
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: 0240761609241J@Cub$ # MUST MATCH POSTGRES_PASSWORD
DB_NAME: wiki
# Optional: To skip setup wizard and pre-configure
# ADMIN_EMAIL: admin@example.com
# ADMIN_PASS: SecretPassword
ports:
- "9999:3000" # Maps port 8080 on NAS to 3000 in container
volumes:
- /volume1/docker/wikijs/data:/data
restart: unless-stopped
```

View File

@@ -0,0 +1,206 @@
``` YAML
---
services:
sabnzbd:
image: lscr.io/linuxserver/sabnzbd:latest
container_name: sabnzbd
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
- PATH=/lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
volumes:
- /volume1/Random:/others:rw
- /volume1/Downloads/incomplete:/incomplete-downloads:rw #optional
- /volume1/Downloads/complete:/downloads:rw #optional
- /volume1/docker/wirecutter/sabnzbd:/config:rw
ports:
- 37070:8085
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=SABnzbd
- homepage.icon=sabnzbd.png
- homepage.href=http://sabnzbd.gregrjacobs.com
- homepage.description=Usenet downloader
- homepage.showStats=true
- homepage.widget.type=sabnzbd
- homepage.widget.url=https://sabnzbd.gregrjacobs.com
- homepage.widget.key=91fea692f8c252f83562cb7994653855
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
volumes:
- /volume1/Downloads/complete:/downloads:rw
- /volume1/docker/wirecutter/sonarr:/config:rw
- /volume1/PleX Media/media:/tv:rw
ports:
- 39092:8989
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=Sonarr
- homepage.icon=sonarr.png
- homepage.href=https://sonarr.gregrjacobs.com
- homepage.description=TV series manager
- homepage.showStats=true
- homepage.widget.type=sonarr
- homepage.widget.url=https://sonarr.gregrjacobs.com
- homepage.widget.key=7db1550ec2754b218b0be6ebc40a238e
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
volumes:
- /volume1/PleX Media/media:/movies:rw
- /volume1/Downloads/complete:/downloads:rw
- /volume1/docker/wirecutter/radarr:/config:rw
ports:
- 39095:7878
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=Radarr
- homepage.icon=radarr.png
- homepage.href=https://radarr.gregrjacobs.com
- homepage.description=Movie manager
- homepage.showStats=true
- homepage.widget.type=radarr
- homepage.widget.url=https://radarr.gregrjacobs.com
- homepage.widget.key=15e6d3a90e9e40c29837b26910c81f3e
deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: deluge
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
- DELUGE_LOGLEVEL=error #optional
volumes:
- /volume1/docker/wirecutter/deluge:/config:rw
- /volume1/Downloads/complete:/downloads:rw
ports:
- 39093:8112
- 6881:6881
- 6881:6881/udp
- 39090:58846 #optional
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=Deluge
- homepage.icon=deluge.png
- homepage.href=https://deluge.gregrjacobs.com
- homepage.description=Torrent client
- homepage.showStats=true
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
volumes:
- /volume1/docker/wirecutter/prowlarr:/config:rw
ports:
- 39696:9696
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=Prowlarr
- homepage.icon=prowlarr.png
- homepage.href=https://prowlarr.gregrjacobs.com
- homepage.description=Indexer manager
- homepage.showStats=true
- homepage.widget.type=prowlarr
- homepage.widget.url=https://prowlarr.gregrjacobs.com
- homepage.widget.key=5f24e1ffd77147efbd242c4c327a99dd
tautulli:
image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
volumes:
- /volume1/docker/wirecutter/tautulli:/config:rw
ports:
- 38084:8181
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=Tautulli
- homepage.icon=tautulli.png
- homepage.href=https://tautulli.gregrjacobs.com
- homepage.description=Plex stats
- homepage.showStats=true
- homepage.widget.type=tautulli
- homepage.widget.url=https://tautulli.gregrjacobs.com
- homepage.widget.key=a4bdcff8395444838f51e2c4130c18c9
overseerr:
image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
volumes:
- /volume1/docker/wirecutter/overseerr:/config:rw
ports:
- 41001:5055
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=Overseerr
- homepage.icon=overseerr.png
- homepage.href=https://overseerr.gregrjacobs.com
- homepage.description=Media requests
- homepage.showStats=true
- homepage.widget.type=overseerr
- homepage.widget.url=https://overseerr.gregrjacobs.com
- homepage.widget.key=MTc1Nzk0MDU0ODg5NjIyNGVjYmJjLTlmNzUtNGI2MS05NTBhLTY4Njk0NTI1MjUxMA==
doplarr:
image: lscr.io/linuxserver/doplarr:latest
container_name: doplarr
environment:
- PUID=1031
- PGID=101
- TZ=Etc/UTC
- DISCORD__TOKEN=MTQxNzE0MTI4MzQ1NzMzOTQwNA.Gd5nZ9.Y-eW5Nl0oCqDOmDSd8MD_T9IBLBTwBai3eqc0o
# - OVERSEERR__API=MTc1Nzk0MDU0ODg5NjIyNGVjYmJjLTlmNzUtNGI2MS05NTBhLTY4Njk0NTI1MjUxMA
# - OVERSEERR__URL=http://10.0.0.81:41001
- RADARR__API=15e6d3a90e9e40c29837b26910c81f3e
- RADARR__URL=http://10.0.0.81:39095
- SONARR__API=7db1550ec2754b218b0be6ebc40a238e
- SONARR__URL=http://10.0.0.81:39092
# - DISCORD__MAX_RESULTS=25 #optional
# - DISCORD__REQUESTED_MSG_STYLE=:embed #optional
# - SONARR__QUALITY_PROFILE= #optional
# - RADARR__QUALITY_PROFILE= #optional
# - SONARR__ROOTFOLDER= #optional
# - RADARR__ROOTFOLDER= #optional
# - SONARR__LANGUAGE_PROFILE= #optional
# - OVERSEERR__DEFAULT_ID= #optional
# - PARTIAL_SEASONS=true #optional
# - LOG_LEVEL=:info #optional
# - JAVA_OPTS= #optional
volumes:
- /volume1/docker/wirecutter/doplarr:/config
restart: "unless-stopped"
labels:
- homepage.group=Media
- homepage.name=Doplarr
- homepage.icon=doplarr.png
# - homepage.href=http://doplarr:port
- homepage.description=Discord bot for media
- homepage.showStats=true
networks:
default: {}
```

View File

@@ -0,0 +1,20 @@
| Container | External (We use) | Internal (Docker Uses) | Project |
| ---------------------------------------------- | ------------------------------ | --------------------------------------------- | ----------------------------------------------------------------------- |
| [[Home Setup/Containers/Bookstack\|Bookstack]] | 6875 | 80 | [[Home Setup/Synology/Container Manager Projects/bookstack\|bookstack]] |
| mariadb | | | [[Home Setup/Synology/Container Manager Projects/bookstack\|bookstack]] |
| [[Home Setup/Containers/WikiJS\|WikiJS]]-app | 9999 | 3000 | [[Home Setup/Synology/Container Manager Projects/wikijs\|wikijs]] |
| [[Home Setup/Containers/WikiJS\|WikiJS]]-db | | | [[Home Setup/Synology/Container Manager Projects/wikijs\|wikijs]] |
| [[Speed Test Tracker]] | 8443 (https)<br>8888 (http) | 443/tcp<br>80/tcp | [[speediest-tracker]] |
| [[SABNzbd]] | 37070 | 8085/tcp | [[wirecutter]] |
| [[Radarr]] | 39095 | 7878/tcp | [[wirecutter]] |
| [[Tautulli]] | 38084 | 8181/tcp | [[wirecutter]] |
| [[Overseerr]] | 41001 | 5055/tcp | [[wirecutter]] |
| [[Prowlarr]] | 39696 | 9696/tcp | [[wirecutter]] |
| [[Deluge]] | 39090<br>6881<br>6881<br>39093 | 58846/tcp<br>6881/tcp<br>6881/udp<br>8112/tcp | [[wirecutter]] |
| [[Doplarr]] | | | [[wirecutter]] |
| [[Sonarr]] | 39092 | 8989/tcp | [[wirecutter]] |
| [[Socket Proxy]] | 2375 | 2375/tcp | [[docker-socket-proxy]] |
| [[Invoice Ninja]]-nginx | 8080<br>8081 | 443/tcp<br>80/tcp | [[invoice-ninja]] |
| [[Invoice Ninja]]-app | | | [[invoice-ninja]] |
| [[Invoice Ninja]]-db | | | [[invoice-ninja]] |