This commit is contained in:
traveler 2025-06-25 14:07:44 -05:00
commit 123fae9451
53 changed files with 3976 additions and 0 deletions

74
NAS/NG-Archives.yaml Executable file
View file

@ -0,0 +1,74 @@
# onlyoffice-documentserver:
# # build:
# # context: .
# container_name: onlyoffice-documentserver
# image: onlyoffice/documentserver:latest
# depends_on:
# - onlyoffice-postgresql
# - onlyoffice-rabbitmq
# environment:
# - DB_TYPE=postgres
# - DB_HOST=onlyoffice-postgresql
# - DB_PORT=5432
# - DB_NAME=onlyoffice
# - DB_USER=onlyoffice
# - AMQP_URI=amqp://guest:guest@onlyoffice-rabbitmq
# - PGID=33
# - PUID=33
# # Uncomment strings below to enable the JSON Web Token validation.
# #- JWT_ENABLED=true
# #- JWT_SECRET=secret
# #- JWT_HEADER=Authorization
# #- JWT_IN_BODY=true
# ports:
# - '8085:80'
# - '4443:443'
# stdin_open: true
# restart: always
# # stop_grace_period: 60s
# volumes:
# - /DockerVol/onlyoffice/var/www/data:/var/www/onlyoffice/Data
# - /DockerVol/onlyoffice/var/log:/var/log/onlyoffice
# - /DockerVol/onlyoffice/var/lib:/var/lib/onlyoffice/documentserver/App_Data/cache/files
# - /DockerVol/onlyoffice/var/www/example:/var/www/onlyoffice/documentserver-example/public/files
# - /usr/share/fonts:/usr/share/fonts
# onlyoffice-rabbitmq:
# container_name: onlyoffice-rabbitmq
# image: rabbitmq
# restart: always
# expose:
# - '5672'
# onlyoffice-postgresql:
# container_name: onlyoffice-postgresql
# image: postgres:9.5
# environment:
# - POSTGRES_DB=onlyoffice
# - POSTGRES_USER=onlyoffice
# - POSTGRES_HOST_AUTH_METHOD=trust
# - PGID=33
# - PUID=33
# restart: always
# expose:
# - '5432'
# volumes:
# - postgresql_data:/var/lib/postgresql
# collabora:
# image: collabora/code
# container_name: collabora
# hostname: collabora
# ports:
# - 9980:9980
# environment:
# - domain=office\\.netgrimoire\\.com
# - PGID=33
# - PUID=33
# - extra_params=--o:ssl.enable=false
# cap_add:
# - MKNOD
# restart: always

202
NAS/NG-Immich.yaml Executable file
View file

@ -0,0 +1,202 @@
#version: "2.2"
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: ["start.sh", "immich"]
networks:
- netgrimoire
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- /srv/ssd1/:/nextcloud:ro
- /export:/nas:ro
env_file:
- .env
depends_on:
- redis
- database
- typesense
restart: always
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.yml
# service: hwaccel
command: ["start.sh", "microservices"]
networks:
- netgrimoire
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
depends_on:
- redis
- database
- typesense
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
networks:
- netgrimoire
volumes:
- /DockerVol/immich-model-cache:/cache
env_file:
- .env
restart: always
immich-web:
container_name: immich_web
image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
networks:
- netgrimoire
env_file:
- .env
restart: always
typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
networks:
- netgrimoire
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
# remove this to get debug messages
- GLOG_minloglevel=1
volumes:
- /DockerVol/tsinse_immich/data:/data
restart: always
redis:
container_name: immich_redis
image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
networks:
- netgrimoire
restart: always
database:
container_name: immich_postgres
image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
env_file:
- .env
networks:
- netgrimoire
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- /DockerVol/immich_postgres/data:/var/lib/postgresql/data
restart: always
immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
networks:
- netgrimoire
ports:
- 2283:8080
depends_on:
- immich-server
- immich-web
restart: always
-------------------------
#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
healthcheck:
disable: false
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:905c4ee67b8e0aa955331960d2aa745781e6bd89afc44a8584bfd13bc890f0ae
healthcheck:
test: redis-cli ping || exit 1
restart: always
database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
healthcheck:
test: >-
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
--command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
echo "checksum failure count is $$Chksum";
[ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command: >-
postgres
-c shared_preload_libraries=vectors.so
-c 'search_path="$$user", public, vectors'
-c logging_collector=on
-c max_wal_size=2GB
-c shared_buffers=512MB
-c wal_compression=on
restart: always
volumes:
model-cache:

30
NAS/NG-Media.yaml Executable file
View file

@ -0,0 +1,30 @@
#version: "2.2"
services:
# photoprism:
# image: photoprism/photoprism
# container_name: photoprism
# hostname: photoprism
# networks:
# - netgrimoire
# ports:
# - 2342:2342
# environment:
# - PHOTOPRISM_PUBLIC=true
# - PHOTOPRISM_UPLOAD_NSFW=true
# - PHOTOPRISM_ADMIN_PASSWORD=F@lcon12
# - PGID=33
# - PUID=33
# volumes:
# - /DockerVol/photoprism:/photoprism/storage
# - /DockerVol/photoprism/photos:/photoprism/originals
# - /srv/ssd1/NextCloud/traveler/files/Photos:/photoprism/originals/Phil
# - /srv/ssd1/NextCloud/traveler/files/InstantUpload:/photoprism/originals/Phil/Upload
# - /srv/ssd1/NextCloud/cindy/files/300 Saltwater Tank Pics:/photoprism/originals/Cindy/tanks
# - /srv/ssd1/NextCloud/cindy/files/Photos:/photoprism/originals/Cindy/Upload
# - /export/Photos:/photoprism/photos
# restart: always

103
NAS/NG-Mgmt-Tools.yaml Executable file
View file

@ -0,0 +1,103 @@
version: "3.3"
services:
# scrutiny:
# image: ghcr.io/analogj/scrutiny:master-omnibus
# container_name: scrutiny
# hostname: scrutiny
# networks:
# - netgrimoire
# ports:
# - 8081:8080
# - 8086:8086
# cap_add:
# - SYS_RAWIO
# devices:
# - "/dev/sda"
# # - "/dev/sdb"
# - "/dev/sdc"
# - "/dev/sdd"
# - "/dev/sde"
# - "/dev/sdf"
# - "/dev/sdg"
# - "/dev/sdh"
# - "/dev/sdi"
# - "/dev/sdj"
# volumes:
# - /run/udev:/run/udev:ro
# - /DockerVol/scrutiny/config:/opt/scrutiny/config
# - /DockerVol/scrutiny/influxdb:/opt/scrutiny/influxdb
# glances:
# image: nicolargo/glances
# container_name: glances
# hostname: glances
# restart: always
# network_mode: host
# privileged: true
# pid: host
# volumes:
# - /docker/volumes/glances/config:/glances/conf
# - /var/run/docker.sock:/var/run/docker.sock
# environment:
# - TZ=Europe/Brussels
# - "GLANCES_OPT=-w"
# ports:
# - 61208-61209:61208-61209
lldap:
image: lldap/lldap:stable
ports:
# For LDAP, not recommended to expose, see Usage section.
#- "3890:3890"
# For LDAPS (LDAP Over SSL), enable port if LLDAP_LDAPS_OPTIONS__ENABLED set true, look env below
#- "6360:6360"
# For the web front-end
- "17170:17170"
volumes:
- "/DockerVol/lldap/lldap_data:/data"
# Alternatively, you can mount a local folder
# - "./lldap_data:/data"
networks:
- netgrimoire
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
- LLDAP_JWT_SECRET=F@lcon13
- LLDAP_KEY_SEED=1qaz@WSX1qaz@WSX
- LLDAP_LDAP_BASE_DN=dc=pncharris,dc=com
# If using LDAPS, set enabled true and configure cert and key path
# - LLDAP_LDAPS_OPTIONS__ENABLED=true
# - LLDAP_LDAPS_OPTIONS__CERT_FILE=/path/to/certfile.crt
# - LLDAP_LDAPS_OPTIONS__KEY_FILE=/path/to/keyfile.key
# You can also set a different database:
# - LLDAP_DATABASE_URL=mysql://mysql-user:password@mysql-server/my-database
# - LLDAP_DATABASE_URL=postgres://postgres-user:password@postgres-server/my-database
# netboot:
# image: linuxserver/netbootxyz
# container_name: netboot
# hostname: netboot
# ports:
# - 3000:3000
# - 69:69
# - 8084:80
# environment:
# - PGID=33
# - PUID=33
# volumes:
# - /DockerVol/netboot:/config
# - /export/Images/netboot:/assets
# restart: always
# agent:
# image: portainer/agent
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# - /var/lib/docker/volumes:/var/lib/docker/volumes
# ports:
# - "9001:9001"
# restart: always

65
NAS/NG-NextCloud.yaml Executable file
View file

@ -0,0 +1,65 @@
version: "3.3"
services:
db:
image: mariadb:10.4
container_name: mariadb
hostname: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
# networks:
# - netgrimoire
volumes:
- /DockerVol/Mariadb:/var/lib/mysql
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=F@lcon12
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TZ=America/Chicago
nextcloud:
# image: nextcloud:25
image: nextcloud
container_name: nextcloud
hostname: nextcloud
# networks:
# - netgrimoire
ports:
- 8080:80
links:
- db
volumes:
- /DockerVol/NextCloud:/var/www/html
- /srv/ssd1/NextCloud:/var/www/html/data
restart: always
environment:
- TZ=America/Chicago
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
labels:
com.centurylinklabs.watchtower.enable: "true"
collabora:
image: collabora/code
container_name: collabora
hostname: collabora
# networks:
# - netgrimoire
ports:
- 9980:9980
environment:
- PGID=33
- PUID=33
- domain=office\\.netgrimoire\\.com
- aliasgroup1=https://office.netgrimoire.com:443
- extra_params=--o:ssl.enable=false
- TZ=America/Chicago
cap_add:
- MKNOD
restart: always

19
NAS/NG-UserServices.yaml Executable file
View file

@ -0,0 +1,19 @@
version: "3.3"
services:
cloudcmd:
image: coderaiser/cloudcmd
container_name: cloudcmd
hostname: cloudcmd
networks:
- netgrimoire
ports:
- 8000:8000
environment:
- PGID=33
- PUID=33
volumes:
- ~:/root
- /:/mnt/fs
restart: always

2
NAS/README Executable file
View file

@ -0,0 +1,2 @@
1st cut

40
NAS/calibre.yaml Executable file
View file

@ -0,0 +1,40 @@
services:
Calibre:
image: lscr.io/linuxserver/calibre:latest
container_name: calibre
hostname: calibre
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
networks:
- netgrimoire
volumes:
- /DockerVol/Calibre/Config:/config
- /DockerVol/Calibre/Plugins:/plugins
- /data/nfs/Baxter/Data/media:/data:shared
ports:
- 7070:8080
- 7081:8081
restart: unless-stopped
security_opt:
- seccomp=unconfined
# deploy:
labels:
- homepage.group=Library
- homepage.name=Calibre
- homepage.icon=calibre.png
- homepage.href=http://calibre.netgrimoire.com
- homepage.description=Calibre Library
- kuma.calibre.http.name="Calibre "
- kuma.calibre.http.url=http://calibre:8080
- caddy=calibre.netgrimoire.com
- caddy.import=authentik
- caddy.reverse_proxy="{{upstreams 8080}}"
# placement:
# constraints:
# - node.hostname == nas
networks:
netgrimoire:
external: true

24
NAS/compose.yaml Executable file
View file

@ -0,0 +1,24 @@
services:
namer:
container_name: namer
image: ghcr.io/theporndatabase/namer:latest
networks:
- netgrimoire
environment:
- PUID=1001
- PGID=998
- TZ=America/Chicago
- NAMER_CONFIG=/config/namer.cfg
volumes:
- /DockerVol/namer/:/config
- /data/nfs/Baxter/Green/:/data
ports:
- 6980:6980
restart: always
networks:
netgrimoire:
external: true

96
NAS/docker-compose.source Executable file
View file

@ -0,0 +1,96 @@
version: "3.8"
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: ["start.sh", "immich"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
depends_on:
- redis
- database
- typesense
restart: always
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.yml
# service: hwaccel
command: ["start.sh", "microservices"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
depends_on:
- redis
- database
- typesense
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
immich-web:
container_name: immich_web
image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
env_file:
- .env
restart: always
typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
# remove this to get debug messages
- GLOG_minloglevel=1
volumes:
- tsdata:/data
restart: always
redis:
container_name: immich_redis
image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
restart: always
database:
container_name: immich_postgres
image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
env_file:
- .env
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
ports:
- 2283:8080
depends_on:
- immich-server
- immich-web
restart: always
volumes:
pgdata:
model-cache:
tsdata:

22
NAS/docker-compose.yaml Executable file
View file

@ -0,0 +1,22 @@
version: "2.2"
# volumes:
# nextcloud:
# db:
# pgdata:
# model-cache:
# tsdata:
# # librephotos-data:
# # media:
# # librephotos-db:
include:
- NG-Immich.yaml
- NG-Media.yaml
- NG-Mgmt-Tools.yaml
- NG-NextCloud.yaml
- NG-UserServices.yaml
networks:
netgrimoire:
external: true

153
NAS/libre-photo.yml Executable file
View file

@ -0,0 +1,153 @@
version: '2'
volumes:
nextcloud:
db:
librephotos-data:
media:
librephotos-db:
services:
db:
image: mariadb
container_name: mariadb
hostname: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /DockerVol/Mariadb:/var/lib/mysql
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=F@lcon12
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
labels:
com.centurylinklabs.watchtower.enable: "true"
app:
image: nextcloud:21
container_name: nextcloud
hostname: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- /DockerVol/NextCloud:/var/www/html
- /srv/dev-disk-by-label-97cc875d/NextCloud:/var/www/html/data
restart: always
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
labels:
com.centurylinklabs.watchtower.enable: "true"
photoprism:
image: photoprism/photoprism
container_name: photoprism
hostname: photoprism
ports:
- 2342:2342
environment:
- PHOTOPRISM_PUBLIC=true
- PHOTOPRISM_UPLOAD_NSFW=true
- PHOTOPRISM_ADMIN_PASSWORD=F@lcon12
- PGID=33
- PUID=33
volumes:
- /DockerVol/photoprism:/photoprism/storage
- /DockerVol/photoprism/photos:/photoprism/originals
- /srv/dev-disk-by-label-97cc875d/NextCloud/traveler/files/Photos:/photoprism/originals/Phil
- /srv/dev-disk-by-label-97cc875d/NextCloud/traveler/files/InstantUpload:/photoprism/originals/Phil/Upload
- /srv/dev-disk-by-label-97cc875d/NextCloud/cindy/files/300 Saltwater Tank Pics:/photoprism/originals/Cindy/tanks
- /srv/dev-disk-by-label-97cc875d/NextCloud/cindy/files/Photos:/photoprism/originals/Cindy/Upload
restart: always
proxy:
image: reallibrephotos/librephotos-proxy:dev
tty: true
container_name: librephotos-proxy
restart: always
links:
- "backend:backend"
- "frontend:frontend"
ports:
- "3000:80"
environment:
- PGID=33
- PUID=33
librephotos-db:
image: postgres
container_name: librephotos-db
restart: always
environment:
# This db password is internal, you can change it if you want, but also change it in librephotos-backend container
- POSTGRES_PASSWORD=AaAa1234
- POSTGRES_DB=ownphotos
- PGID=33
- PUID=33
volumes:
- /DockerVol/librephotos-data/librephotos-db:/var/lib/postgresql/data
frontend:
image: reallibrephotos/librephotos-frontend:dev
container_name: librephotos-frontend
tty: true
links:
- "backend:backend"
environment:
- PGID=33
- PUID=33
backend:
image: reallibrephotos/librephotos:dev
container_name: librephotos-backend
volumes:
- /srv/dev-disk-by-label-97cc875d/NextCloud/traveler/files/Photos:/data
- /srv/dev-disk-by-label-97cc875d/NextCloud/traveler/files/InstantUpload:/data/Upload
- /srv/dev-disk-by-label-97cc875d/NextCloud/cindy/files/300 Saltwater Tank Pics:/data/Cindy/tanks
- /srv/dev-disk-by-label-97cc875d/NextCloud/cindy/files/Photos:/data/Cindy/Upload
#- $HOME/photos:/data # CHANGE ME
- /DockerVol/librephoto/code/protected_media/:/code/protected_media # CHANGE ME
- /DockerVol/librephoto/code/librephotos_logs/:/code/logs # CHANGE ME
environment:
- SECRET_KEY=5822810 # CHANGE ME
- BACKEND_HOST=backend # DON'T CHANGE ME
- ADMIN_EMAIL=phil@pncharris.com # CHANGE ME
- ADMIN_USERNAME=traveler # CHANGE ME
- ADMIN_PASSWORD=F@lcon12 # CHANGE ME
- DEBUG=false
- DB_BACKEND=postgresql
- DB_NAME=ownphotos
- DB_USER=postgres
# This db password is internal, you can change it if you want, but also change it in librephotos-db container
- DB_PASS=AaAa1234
- DB_HOST=librephotos-db
- DB_PORT=5432
- REDIS_HOST=librephotos-redis
- REDIS_PORT=6379
- MAPBOX_API_KEY=pk.eyJ1IjoiaGFycmlzcG0iLCJhIjoiY2tpcGc1dmpyMGFzMDJ5bzAwdmZ3dWI4ZSJ9.PxP-k2UbxvJt3hxhS7vpXw #CHANGE ME - sign up at mapbox.com for an api key. You need this for reverse geocoding
- PGID=33
- PUID=33
links:
- "librephotos-db:librephotos-db"
- "librephotos-redis:librephotos-redis"
librephotos-redis:
image: redis
container_name: librephotos-redis

54
docker1/-NG-Downloaders.yaml Executable file
View file

@ -0,0 +1,54 @@
version: "2.2"
services:
hydra2:
image: linuxserver/nzbhydra2:dev
container_name: hydra2
hostname: hydra2
networks:
- netgrimoire
volumes:
- /DockerVol/hydra2/config:/config
- /DockerVol/hydra2/downloads:/downloads
ports:
- 5076:5076
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
Sabnzbd:
image: linuxserver/sabnzbd
container_name: sabnzbd
hostname: sabnzbd
networks:
- netgrimoire
ports:
- 8080:8080
volumes:
- /data/nfs/Baxter/:/data:shared
- /DockerVol/sabnzbd/config:/config
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
nzbget:
image: linuxserver/nzbget:latest
container_name: nzbget
hostname: nzbget
networks:
- netgrimoire
ports:
- "6789:6789"
volumes:
- /DockerVol/nzbget/config:/config
- /data/nfs/Baxter/Data/Usenet/downloads:/downloads:shared
- /data/nfs/Baxter:/Baxter:shared
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped

145
docker1/-NG-arr.yaml Executable file
View file

@ -0,0 +1,145 @@
version: "2.2"
services:
readarr:
image: lscr.io/linuxserver/readarr:develop
container_name: readarr
hostname: readarr
environment:
- PUID=1001
- PGID=999
- TZ=America/Chicago
networks:
- netgrimoire
volumes:
- /DockerVol/readarr/config:/config
# - /data/nfs/Baxter/Books/readarr:/readarr:shared
# - /data/nfs/Baxter/Books/Downloads:/data/Books/Downloads:shared
# - /data/nfs/Baxter/Books/Sorted:/library:shared
- /data/nfs/Baxter/:/data:shared
ports:
- 8787:8787
restart: unless-stopped
lidarr:
image: linuxserver/lidarr
container_name: lidarr
hostname: lidarr
ports:
- 8686:8686
networks:
- netgrimoire
volumes:
- /Dockervol/lidarr/config:/config
- /data/nfs/Baxter/Music/Downloads:/downloads:shared
- /data/nfs/Baxter/Music:/music:shared
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
radarr:
image: linuxserver/radarr
container_name: radarr
hostname: radarr
networks:
- netgrimoire
volumes:
- /DockerVol/Radarr:/config
- /data/nfs/Baxter/:/data:shared
ports:
- 7878:7878
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
whisparr:
image: cr.hotio.dev/hotio/whisparr:nightly
container_name: whisparr
hostname: whisparr
networks:
- netgrimoire
volumes:
- /DockerVol/Whisparr:/config
- /data/nfs/Baxter/:/data:shared
ports:
- 6969:6969
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
mylar:
# image: linuxserver/mylar
image: lscr.io/linuxserver/mylar3:latest
container_name: mylar
hostname: mylar
networks:
- netgrimoire
volumes:
- /DockerVol/mylar:/config
- /data/nfs/Baxter/Comics/Downloads:/downloads:shared
- /data/nfs/Baxter/Comics:/comics:shared
ports:
- 8090:8090
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
sonarr:
image: linuxserver/sonarr:latest
container_name: sonarr
hostname: sonarr
networks:
- netgrimoire
volumes:
- /etc/localtime:/etc/localtime:ro
- /DockerVol/sonarr:/config
- /data/nfs/Baxter:/data:shared
- /DockerVol/sonarr/Downloads:/downloads
ports:
- 8989:8989
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
networks:
- netgrimoire
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
volumes:
- /DockerVol/bazarr/config:/config
- /data/nfs/Baxter:/data:shared
ports:
- 6767:6767
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
networks:
- netgrimoire
volumes:
- /DockerVol/prowlarr/config:/config
ports:
- 9696:9696
restart: unless-stopped

BIN
docker1/.docker-compose.yaml.swp Executable file

Binary file not shown.

43
docker1/.env Executable file
View file

@ -0,0 +1,43 @@
APP_BASE_URL=https://joplin.netgrimoire.com
POSTGRES_PASSWORD=Falcon12
POSTGRES_DATABASE=Joplin
POSTGRES_USER=Joplin
POSTGRES_PORT=5432
DB_HOST=databaseBloben
DB_PORT=5432
DB_USERNAME=bloben
DB_DATABASE=bloben_api
DB_CONNECTION=postgres
DB_SYNCHRONIZE=true
DB_LOGGING=false
DB_ENTITIES=usr/app/api/build/data/entity/*.js
DB_ENTITIES_DIR=usr/app/api/build/data/entity
DB_MIGRATIONS=usr/app/api/build/data/migrations/*.js
## Use same password for database for DB_PASSWORD and POSTGRES_PASSWORD
DB_PASSWORD=Falcon12
POSTGRES_PASSWORD=Falcon12
SESSION_SECRET=Falcon12
OTP_SECRET=Falcon12
# your login password for admin account
INITIAL_ADMIN_PASSWORD=Falcon12
REDIS_HOST=redisBloben
REDIS_PORT=6379
#POSTGRES_DB=bloben_api
POSTGRES_DB=postgress
POSTGRES_USER=bloben
APP_DOMAIN=netgrimoire.com
SMTP_PORT=
SMTP_HOST=
SMTP_EMAIL=
SMTP_USERNAME=
SMTP_PASSWORD=

168
docker1/NG-Archives.yaml Executable file
View file

@ -0,0 +1,168 @@
# musicbrainz:
# image: linuxserver/musicbrainz
# container_name: musicbrainz
# hostname: musicbrainz
# ports:
# - 5000:5000
# volumes:
# - /DockerVol/musicbrainz/config:/config
# - /DockerVol/musicbrainz/data:/data
# environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
# # - WEBADDRESS=musicbrainz.wasted-bandwidth.net -e BRAINZCODE=y4R2BAw2kpZLq1egHmH4uBtlim1iPYjbT3YZ7TJQ -e MUSICBRAINZ_USE_PROXY=1
# - WEBADDRESS=192.168.4.72
# - BRAINZCODE=y4R2BAw2kpZLq1egHmH4uBtlim1iPYjbT3YZ7TJQ
# - MUSICBRAINZ_USE_PROXY=1
# labels:
# com.centurylinklabs.watchtower.enable: "true"
# restart: unless-stopped
# beets:
# image: ghcr.io/linuxserver/beets
# container_name: beets
# environment:
# - PUID=999
# - PGID=1001
# - TZ=America/Chicago
# volumes:
# - /DockerVol/beets/appdata/config:/config
# - /data/nfs/Baxter/Music:/music
# - /data/nfs/Baxter/Music/Downloads:/downloads
# ports:
# - 8337:8337
# restart: unless-stopped
# ampache:
# image: jgoerzen/ampache
# container_name: ampache
# hostname: ampache
# links:
# - mysql:db
# volumes:
# - /sys/fs/cgroup:/sys/fs/cgroup:ro
# - /data/nfs/Baxter/Music:/music:ro
# - /DockerVol/ampache/playlist:/playlists
# #- /DockerVol/ampache/config:/var/www/html/ampache/config
# - /DockerVol/ampache/config:/var/www/config
# ports:
# - 8097:80
# - 6443:443
# environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
# stop_signal: SIGRTMIN+3
# labels:
# com.centurylinklabs.watchtower.enable: "true"
# restart: unless-stopped
# tmpfs:
# - /run:size=100M
# - /run/lock:size=100M
# tracks:
# image: tracksapp/tracks
# container_name: tracks
# hostname: tracks
# ports:
# - 3000:3000
# links:
# - mysql:db
# environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
# restart: unless-stopped
# ubooquity:
# image: lscr.io/linuxserver/ubooquity:latest
# container_name: ubooquity
# hostname: ubooquity
# ports:
# - 8055:2202
# - 8056:2203
# volumes:
# - /DockerVol/ubooquity/config:/config
# - /data/nfs/Baxter/Comics:/comics:shared
# environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
# labels:
# com.centurylinklabs.watchtower.enable: "true"
# radicale:
# image: tomsquest/docker-radicale
# container_name: radicale
# ports:
# - 5232:5232
# # init: true
# read_only: true
# security_opt:
# - no-new-privileges:true
# cap_drop:
# - ALL
# cap_add:
# - SETUID
# - SETGID
# - CHOWN
# - KILL
# healthcheck:
# test: curl -f http://127.0.0.1:5232 || exit 1
# interval: 30s
# retries: 3
# restart: unless-stopped
# volumes:
# - /DockerVol/radicale/data:/data
# redisBloben:
# image: redis:7.0.5-bullseye
# container_name: redisBloben
# volumes:
# - /DockerVol/redisBlobenData:/data
# ports:
# - 6379:6379
# restart: always
# Bloben:
# image: 'bloben/app:latest'
# container_name: Bloben
# volumes:
# - /DockerVol/Bloben/logs:/logs
# links:
# - postgress:databaseBloben
# env_file:
# - .env
# ports:
# - 8092:80
# restart: always
# vdirsync:
# image: bleala/vdirsyncer:latest
# container_name: vdirsyncer
# restart: unless-stopped
# environment:
# - PUID=999
# - PGID=1001
# - TZ=America/Chicago
# - AUTODISCOVER= # set to true for automatic discover, default to false
# - AUTOSYNC= # set to true for automatic sync, default to false
# - LOG= # optional, default to /vdirsyncer/log/vdirsyncer.log
# - CRON_TIME= # adjust autosync /-discover time, default to 15 minutes - */15 * * * *
# # Cron Time need to be set in Cron format - look here for generator https://crontab.guru/
# # Set CRON_TIME like that --> */15 * * * *
# volumes:
# - /DockerVol/vdirsyncer:/vdirsyncer

79
docker1/NG-Media.yaml Executable file
View file

@ -0,0 +1,79 @@
version: "2.2"
services:
# books:
# image: lscr.io/linuxserver/calibre-web:latest
# container_name: books
# hostname: books
# networks:
# - netgrimoire
# volumes:
# - /data/nfs/Baxter/Books/:/books:shared
# - /DockerVol/calibre-web/config:/config
# environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
# # - DOCKER_MODS=linuxserver/calibre-web:calibre
# ports:
# - 8083:8083
# restart: unless-stopped
# tinymediamanager_service:
# image: romancin/tinymediamanager:latest
# container_name: tinymediamanager
# networks:
# - netgrimoire
# ports:
# - "5803:5800"
# environment:
# - USER_ID=1001
# - GROUP_ID=99
# - TZ=America/Chicago
# - VNC_PASSWORD=F@lcon12
# volumes:
# - "/DockerVol/tinymediamanager:/config:rw"
# - "/data/nfs/Baxter:/media:rw"
Calibre-Netgrimoire:
image: lscr.io/linuxserver/calibre:latest
container_name: calibre-netgrimoire
hostname: calibre-netgrimoire
networks:
- netgrimoire
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
volumes:
- /DockerVol/Calibre/Config:/config
- /DockerVol/Calibre/Plugins:/plugins
- /data/nfs/Baxter:/data:shared
ports:
- 7070:8080
- 7081:8081
restart: unless-stopped
security_opt:
- seccomp=unconfined
kavita:
image: kizaing/kavita:latest # Change latest to nightly for latest develop builds (can't go back to stable)
container_name: kavita
networks:
- netgrimoire
volumes:
- /data/nfs/Baxter/Comics:/comics:shared # Use as many as you want
# - ./books:/books #
- /DockerVol/Kavita/config:/kavita/config # Change './data if you want to have the config files in a different place.
# /kavita/config must not be changed
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
ports:
- "8054:5000" # Change the public port (the first 5000) if you have conflicts with other services
restart: unless-stopped

100
docker1/NG-Mgmt-Tools.yaml Executable file
View file

@ -0,0 +1,100 @@
version: "2.2"
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
hostname: phpmyadmin
networks:
- netgrimoire
ports:
- 8022:80
links:
- mysql:db
environment:
- PMA_ARBITRARY=1
- TZ=America/Chicago
- PGID=999
- PUID=1001
- MYSQL_ROOT_PASSWORD=F@lcon12
restart: unless-stopped
phppgadmin:
restart: always
image: dockage/phppgadmin:latest
networks:
- netgrimoire
ports:
- "8086:80"
- "9443:443"
environment:
- PHP_PG_ADMIN_SERVER_DESC=PostgreSQL
- PHP_PG_ADMIN_SERVER_HOST=
- PHP_PG_ADMIN_SERVER_PORT=5432
- PHP_PG_ADMIN_SERVER_SSL_MODE=allow
- PHP_PG_ADMIN_SERVER_DEFAULT_DB=template1
- PHP_PG_ADMIN_SERVER_PG_DUMP_PATH=/usr/bin/pg_dump
- PHP_PG_ADMIN_SERVER_PG_DUMPALL_PATH=/usr/bin/pg_dumpall
- PHP_PG_ADMIN_DEFAULT_LANG=auto
- PHP_PG_ADMIN_AUTO_COMPLETE=default on
- PHP_PG_ADMIN_EXTRA_LOGIN_SECURITY=false
- PHP_PG_ADMIN_OWNED_ONLY=false
- PHP_PG_ADMIN_SHOW_COMMENTS=true
- PHP_PG_ADMIN_SHOW_ADVANCED=false
- PHP_PG_ADMIN_SHOW_SYSTEM=false
- PHP_PG_ADMIN_MIN_PASSWORD_LENGTH=1
- PHP_PG_ADMIN_LEFT_WIDTH=200
- PHP_PG_ADMIN_THEME=default
- PHP_PG_ADMIN_SHOW_OIDS=false
- PHP_PG_ADMIN_MAX_ROWS=30
- PHP_PG_ADMIN_MAX_CHARS=50
- PHP_PG_ADMIN_USE_XHTML_STRICT=false
- PHP_PG_ADMIN_HELP_BASE=http://www.postgresql.org/docs/%s/interactive/
- PHP_PG_ADMIN_AJAX_REFRESH=3
portainer:
image: portainer/portainer-ce
container_name: portainer
hostname: portainer
# command: -H unix:///var/run/docker.sock
# command:
# --no-auth
networks:
- netgrimoire
restart: always
ports:
- 9000:9000
- 8000:8000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /DockerVol/portainer:/data
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
glances:
image: nicolargo/glances:latest-alpine
container_name: glances
hostname: glances
restart: always
pid: host
networks:
- netgrimoire
ports:
- 61208-61209:61208-61209
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- "GLANCES_OPT=-w"

85
docker1/NG-PlexSupport.yaml Executable file
View file

@ -0,0 +1,85 @@
version: "2.2"
services:
overseerr:
image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
volumes:
- /DockerVol/Overseer/config:/config
ports:
- 5055:5055
restart: unless-stopped
ombi:
image: linuxserver/ombi
container_name: ombi
hostname: ombi
networks:
- netgrimoire
ports:
- 3579:3579
volumes:
- /DockerVol/Ombi/config:/config
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
gaps:
image: housewrecker/gaps:latest
container_name: gaps
hostname: gaps
networks:
- netgrimoire
ports:
- 8484:8484
- 32400:32400
volumes:
- /DockerVol/gaps/data:/usr/data
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
jellyfin:
image: lscr.io/linuxserver/jellyfin
container_name: jellyfin
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
volumes:
- /DockerVol/Jellyfin/config:/config
- /data/nfs/Baxter:/data:shared
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp
- 1900:1900/udp
restart: unless-stopped
ersatz:
image: jasongdove/ersatztv
container_name: ersatz
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
volumes:
- /DockerVol/ersatz/config:/root/.local/share/ersatztv
- /data/nfs/Baxter:/data:shared
ports:
- 8409:8409
restart: unless-stopped

75
docker1/NG-RemoteAccess.yaml Executable file
View file

@ -0,0 +1,75 @@
version: "2.2"
services:
guacamole:
image: oznu/guacamole
container_name: guacamole
networks:
- netgrimoire
hostname: guacamole
volumes:
- /DockerVol/guac:/config
ports:
- 8087:8080
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
term:
image: freeflyer/wetty
container_name: terminal
hostname: terminal
networks:
- netgrimoire
ports:
- 3006:3000
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
firefox:
image: jlesage/firefox
container_name: firefox
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
volumes:
- /DockerVol/firefox:/config:rw
ports:
- 5910:5900
- 5800:5800
shm_size: "1gb"
restart: unless-stopped
webtop:
image: lscr.io/linuxserver/webtop:latest
container_name: webtop
security_opt:
- seccomp:unconfined #optional
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
# - SUBFOLDER=/ #optional
- TITLE=Webtop #optional
volumes:
- /DockerVol/Webtop/data:/config
- /var/run/docker.sock:/var/run/docker.sock #optional
ports:
- 3003:3000
- 3001:3001
devices:
- /dev/dri:/dev/dri #optional
shm_size: "1gb" #optional
restart: unless-stopped

View file

@ -0,0 +1,55 @@
version: "2.2"
services:
postgress:
image: postgres:15
container_name: postgress
hostname: postgress
volumes:
- /DockerVol/joplindb:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
networks:
- netgrimoire
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=joplin
- PUID=999
- PGID=1001
- TZ=America/Chicago
joplin:
container_name: joplin
hostname: joplin
#image: joplin/server:latest
image: joplin/server:2.9-beta
depends_on:
- postgress
ports:
- "22300:22300"
restart: unless-stopped
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
- APP_PORT=22300
- APP_BASE_URL=https://joplin.netgrimoire.com
- DB_CLIENT=pg
- POSTGRES_PASSWORD=postgres
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=postgres
- POSTGRES_PORT=5432
- POSTGRES_HOST=postgress
- MAILER_ENABLED=0
- MAILER_HOST=smtp.gmail.com
- MAILER_PORT=465
- MAILER_SECURE=0
- MAILER_AUTH_USER=youremail@gmail.com
- MAILER_AUTH_PASSWORD=Y0urP@ssw0rd
- MAILER_NOREPLY_NAME=Joplin
- MAILER_NOREPLY_EMAIL=email@email.com

120
docker1/NG-UserServices.yaml Executable file
View file

@ -0,0 +1,120 @@
version: "2.2"
# services:
# bitwarden:
# # image: bitwardenrs/server:latest
# image: vaultwarden/server:latest
# container_name: bitwarden
# hostname: bitwarden
# networks:
# - netgrimoire
# ports:
# - 8093:80
# volumes:
# - /DockerVol/bitwarden:/data
# environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
# restart: unless-stopped
freshrss:
image: lscr.io/linuxserver/freshrss:latest
container_name: freshrss
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
volumes:
- /DockerVol/Freshrss/config:/config
ports:
- 9096:80
restart: unless-stopped
linkding:
image: sissbruecker/linkding:1.13.0
container_name: linkding
networks:
- netgrimoire
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
volumes:
- /DockerVol/linkding/data:/etc/linkding/data:rw
ports:
- 9090:9090
restart: unless-stopped
dailytxt:
image: phitux/dailytxt:latest
container_name: dailytxt
hostname: dailytxt
networks:
- netgrimoire
restart: always
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
# That's the internal container-port. You can actually use any portnumber (must match with the one at 'ports')
- PORT=8765
# - SECRET_KEY=openssl rand -base64 32
- SECRET_KEY=jNMAxSUAIIP7IhkSKeIGo7c74+/gYFeQWFIdjrLHZTg=
# Set it to False or remove the line completely to disallow registration of new users.
- ALLOW_REGISTRATION=True
# Use this if you want the json log file to be indented. Makes it easier to compare the files. Otherwise just remove this line!
- DATA_INDENT=2
# Set after how many days the JWT token will expire and you have to re-login. Defaults to 30 days if line is ommited.
- JWT_EXP_DAYS=60
# Enable/disable a feature of DailyTxT to auto-check maximal once per hour if there's a newer version of DailyTxT available. Defaults to True if line is ommited.
- ENABLE_UPDATE_CHECK=True
ports:
- "8765:8765"
# perhaps you only want:
# "<host_port>:8765"
volumes:
- "/DockerVol/dailytxt/:/app/data/"
# Or perhaps if using on a windows enviroment:
# "C:/Users/example/dailytxt/:/app/data"
roundcube:
image: roundcube/roundcubemail:latest
container_name: roundcube
hostname: roundcube
networks:
- netgrimoire
# restart: unless-stopped
# depends_on:
# - roundcubedb
# links:
# - roundcubedb
volumes:
- /DockerVol/roundcube/www:/var/www/html
ports:
- 9019:80
environment:
- ROUNDCUBEMAIL_DB_TYPE=mysql
- ROUNDCUBEMAIL_DB_HOST=192.168.4.11
- ROUNDCUBEMAIL_DB_USER=docker
- ROUNDCUBEMAIL_DB_PASSWORD=docker
- ROUNDCUBEMAIL_DB_NAME=roundcube
- ROUNDCUBEMAIL_SKIN=elastic
- ROUNDCUBEMAIL_DEFAULT_HOST=tls://mail.pncharris.com
- ROUNDCUBEMAIL_SMTP_SERVER=tls://mail.pncharris.com
labels:
- flame.type=app # "app" works too
- flame.name=Roundcube
- flame.url=http://192.168.4.72:9019
- flame.category=Media # Optional, default is "Docker"
- flame.icon=ispy.png

0
docker1/NG-Utils.yaml Executable file
View file

51
docker1/NG-Vikunja.yaml Executable file
View file

@ -0,0 +1,51 @@
version: "3"
services:
todo:
container_name: todo
hostname: todo
image: vikunja/vikunja
environment:
VIKUNJA_SERVICE_PUBLICURL: https://todo.netgrimoire.com
VIKUNJA_DATABASE_HOST: vdb
VIKUNJA_DATABASE_PASSWORD: vikunja
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_JWTSECRET: vikunja
# PUID: 999
# PGID: 1001
TZ: America/Chicago
networks:
- netgrimoire
ports:
- 3456:3456
volumes:
- /DockerVol/vikunja/files:/app/vikunja/files
depends_on:
vdb:
condition: service_healthy
restart: unless-stopped
vdb:
image: mariadb:10
container_name: vdb
hostname: vdb
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: vikunja
MYSQL_USER: vikunja
MYSQL_PASSWORD: vikunja
MYSQL_DATABASE: vikunja
# PUID: 999
# PGID: 1001
TZ: America/Chicago
volumes:
- /DockerVol/vdb/db:/var/lib/mysql
networks:
- netgrimoire
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD"]
interval: 2s
start_period: 30s

46
docker1/NG-Whoogle.yaml Executable file
View file

@ -0,0 +1,46 @@
version: "2.4"
services:
whoogle-search:
image: ${WHOOGLE_IMAGE:-benbusby/whoogle-search}
container_name: whoogle-search
restart: unless-stopped
pids_limit: 50
mem_limit: 256mb
memswap_limit: 256mb
# user debian-tor from tor package
user: whoogle
security_opt:
- no-new-privileges
cap_drop:
- ALL
tmpfs:
- /config/:size=10M,uid=927,gid=927,mode=1700
- /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700
- /run/tor/:size=1M,uid=927,gid=927,mode=1700
#environment: # Uncomment to configure environment variables
# Basic auth configuration, uncomment to enable
#- WHOOGLE_USER=<auth username>
#- WHOOGLE_PASS=<auth password>
# Proxy configuration, uncomment to enable
#- WHOOGLE_PROXY_USER=<proxy username>
#- WHOOGLE_PROXY_PASS=<proxy password>
#- WHOOGLE_PROXY_TYPE=<proxy type (http|https|socks4|socks5)
#- WHOOGLE_PROXY_LOC=<proxy host/ip>
# Site alternative configurations, uncomment to enable
# Note: If not set, the feature will still be available
# with default values.
#- WHOOGLE_ALT_TW=farside.link/nitter
#- WHOOGLE_ALT_YT=farside.link/invidious
#- WHOOGLE_ALT_IG=farside.link/bibliogram/u
#- WHOOGLE_ALT_RD=farside.link/libreddit
#- WHOOGLE_ALT_MD=farside.link/scribe
#- WHOOGLE_ALT_TL=farside.link/lingva
#- WHOOGLE_ALT_IMG=farside.link/rimgo
#- WHOOGLE_ALT_WIKI=farside.link/wikiless
#- WHOOGLE_ALT_IMDB=farside.link/libremdb
#- WHOOGLE_ALT_QUORA=farside.link/quetre
#env_file: # Alternatively, load variables from whoogle.env
#- whoogle.env
ports:
- 5000:5000

3
docker1/README Executable file
View file

@ -0,0 +1,3 @@
Initial docker compose file for Docker1

37
docker1/arr to fix Executable file
View file

@ -0,0 +1,37 @@
sab
- /data/nfs/Baxter:/data:shared
- /DockerVol/sabnzbd/config:/config
readarr
- /data/nfs/Baxter/Books/readarr:/readarr:shared
- /data/nfs/Baxter/Books/Downloads:/data/Books/Downloads:shared
- /data/nfs/Baxter/Books/Sorted:/library:shared
lidarr
- /Dockervol/lidarr/config:/config
- /data/nfs/Baxter/Music/Downloads:/downloads:shared
- /data/nfs/Baxter/Music:/music:shared
radarr
- /DockerVol/Radarr:/config
- /data/nfs/Baxter/:/data :shared
whisparr
- /DockerVol/Whisparr:/config
- /data/nfs/Baxter/:/data :shared
mylar
- /DockerVol/mylar:/config
- /data/nfs/Baxter/Comics/Downloads:/downloads:shared
- /data/nfs/Baxter/Comics:/comics:shared
Sonarr
- /etc/localtime:/etc/localtime:ro
- /DockerVol/sonarr:/config
- /data/nfs/Baxter:/data:shared
- /DockerVol/sonarr/Downloads:/downloads
Bazarr
- /DockerVol/bazarr/config:/config
- /data/nfs/Baxter:/data:shared
Prowlarr

55
docker1/docker-compose.yaml Executable file
View file

@ -0,0 +1,55 @@
version: "2.2"
include:
- NG-arr.yaml
- NG-Downloaders.yaml
- NG-Media.yaml
- NG-Mgmt-Tools.yaml
- NG-PlexSupport.yaml
- NG-RemoteAccess.yaml
- NG-UserServices.yaml
- NG-Vikunja.yaml
- NG-UserServices-Joplin.yaml
#: - NG-Mailu.yaml
- NG-Whoogle.yaml
# - NG-Utils.yaml
services:
# vars are stored in .env.
#Database
mysql:
image: mysql:latest
container_name: mysql
hostname: mysql
ports:
- 3306:3306
volumes:
- /DockerVol/mysql/var/lib:/var/lib/mysql
networks:
- netgrimoire
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
- MYSQL_ROOT_PASSWORD=F@lcon12
- MYSQL_DATABASE=monica
- MYSQL_USER=homestead
- MYSQL_PASSWORD=secret
restart: unless-stopped
networks:
netgrimoire:
external: true

758
docker1/docker-compose.yaml.old Executable file
View file

@ -0,0 +1,758 @@
#sudo docker run -d --name=firefox -p 5810:5800 -p 5910:5900 -e DISPLAY_WIDTH=1920 -e DISPLAY_HEIGHT=1028 -e KEEP_APP_RUNNING=1 -v /docker/appdata/firefox:/config:rw --shm-size 2g jlesage/firefox
version: "2"
services:
#Database
mysql:
image: mysql:latest
container_name: mysql
hostname: mysql
ports:
- 3306:3306
volumes:
- /DockerVol/mysql/var/lib:/var/lib/mysql
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
- MYSQL_ROOT_PASSWORD=F@lcon12
- MYSQL_DATABASE=monica
- MYSQL_USER=homestead
- MYSQL_PASSWORD=secret
restart: unless-stopped
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
labels:
com.centurylinklabs.watchtower.enable: "true"
# gitea:
# image: gitea/gitea:latest
# container_name: gitea
# hostname: gitea
# environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
# - DB_TYPE=mysql
# - DB_HOST=db:3306
# - DB_NAME=gitea
# - DB_USER=gitea
# - DB_PASSWD=gitea
# links:
# - mysql:db
# restart: always
# volumes:
# - /DockerVol/gitea/data:/data
# - /etc/timezone:/etc/timezone:ro
# - /etc/localtime:/etc/localtime:ro
# ports:
# - "3000:3000"
# - "222:22"
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
# labels:
# com.centurylinklabs.watchtower.enable: "true"
# depends_on:
# - mysql
#Management
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
hostname: phpmyadmin
ports:
- 8022:80
links:
- mysql:db
environment:
- PMA_ARBITRARY=1
- TZ=America/Chicago
- PGID=999
- PUID=1001
- MYSQL_ROOT_PASSWORD=F@lcon12
restart: unless-stopped
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
labels:
com.centurylinklabs.watchtower.enable: "true"
monica:
image: monica
container_name: monica
hostname: monica
ports:
- 8084:80
links:
- mysql:db
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
- APP_KEY=enuZkwI2Nkik3MU1PlfEAzfV554qevka
- DB_HOST=db
volumes:
- /DockerVol/monica:/var/www/html/storage
restart: unless-stopped
tracks:
image: tracksapp/tracks:master
container_name: tracks
hostname: tracks
ports:
- 3000:3000
links:
- mysql:db
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
phpservermonitor:
image: quentinv/phpservermonitor:latest
container_name: phpservermonitor
hostname: phpservermonitor
ports:
- 8021:80
links:
- mysql:mysql
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
labels:
com.centurylinklabs.watchtower.enable: "true"
portainer:
image: portainer/portainer
container_name: portainer
hostname: portainer
# command: -H unix:///var/run/docker.sock
command:
--no-auth
restart: always
ports:
- 9000:9000
- 8000:8000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /DockerVol/portainer:/data
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
# logging:
#driver: gelf
#options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
watchtower:
image: containrrr/watchtower
container_name: watchtower
hostname: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
command: --schedule "0 0 6 * * *" --label-enable --cleanup
restart: unless-stopped
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
glances:
image: nicolargo/glances:latest-alpine
container_name: glances
hostname: glances
restart: always
pid: host
ports:
- 61208-61209:61208-61209
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- "GLANCES_OPT=-w"
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
webvirtmgr:
image: primiano/docker-webvirtmgr
container_name: webvirtmgr
hostname: webvirtmgr
ports:
- 6080:6080
- 8091:8080
volumes:
- /DockerVol/webvirt:/data/vm
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
term:
image: freeflyer/wetty
container_name: terminal
hostname: terminal
ports:
- 3006:3000
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
#Usenet
hydra2:
image: linuxserver/nzbhydra2:dev
container_name: hydra2
hostname: hydra2
volumes:
- /DockerVol/hydra2/config:/config
- /DockerVol/hydra2/downloads:/downloads
ports:
- 5076:5076
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
Sabnzbd:
image: linuxserver/sabnzbd
container_name: sabnzbd
hostname: sabnzbd
ports:
- 8080:8080
volumes:
- /data/nfs/Baxter:/data:shared
- /DockerVol/sabnzbd/config:/config
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
nzbget:
image: linuxserver/nzbget:latest
container_name: nzbget
hostname: nzbget
ports:
- "6789:6789"
volumes:
- /DockerVol/nzbget/config:/config
- /data/nfs/Baxter/Data/Usenet/downloads:/downloads
- /data/nfs/Baxter:/Baxter
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
# lazylibrarian:
# image: linuxserver/lazylibrarian:latest
# container_name: lazylibrarian
# hostname: lazylibrarian
#volumes:
# - /DockerVol/lazylibrarian/config:/config
# - /data/nfs/Baxter/Books/lazylibrarian/downloads/:/downloads
# - /data/nfs/Baxter/Books/lazylibrarian/library/:/books
#ports:
# - 5299:5299
#environment:
# - TZ=America/Chicago
# - PGID=999
# - PUID=1001
#labels:
# com.centurylinklabs.watchtower.enable: "true"
#restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
readarr:
image: linuxserver/readarr:nightly
container_name: readarr
environment:
- PUID=1001
- PGID=999
- TZ=America/Chicago
volumes:
- /DockerVol/readarr/config:/config
- /data/nfs/Baxter/Books/readarr/downloads:/data/downloads
- /data/nfs/Baxter/Books/readarr/library:/data/books
ports:
- 8787:8787
restart: unless-stopped
lidarr:
image: linuxserver/lidarr
container_name: lidarr
hostname: lidarr
ports:
- 8686:8686
volumes:
- /Dockervol/lidarr/config:/config
- /data/nfs/Baxter/Music/Downloads:/downloads
- /data/nfs/Baxter/Music:/music
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
radarr:
image: linuxserver/radarr
container_name: radarr
hostname: radarr
volumes:
- /DockerVol/Radarr:/config
- /data/nfs/Baxter/:/data
ports:
- 7878:7878
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
calibre-web:
# image: linuxserver/calibre-web
image: technosoft2000/calibre-web
container_name: calibre-web
hostname: calibre-web
volumes:
- /data/nfs/Baxter/Books/:/books
- /DockerVol/calibre-web/config:/calibre-web/config
- /DockerVol/calibre-web/app:/calibre-web/app
environment:
- USE_CONFIG_DIR=true
- TZ=America/Chicago
- PGID=999
- PUID=1001
# - DOCKER_MODS=linuxserver/calibre-web:calibre
ports:
- 8083:8083
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
guacamole:
image: oznu/guacamole
container_name: guacamole
hostname: guacamole
volumes:
- /DockerVol/guac:/config
ports:
- 8087:8080
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
mylar:
# image: linuxserver/mylar
image: ghcr.io/linuxserver/mylar3:nightly
container_name: mylar
hostname: mylar
volumes:
- /DockerVol/mylar:/config
- /data/nfs/Baxter/Comics/Downloads:/downloads
- /data/nfs/Baxter/Comics:/comics
ports:
- 8090:8090
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
sonarr:
image: linuxserver/sonarr:latest
container_name: sonarr
hostname: sonarr
volumes:
- /etc/localtime:/etc/localtime:ro
- /DockerVol/sonarr:/config
- /data/nfs/Baxter:/data
- /DockerVol/sonarr/Downloads:/downloads
ports:
- 8989:8989
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
#library
tinymediamanager_service:
image: romancin/tinymediamanager:latest
container_name: tinymediamanager
ports:
- "5803:5800"
environment:
- USER_ID=1001
- GROUP_ID=99
- TZ=America/Chicago
- VNC_PASSWORD=F@lcon12
volumes:
- "/DockerVol/tinymediamanager:/config:rw"
- "/data/nfs/Baxter:/media:rw"
ampache:
image: jgoerzen/ampache
container_name: ampache
hostname: ampache
links:
- mysql:db
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /data/nfs/Baxter/Music:/music:ro
- /DockerVol/ampache/playlist:/playlists
#- /DockerVol/ampache/config:/var/www/html/ampache/config
- /DockerVol/ampache/config:/var/www/config
ports:
- 8097:80
- 6443:443
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
stop_signal: SIGRTMIN+3
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
tmpfs:
- /run:size=100M
- /run/lock:size=100M
#logging:
#driver: gelf
#options:
#gelf-address: udp://graylog.home.pnclocal.com:12201
gaps:
image: housewrecker/gaps:latest
container_name: gaps
hostname: gaps
ports:
- 8484:8484
- 32400:32400
volumes:
- /DockerVol/gaps/data:/usr/data
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
ombi:
image: linuxserver/ombi
container_name: ombi
hostname: ombi
ports:
- 3579:3579
volumes:
- /DockerVol/Ombi/config:/config
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
ubooquity:
image: linuxserver/ubooquity
container_name: ubooquity
hostname: ubooquity
ports:
- 8085:2202
- 8086:2203
volumes:
- /DockerVol/ubooquity/config:/config
- /data/nfs/Baxter/Comics:/comics
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
komga:
image: gotson/komga
container_name: komga
volumes:
- /DockerVol/komga:/config
- /data/nfs/Baxter/Comics:/books
ports:
- 8094:8080
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
bitwarden:
image: bitwardenrs/server:latest
container_name: bitwarden
hostname: bitwarden
ports:
- 8093:80
volumes:
- /DockerVol/bitwarden:/data
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
restart: unless-stopped
musicbrainz:
image: linuxserver/musicbrainz
container_name: musicbrainz
hostname: musicbrainz
ports:
- 5000:5000
volumes:
- /DockerVol/musicbrainz/config:/config
- /DockerVol/musicbrainz/data:/data
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
# - WEBADDRESS=musicbrainz.wasted-bandwidth.net -e BRAINZCODE=y4R2BAw2kpZLq1egHmH4uBtlim1iPYjbT3YZ7TJQ -e MUSICBRAINZ_USE_PROXY=1
- WEBADDRESS=192.168.4.72
- BRAINZCODE=y4R2BAw2kpZLq1egHmH4uBtlim1iPYjbT3YZ7TJQ
- MUSICBRAINZ_USE_PROXY=1
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
#logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
Calibre:
image: linuxserver/calibre
container_name: calibre
hostname: calibre
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
volumes:
- /DockerVol/Calibre/Config:/config
- /data/nfs/Baxter:/data
ports:
- 7070:8080
- 7081:8081
restart: unless-stopped
labels:
com.centurylinklabs.watchtower.enable: "true"
#logging:
# driver: gelf
#options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
beets:
image: linuxserver/beets
container_name: beets
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- /path/to/appdata/config:/config
- /path/to/music/library:/music
- /path/to/ingest:/downloads
ports:
- 8337:8337
restart: unless-stopped
labels:
com.centurylinklabs.watchtower.enable: "true"
#logging:
#driver: gelf
#options:
# gelf-address: udp://graylog.home.pnclocal.com:12201
phpipam-web:
image: phpipam/phpipam-www:latest
links:
- mysql:db
ports:
- "8094:80"
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
- IPAM_DATABASE_HOST=db
- IPAM_DATABASE_USER=ipam
- IPAM_DATABASE_PASS=ipam
- IPAM_DATABASE_NAME=ipam
restart: unless-stopped
volumes:
- /DockerVol/phpipam/phpipam-logo:/phpipam/css/images/logo
phpipam-cron:
image: phpipam/phpipam-cron:latest
links:
- mysql:db
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
- IPAM_DATABASE_HOST=db
- IPAM_DATABASE_USER=ipam
- IPAM_DATABASE_PASS=ipam
- IPAM_DATABASE_NAME=ipam
restart: unless-stopped
volumes:
- /DockerVol/phpipam/phpipam-logo:/phpipam/css/images/logo
freshrss:
image: ghcr.io/linuxserver/freshrss
container_name: freshrss
environment:
- PUID=999
- PGID=1001
- TZ=America/Chicago
volumes:
- /DockerVol/Freshrss/config:/config
ports:
- 8096:80
restart: unless-stopped

16
docker2/.env Executable file
View file

@ -0,0 +1,16 @@
# You MUST set a secret to secure/pepper the stored user passwords here. Use at least 64 characters.
# Generate one by using for example: pwgen -N 1 -s 96
# ATTENTION: This value must be the same on all Graylog nodes in the cluster.
# Changing this value after installation will render all user sessions and encrypted values in the database invalid. (e.g. encrypted access tokens)
GRAYLOG_PASSWORD_SECRET="TZ3XajhzIBugTl61oNNgrWL0OHTn4qYcNAuzTTHWRKYxxWf61oAEpHOpesLoP7ssgqBTuainTBX6YIVAcYs2de2jhPHQBYD5"
# You MUST specify a hash password for the root user (which you only need to initially set up the
# system and in case you lose connectivity to your authentication backend)
# This password cannot be changed using the API or via the web interface. If you need to change it,
# modify it in this file.
# Create one by using for example: echo -n yourpassword | shasum -a 256
# and put the resulting hash value into the following line
# CHANGE THIS!
GRAYLOG_ROOT_PASSWORD_SHA2="1b12de7f4069972e784d42dbe826c0769f1287412cd35479de127fcf816699dc"
PG_PASS=KzxbC4hiuEFAuACIijO8EGWa8YvO901BXmh39wBhS5pQv3XV
AUTHENTIK_SECRET_KEY=g8JIvopgkcpIeRUKgfT5KwHFUwGNBFobwhHMHx08wPTJTtAlmqllAwmr6u4jk+ng8O1gbV/gwZnYylMn

124
docker2/NG-Archives.yaml Executable file
View file

@ -0,0 +1,124 @@
# flame:
# image: pawelmalak/flame
# container_name: flame
# volumes:
# - /DockerVol/Flame:/app/data
# - /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration
# ports:
# - "8200:5005"
# environment:
# - PASSWORD=p4ssw0rd
# restart: unless-stoppedasdasdfasdfasdf
# qbittorrent:
# container_name: qbittorrent
# image: managah/qbittorrent-pia:latest
# cap_add:
# - net_admin
# devices:
# - /dev/net/tun
# dns:
# - 8.8.8.8
# environment:
# - PIA_USER: p1016182
# - PIA_PASS: F@lcon12
# - PIA_DNS: false
# - LAN_CIDR: 192.168.5.0/24
# - TZ: America/Chicago
# - PGID: 998
# - PUID: 1001
# volumes:
# - /DockerVol/qbittorrent/config:/config
# - /DockerVol/qtbittorent/downloads:/downloads
# - /DockerVol/qbittorrent:/torrents
# ports:
# - "9999:9999"
# xbvr:
# container_name: xbvr
# image: ghcr.io/xbapps/xbvr:latest
# environment:
# - TZ=America/Chicago
# - PGID=998
# - PUID=1001
# volumes:
# - /data/nfs/Baxter/Data/Usenet/downloads/completed:/videos
# - /DockerVol/xbvr/config:/root/.config
# network_mode: "host"
# openldap:
# image: osixia/openldap:1.5.0
# container_name: openldap
# environment:
# LDAP_LOG_LEVEL: "256"
# LDAP_ORGANISATION: "local.pncharris.com."
# LDAP_DOMAIN: "local.pncharris.com"
# LDAP_BASE_DN: ""
# LDAP_ADMIN_PASSWORD: "F@lcon13"
# LDAP_CONFIG_PASSWORD: "config"
# LDAP_READONLY_USER: "true"
# LDAP_READONLY_USER_USERNAME: "ldapread"
# LDAP_READONLY_USER_PASSWORD: "ldapread"
# LDAP_RFC2307BIS_SCHEMA: "false"
# LDAP_BACKEND: "mdb"
# LDAP_TLS: "true"
# LDAP_TLS_CRT_FILENAME: "ldap.crt"
# LDAP_TLS_KEY_FILENAME: "ldap.key"
# LDAP_TLS_CA_CRT_FILENAME: "ca.crt"
# LDAP_TLS_ENFORCE: "false"
# LDAP_TLS_CIPHER_SUITE: "SECURE256:-VERS-SSL3.0"
# LDAP_TLS_PROTOCOL_MIN: "3.1"
# LDAP_TLS_VERIFY_CLIENT: "demand"
# LDAP_REPLICATION: "false"
# #LDAP_REPLICATION_CONFIG_SYNCPROV: "binddn="cn=admin,cn=config" bindmethod=simple credentials=$LDAP_CONFIG_PASSWORD searchbase="cn=config" type=refreshAndPersist retry="60 +" timeout=1 starttls=critical"
# #LDAP_REPLICATION_DB_SYNCPROV: "binddn="cn=admin,$LDAP_BASE_DN" bindmethod=simple credentials=$LDAP_ADMIN_PASSWORD searchbase="$LDAP_BASE_DN" type=refreshAndPersist interval=00:00:00:10 retry="60 +" timeout=1 starttls=critical"
# #docker-compose.ymlLDAP_REPLICATION_HOSTS: "#PYTHON2BASH:['ldap://ldap.example.org','ldap://ldap2.example.org']"
# KEEP_EXISTING_CONFIG: "false"
# LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
# LDAP_SSL_HELPER_PREFIX: "ldap"
# tty: true
# stdin_open: true
# volumes:
# - /DockerVol/openldap/var/lib/ldap:/var/lib/ldap
# - /DockerVol/openldap/etc/ldap/slapd.d:/etc/ldap/slapd.d
# - /DockerVol/openldap/container/service/slapd/assets/certs:/container/service/slapd/assets/certs/
# ports:
# - "389:389"
# - "636:636"
# domainname: "local.pncharris.com" # important: same as hostname
# hostname: "local.pncharris.com"
# watchyourlan:
# image: aceberg/watchyourlan
# container_name: watchyourlan
# hostname: watchyourlan
# volumes:
# - /DockerVol/watchyourlan:/data
# environment:
# - TZ=America/Chicago
# - PGID=998
# - PUID=1001
# - IFACE=br0
# network_mode: "host"
Heimdall:
image: linuxserver/heimdall
container_name: heimdall
hostname: heimdall
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
volumes:
- /DockerVol/Heimdall/config:/config
ports:
- 8101:80
- 8102:443
restart: unless-stopped
# logging:
# driver: gelf
# options:
# gelf-address: udp://graylog.home.pnclocal.com:12201

29
docker2/NG-Downloaders.yaml Executable file
View file

@ -0,0 +1,29 @@
version: "3"
services:
transmission-openvpn:
image: haugene/transmission-openvpn
container_name: transmission
hostname: transmission
cap_add:
- NET_ADMIN
volumes:
- /DockerVol/OpenVPN/data/:/data
- /DockerVol/OpenVPN/config/:/config
environment:
- OPENVPN_PROVIDER=PIA
- OPENVPN_CONFIG=france
- OPENVPN_USERNAME=p1016182
- OPENVPN_PASSWORD=F@lcon12
- LOCAL_NETWORK=192.168.0.0/16
- TZ=America/Chicago
- PGID=998
- PUID=1001
# logging:
# - driver: json-file
# - options:
# max-size: 10m
networks:
- netgrimoire
ports:
- '9091:9091'

30
docker2/NG-Flame.yaml Executable file
View file

@ -0,0 +1,30 @@
services:
flame:
image: ghcr.io/fdarveau/flame:latest
container_name: flame
volumes:
- /DockerVol/Flame:/app/data
- /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration
networks:
- netgrimoire
ports:
- 5005:5005
environment:
PASSWORD: F@lcon13
PUID: 999
PGID: 1001001
TZ: America/Chicago
# - PASSWORD_FILE=/run/secrets/password # optional but required for (1)
deploy:
placement:
constraints:
- node.hostname == docker2
labels:
- flame.type="dashboard"
restart: unless-stopped
networks:
netgrimoire:
external: true

38
docker2/NG-Logging.yaml Executable file
View file

@ -0,0 +1,38 @@
version: "3"
services:
loki:
container_name: loki
image: grafana/loki:latest
ports:
- "3100:3100"
volumes:
- /DockerVol/Loki:/mnt-config
command:
-config.file=/mnt-config/loki-config.yaml
# networks:
# - loki
networks:
- netgrimoire
promtail:
container_name: promtail
image: grafana/promtail:latest
volumes:
- /var/log:/var/log
- /DockerVol/promtail/mnt/config:/mnt/config
command:
-config.file=/mnt/config/promtail-config.yaml
# networks:
# - loki
networks:
- netgrimoire
grafana:
container_name: grafana
image: grafana/grafana:latest
ports:
- 3110:3000
networks:
- netgrimoire
# networks:
# - loki

95
docker2/NG-Mgmt-Tools.yaml.bak Executable file
View file

@ -0,0 +1,95 @@
version: "2.2"
services:
# swag:
# image: ghcr.io/linuxserver/swag
# container_name: swag
# cap_add:
# - NET_ADMIN
# networks:
# - netgrimoire
# environment:
# - TZ=America/Chicago
# - PGID=998
# - PUID=1001
# - URL=wasted-bandwidth.net
# - SUBDOMAINS=alternate
# - VALIDATION=http
# - EMAIL=phil@pncharris.com
# # - STAGING=true
# - EXTRA_DOMAINS=roundcube.wasted-bandwidth.net,cliff.netgrimoire.com
# #,roundcube.pncharris.com,books.pncharris.com,webmail.pncharris.com,comics.netgrimoire.com
# volumes:
# - /DockerVol/swag/config:/config
# ports:
# - 443:443
# - 80:80
# restart: unless-stopped
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: npm
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
networks:
- netgrimoire
# 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:
- /DockerVol/npm/data:/data
- /DockerVol/npm/letsencrypt:/etc/letsencrypt
# openldap:
# image: bitnami/openldap
# container_name: openldap
# environment:
# LDAP_ROOT: "dc=pncharris,dc=com"
# LDAP_PORT_NUMBER: 389
# TZ: "America/Chicago"
# PGID: 998
# PUID: 1001
# volumes:
# - /DockerVol/openldap2:/bitname/openldap
# networks:
# - netgrimoire
# ports:
# - "389:389"
# # test
# phpldapadmin:
# image: osixia/phpldapadmin:latest
# container_name: phpldapadmin
# environment:
# PHPLDAPADMIN_LDAP_HOSTS: "openldap"
# PHPLDAPADMIN_HTTPS: "false"
# ports:
# - "8085:80"
# depends_on:
# - openldap
# networks:
# - netgrimoire

44
docker2/NG-Mgmt.yaml Executable file
View file

@ -0,0 +1,44 @@
services:
lldap:
image: lldap/lldap:stable
ports:
# For LDAP, not recommended to expose, see Usage section.
#- "3890:3890"
# For LDAPS (LDAP Over SSL), enable port if LLDAP_LDAPS_OPTIONS__ENABLED set true, look env below
#- "6360:6360"
# For the web front-end
- "17170:17170"
volumes:
- "/data/nfs/Baxter/Docker/lldap:/data"
# Alternatively, you can mount a local folder
# - "./lldap_data:/data"
networks:
- netgrimoire
environment:
- TZ=America/Chicago
- PGID=1001
- PUID=999
- UMASK=002
- LLDAP_JWT_SECRET=F@lcon13
- LLDAP_KEY_SEED=1qaz@WSX1qaz@WSX
- LLDAP_LDAP_BASE_DN=dc=pncharris,dc=com
# If using LDAPS, set enabled true and configure cert and key path
# - LLDAP_LDAPS_OPTIONS__ENABLED=true
# - LLDAP_LDAPS_OPTIONS__CERT_FILE=/path/to/certfile.crt
# - LLDAP_LDAPS_OPTIONS__KEY_FILE=/path/to/keyfile.key
# You can also set a different database:
# - LLDAP_DATABASE_URL=mysql://mysql-user:password@mysql-server/my-database
# - LLDAP_DATABASE_URL=postgres://postgres-user:password@postgres-server/my-database
deploy:
labels:
- homepage.group=Management
- homepage.name=LLDAP
- homepage.icon=lldap.png
- homepage.href=http://auth.netgrimoire.com
- homepage.description=Account Manager
- caddy=auth.netgrimoire.com
- caddy.reverse_proxy="{{upstreams 17170}}"
networks:
netgrimoire:
external: true

29
docker2/NG-Monitoring.yaml Executable file
View file

@ -0,0 +1,29 @@
services:
kuma:
image: louislam/uptime-kuma:1
restart: always
hostname: kuma
container_name: kuma
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
- UMASK-002
ports:
- 3001:3001
networks:
- netgrimoire
volumes:
- /data/nfs/Baxter/Docker/kuma:/app/data
labels:
- homepage.group=Monitoring
- homepage.name=Kuma Uptime
- homepage.icon=kuma.png
- homepage.href=http://kuma.netgrimoire.com
- homepage.description=Services Monitor
- caddy=kuma.netgrimoire.com
- caddy.reverse_proxy="{{upstreams 3001}}"
networks:
netgrimoire:
external: true

33
docker2/NG-NMAP.yaml Executable file
View file

@ -0,0 +1,33 @@
version: "3"
services:
nmap:
image: instrumentisto/nmap
container_name: nmap
command: -sT -A -T3 -oX tmp/myscan.xml 192.168.0.0/22
cap_add:
- NET_ADMIN
volumes:
- /DockerVol/webmap:/tmp
network_mode: host
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
webmap:
container_name: webmap
hostname: webmap
ports:
- '8001:8000'
volumes:
- /DockerVol/webmap:/opt/xml
image: reborntc/webmap
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
networks:
- netgrimoire
restart: unless-stopped

26
docker2/NG-PNCFishWeb.yaml Executable file
View file

@ -0,0 +1,26 @@
version: "3"
services:
web:
image: nginx:latest
container_name: web
hostname: web
ports:
- "8090:80"
volumes:
- /DockerVol/nginx/nginx.conf:/etc/nginx/conf.d/nginx.conf
- /DockerVol/nginx/app:/app
networks:
- netgrimoire
php:
build:
context: .
dockerfile: PHP.Dockerfile
container_name: php
hostname: php
environment:
- SQUARE_ACCESS_TOKEN=EAAAEL7IiBLzyp94hSovsq65Lk1fdD5vDS0515edlF1_OBEePIbz-X9RxGgRZf7n
volumes:
- /DockerVol/nginx/app:/app
networks:
- netgrimoire

18
docker2/NG-PlexSupport.yaml Executable file
View file

@ -0,0 +1,18 @@
version: "3"
services:
tautulli:
image: ghcr.io/tautulli/tautulli
container_name: tautulli
restart: unless-stopped
volumes:
- /DockerVol/tautulli:/config
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
networks:
- netgrimoire
ports:
- 8181:8181

34
docker2/NG-Tautulli.yaml Executable file
View file

@ -0,0 +1,34 @@
services:
tautulli:
image: ghcr.io/tautulli/tautulli
container_name: tautulli
restart: unless-stopped
volumes:
- /DockerVol/tautulli:/config
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
networks:
- netgrimoire
ports:
- 8181:8181
deploy:
placement:
constraints:
- node.hostname == docker2
labels:
# - flame.type=application # "app" works too
# - flame.name=Fancy
# - flame.url=https://192.168.5.17:9000
# - flame.category=Productivity # Optional, default is "Docker"
# # - flame.icon=vscode
- homepage.group: Media
- homepage.name: Emby
- homepage.icon: emby.png
- homepage.href: http://emby.home/
- homepage.description: Media server
networks:
netgrimoire:
external: true

119
docker2/NG-UserServices.yaml Executable file
View file

@ -0,0 +1,119 @@
version: "3"
gogs:
image: gogs/gogs
restart: always
hostname: gogs
container_name: gogs
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
ports:
- 8491:3000
- "8022:22"
links:
- mysql2:db
networks:
- netgrimoire
volumes:
- /DockerVol/gogs/data:/data
labels:
- flame.type=Productivity # "app" works too
- flame.name=Gogs
- flame.url=https://git.netgrimoire.com
# - flame.icon=icon-name # optional, default is "docker"
# - flame.icon=custom to make changes in app. ie: custom icon upload
# logging:
# driver: loki
# options:
# loki-url: "http://192.168.5.17:3100/loki/api/v1/push"
code-server:
image: ghcr.io/linuxserver/code-server
container_name: code-server
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
#- PASSWORD=password F@lcon12
# - HASHED_PASSWORD= #optional
# - SUDO_PASSWORD=password #optional
# - SUDO_PASSWORD_HASH= #optional
- PROXY_DOMAIN=code.netgrimore.com #optional
volumes:
- /DockerVol/Code/config:/config
- /data:/Data
ports:
- 8443:8443
restart: unless-stopped
networks:
- netgrimoire
labels:
- flame.type=app # "app" works too
- flame.name=Code Server
- flame.url=https://code.netgrimoire.com
- flame.category=Productivity # Optional, default is "Docker"
- flame.icon=vscode
# - flame.order=1 # Optional, default is 500; lower number is first
# - flame.icon=icon-name # optional, default is "docker"
# - flame.icon=custom to make changes in app. ie: custom icon upload
mkdocs:
image: minidocks/mkdocs
container_name: mkdocs
command: serve -a 0.0.0.0:8000 -t material
networks:
- netgrimoire
volumes:
- /DockerVol/mkdocs/app:/app
ports:
- 8087:8000
working_dir: /app/doc
cura:
image: lscr.io/linuxserver/cura:latest
container_name: cura
security_opt:
- seccomp:unconfined #optional
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
volumes:
- /DockerVol/cura/config:/config
- /data/nfs/Baxter/Common/3d:/config/3d
ports:
- 3005:3000
- 3006:3001
restart: unless-stopped
calibre-web-automated:
image: crocodilestick/calibre-web-automated:latest
container_name: calibre-web-automated
environment:
- TZ=America/Chicago
- PGID=998
- PUID=1001
- DOCKER_MODS=linuxserver/mods:universal-calibre
volumes:
#- /path/to/the/folder/you/want/to/use/for/book/ingest:/cwa-book-ingest
#- /path/to/your/calibre/library:/calibre-library
- /data/nfs/Baxter/Books//library/Netgrimoire:/calibre-library:shared
- /DockerVol/calibre-web/config:/config
#- /path/to/where/you/keep/your/books:/books #Optional
#- /path/to/your/gmail/credentials.json:/app/calibre-web/gmail.json #Optional
ports:
- 8084:8083 # Change the first number to change the port you want to access the Web UI, not the second
networks:
- netgrimoire
restart: unless-stopped

161
docker2/NG-Webapps.yaml Executable file
View file

@ -0,0 +1,161 @@
services:
photoprism:
image: photoprism/photoprism
container_name: photoprism
hostname: photoprism
networks:
- netgrimoire
ports:
- 2342:2342
environment:
- PHOTOPRISM_PUBLIC=true
- PHOTOPRISM_UPLOAD_NSFW=true
- PHOTOPRISM_ADMIN_PASSWORD=F@lcon12
- PUID=998
- PGID=1001
- UMASK=002
volumes:
- /DockerVol/photoprism:/photoprism/storage
- /DockerVol/photoprism/photos:/photoprism/originals
- /srv/ssd1/NextCloud/traveler/files/Photos:/photoprism/originals/Phil
- /srv/ssd1/NextCloud/traveler/files/InstantUpload:/photoprism/originals/Phil/Upload
- /srv/ssd1/NextCloud/cindy/files/300 Saltwater Tank Pics:/photoprism/originals/Cindy/tanks
- /srv/ssd1/NextCloud/cindy/files/Photos:/photoprism/originals/Cindy/Upload
- /export/Photos:/photoprism/photos
deploy:
placement:
constraints:
- node.hostname == nas
labels:
- homepage.group=Application
- homepage.name=Photoprism
- homepage.icon=photoprism.png
- homepage.href=http://photos.pncharris.com
- homepage.description=Photo Manager
# - caddy=photos.pncharris.com
# - caddy.reverse_proxy="{{upstreams http 2342}}"
whoogle:
image: ${WHOOGLE_IMAGE:-benbusby/whoogle-search}
container_name: whoogle-search
restart: unless-stopped
# user debian-tor from tor package
user: whoogle
networks:
- netgrimoire
security_opt:
- no-new-privileges
cap_drop:
- ALL
tmpfs:
- /config/:size=10M,uid=927,gid=927,mode=1700
- /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700
- /run/tor/:size=1M,uid=927,gid=927,mode=1700
environment: # Uncomment to configure environment variables
- PUID=998
- PGID=1001
- UMASK=002
# Basic auth configuration, uncomment to enable
#- WHOOGLE_USER=<auth username>
#- WHOOGLE_PASS=<auth password>
# Proxy configuration, uncomment to enable
#- WHOOGLE_PROXY_USER=<proxy username>
#- WHOOGLE_PROXY_PASS=<proxy password>
#- WHOOGLE_PROXY_TYPE=<proxy type (http|https|socks4|socks5)
#- WHOOGLE_PROXY_LOC=<proxy host/ip>
# Site alternative configurations, uncomment to enable
# Note: If not set, the feature will still be available
# with default values.
#- WHOOGLE_ALT_TW=farside.link/nitter
#- WHOOGLE_ALT_YT=farside.link/invidious
#- WHOOGLE_ALT_IG=farside.link/bibliogram/u
#- WHOOGLE_ALT_RD=farside.link/libreddit
#- WHOOGLE_ALT_MD=farside.link/scribe
#- WHOOGLE_ALT_TL=farside.link/lingva
#- WHOOGLE_ALT_IMG=farside.link/rimgo
#- WHOOGLE_ALT_WIKI=farside.link/wikiless
#- WHOOGLE_ALT_IMDB=farside.link/libremdb
#- WHOOGLE_ALT_QUORA=farside.link/quetre
#env_file: # Alternatively, load variables from whoogle.env
#- whoogle.env
ports:
- 5009:5000
deploy:
labels:
- homepage.group=Application
- homepage.name=whoogle
- homepage.icon=whoogle.png
- homepage.href=https://whoogle.netgrimoire.com
- homepage.description=Private Google
- caddy=whoogle.netgrimoire.com
- caddy.basic_auth="/ fred $$2a$$12$$LKNwfcunfUBBXvb06wqquelEYZYCQyJcV0Ym4JpkXK3ITHywx6mWm"
- caddy.reverse_proxy="{{upstreams 5000}}"
resources:
limits:
memory: 256M
# memswap: 256M
pids: 50
gogs:
image: gogs/gogs
restart: always
hostname: gogs
container_name: gogs
environment:
- TZ=America/Chicago
- PUID=998
- PGID=1001
- UMASK=002
ports:
- 8491:3000
- "8022:22"
links:
- mysql2:db
networks:
- netgrimoire
volumes:
- /data/nfs/Baxter/Docker/gogs:/data
deploy:
labels:
- homepage.group=Application
- homepage.name=Git
- homepage.icon=gogs.png
- homepage.href=http://git.netgrimoire.com
- homepage.description=Private Git Repository
- caddy=git.netgrimoire.com
- caddy.reverse_proxy="{{upstreams 3000}}"
mealie:
container_name: mealie
image: ghcr.io/mealie-recipes/mealie:latest
restart: always
ports:
- 9925:9000
environment:
PUID: 999
PGID: 1001
TZ: America/Chicago
ALLOW_SIGNUP: "true"
MAX_WORKERS: 1
WEB_CONCURRENCY: 1
networks:
- netgrimoire
deploy:
labels:
- homepage.group=Media
- homepage.name=Mealie
- homepage.icon=mealie.png
- homepage.href=http://Recipe.netgrimoire.com
- homepage.description=Recipe Manager
- caddy=recipe.netgrimoire.com
- caddy.reverse_proxy="{{upstreams 9000}}"
volumes:
- /data/nfs/Baxter/Docker/mealie:/app/data
networks:
netgrimoire:
external: true

120
docker2/NG-graylog.yaml Executable file
View file

@ -0,0 +1,120 @@
services:
# MongoDB: https://hub.docker.com/_/mongo/
mongodb:
container_name: graylog-mongo
image: mongo:5.0
volumes:
- /DockerVol/Graylog/Mongo/data/db:/data/db
networks:
- netgrimoire
environment:
- PGID=998
- PUID=1001
- UMASK=002
deploy:
placement:
constraints:
- node.hostname == docker2
datanode:
container_name: graylog-datanode
image: "${DATANODE_IMAGE:-graylog/graylog-datanode:6.0}"
hostname: "datanode"
environment:
GRAYLOG_DATANODE_NODE_ID_FILE: "/var/lib/graylog-datanode/node-id"
GRAYLOG_DATANODE_PASSWORD_SECRET: "${GRAYLOG_PASSWORD_SECRET:?Please configure GRAYLOG_PASSWORD_SECRET in the .env file}"
GRAYLOG_DATANODE_ROOT_PASSWORD_SHA2: "${GRAYLOG_ROOT_PASSWORD_SHA2:?Please configure GRAYLOG_ROOT_PASSWORD_SHA2 in the .env file}"
GRAYLOG_DATANODE_MONGODB_URI: "mongodb://mongodb:27017/graylog"
PGID: 998
PUID: 1001
UMASK: 002
ulimits:
memlock:
hard: -1
soft: -1
nofile:
soft: 65536
hard: 65536
ports:
- "8999:8999/tcp" # DataNode API
- "9200:9200/tcp"
- "9300:9300/tcp"
volumes:
- /DockerVol/Graylog/datanode:/var/lib/graylog-datanode"
networks:
- netgrimoire
deploy:
placement:
constraints:
- node.hostname == docker2
graylog:
container_name: graylog
hostname: "server"
image: "${GRAYLOG_IMAGE:-graylog/graylog:6.0}"
depends_on:
mongodb:
condition: "service_started"
entrypoint: "/usr/bin/tini -- /docker-entrypoint.sh"
environment:
GRAYLOG_NODE_ID_FILE: "/usr/share/graylog/data/data/node-id"
GRAYLOG_PASSWORD_SECRET: "${GRAYLOG_PASSWORD_SECRET:?Please configure GRAYLOG_PASSWORD_SECRET in the .env file}"
GRAYLOG_ROOT_PASSWORD_SHA2: "${GRAYLOG_ROOT_PASSWORD_SHA2:?Please configure GRAYLOG_ROOT_PASSWORD_SHA2 in the .env file}"
GRAYLOG_HTTP_BIND_ADDRESS: "0.0.0.0:9000"
GRAYLOG_HTTP_EXTERNAL_URI: "http://localhost:9000/"
GRAYLOG_MONGODB_URI: "mongodb://mongodb:27017/graylog"
PGID: 998
PUID: 1001
UMASK: 002
ports:
- "5044:5044/tcp" # Beats
- "5140:5140/udp" # Syslog
- "5140:5140/tcp" # Syslog
- "5555:5555/tcp" # RAW TCP
- "5555:5555/udp" # RAW UDP
- "9000:9000/tcp" # Server API
- "12201:12201/tcp" # GELF TCP
- "12201:12201/udp" # GELF UDP
#- "10000:10000/tcp" # Custom TCP port
#- "10000:10000/udp" # Custom UDP port
- "13301:13301/tcp" # Forwarder data
- "13302:13302/tcp" # Forwarder config
volumes:
- "/DockerVol/Graylog/graylog_data:/usr/share/graylog/data/data"
- "/DockerVol/Graylog/graylog_journal:/usr/share/graylog/data/journal"
networks:
- netgrimoire
deploy:
labels:
- homepage.group=Monitoring
- homepage.name=Graylog
- homepage.icon=graylog.png
- homepage.href=http://192.168.5.12:9000
- homepage.description=Logging Server
- caddy=git.netgrimoire.com
- caddy.reverse_proxy="{{upstreams 9000}}"
placement:
constraints:
- node.hostname == docker2
volumes:
mongodb_data:
graylog-datanode:
graylog_data:
graylog_journal:
networks:
netgrimoire:
external: true

10
docker2/PHP.Dockerfile Executable file
View file

@ -0,0 +1,10 @@
FROM php:fpm
RUN docker-php-ext-install pdo pdo_mysql
RUN apt update
RUN apt-get install -y git
RUN apt-get install -y unzip
RUN curl -o install https://getcomposer.org/installer
RUN php install
# RUN mv composer.phar /usr/local/bin/composer
# RUN php composer.phar require square/square

2
docker2/README Executable file
View file

@ -0,0 +1,2 @@
initial upload
Another Test

0
docker2/README.md Executable file
View file

43
docker2/docker-compose.yaml Executable file
View file

@ -0,0 +1,43 @@
include:
# - NG-Downloaders.yaml
# - NG-Logging.yaml
# - NG-Mgmt-Tools.yaml
# - NG-PlexSupport.yaml
# - NG-PNCFishWeb.yaml
- NG-UserServices.yaml
# - NG-Mealie.yaml
# - NG-graylog.yaml
services:
mysql2:
image: mysql:latest
container_name: mysql2
hostname: mysql2
ports:
- 3306:3306
volumes:
- /DockerVol/mysql2/var/lib:/var/lib/mysql
networks:
- netgrimoire
environment:
- TZ=America/Chicago
- PGID=999
- PUID=1001
- MYSQL_ROOT_PASSWORD=F@lcon12
- MYSQL_DATABASE=monica
- MYSQL_USER=homestead
- MYSQL_PASSWORD=secret
restart: unless-stopped
networks:
netgrimoire:
external: true
Loki:
external: true
dockerserver2_default:
external: true

126
docker2/docker-compose.yml Executable file
View file

@ -0,0 +1,126 @@
---
services:
postgresql:
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- /data/nfs/Baxter/Docker/Authentik/Postgres:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik}
TZ: America/Chicago
PGID: 1001
PUID: 999
UMASK: 002
networks:
- netgrimoire
# env_file:
# - .env
deploy:
redis:
image: docker.io/library/redis:alpine
command: --save 60 1 --loglevel warning
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
environment:
TZ: America/Chicago
PGID: 1001
PUID: 999
UMASK: 002
volumes:
- /data/nfs/Baxter/Docker/Authentik/redis:/data
networks:
- netgrimoire
deploy:
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.3}
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
TZ: America/Chicago
PGID: 1001
PUID: 999
UMASK: 002
volumes:
- /data/nfs/Baxter/Docker/Authentik/media:/media
- /data/nfs/Baxter/Docker/Authentik/custom-templates:/templates
networks:
- netgrimoire
ports:
- "9080:9000"
- "9443:9443"
deploy:
labels:
- homepage.group=Management
- homepage.name=Authentik
- homepage.icon=Authentik.png
- homepage.href=http://authintik.netgrimoire.com
- homepage.description=Account Manager
- caddy=authintik.netgrimoire.com
- caddy.reverse_proxy="{{upstreams 99000}}"
depends_on:
- postgresql
- redis
worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.3}
restart: unless-stopped
command: worker
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
TZ: America/Chicago
PGID: 1001
PUID: 999
UMASK: 002
# `user: root` and the docker socket volume are optional.
# See more for the docker socket integration here:
# https://goauthentik.io/docs/outposts/integrations/docker
# Removing `user: root` also prevents the worker from fixing the permissions
# on the mounted folders, so when removing this make sure the folders have the correct UID/GID
# (1000:1000 by default)
user: root
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /data/nfs/Baxter/Docker/Authentik/media:/media
- /data/nfs/Baxter/Docker/Authentik/certs:/certs
- /data/nfs/Baxter/Docker/Authentik/custom-templates:/templates
networks:
- netgrimoire
depends_on:
- postgresql
- redis
deploy:
volumes:
database:
driver: local
redis:
driver: local
networks:
netgrimoire:
external: true

View file

@ -0,0 +1,52 @@
version: '3.7'
services:
freeipa:
image: freeipa/freeipa-server:rocky-8
restart: unless-stopped
hostname: freeipa.local.netgrimoire.com
environment:
- IPA_SERVER_HOSTNAME=freeipa.local.netgrimoire.com
- TZ=America/Chicago
- PGID=998
- PUID=1001
tty: true
stdin_open: true
cap_add:
- NET_ADMIN
- SYS_TIME
volumes:
- /etc/localtime:/etc/localtime:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /DockerVol/freeipa:/data
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv6.conf.lo.disable_ipv6=0
security_opt:
- "seccomp:unconfined"
command:
- -U
- --domain=local.netgrimoire.com
- --realm=local.netgrimoire.com
- --http-pin=F@lcon12
- --dirsrv-pin=F@lcon12
- --ds-password=F@lcon12
- --admin-password=F@lcon12
- --no-host-dns
- --unattended
ports:
- "80:80"
- "443:443"
- "389:389"
- "636:636"
- "88:88"
- "464:464"
- "88:88/udp"
- "464:464/udp"
- "123:123/udp"
- "7389:7389"
- "9443:9443"
- "9444:9444"
- "9445:9445"
#volumes:
# freeipavol:

123
docker2/processed.swarm.yml Executable file
View file

@ -0,0 +1,123 @@
version: "3.13"
services:
postgresql:
environment:
AUTHENTIK_SECRET_KEY: g8JIvopgkcpIeRUKgfT5KwHFUwGNBFobwhHMHx08wPTJTtAlmqllAwmr6u4jk+ng8O1gbV/gwZnYylMn
GRAYLOG_PASSWORD_SECRET: '"TZ3XajhzIBugTl61oNNgrWL0OHTn4qYcNAuzTTHWRKYxxWf61oAEpHOpesLoP7ssgqBTuainTBX6YIVAcYs2de2jhPHQBYD5"'
GRAYLOG_ROOT_PASSWORD_SHA2: '"1b12de7f4069972e784d42dbe826c0769f1287412cd35479de127fcf816699dc"'
PG_PASS: KzxbC4hiuEFAuACIijO8EGWa8YvO901BXmh39wBhS5pQv3XV
POSTGRES_DB: authentik
POSTGRES_PASSWORD: F@lcon13
POSTGRES_USER: authentik
env_file:
- .env
healthcheck:
test:
- CMD-SHELL
- pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}
timeout: 5s
interval: 30s
retries: 5
start_period: 20s
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
volumes:
- type: volume
source: database
target: /var/lib/postgresql/data
redis:
command:
- --save
- "60"
- "1"
- --loglevel
- warning
healthcheck:
test:
- CMD-SHELL
- redis-cli ping | grep PONG
timeout: 3s
interval: 30s
retries: 5
start_period: 20s
image: docker.io/library/redis:alpine
restart: unless-stopped
volumes:
- type: volume
source: redis
target: /data
server:
command:
- server
depends_on:
- postgresql
- redis
environment:
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: F@lcon13
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_SECRET_KEY: g8JIvopgkcpIeRUKgfT5KwHFUwGNBFobwhHMHx08wPTJTtAlmqllAwmr6u4jk+ng8O1gbV/gwZnYylMn
GRAYLOG_PASSWORD_SECRET: '"TZ3XajhzIBugTl61oNNgrWL0OHTn4qYcNAuzTTHWRKYxxWf61oAEpHOpesLoP7ssgqBTuainTBX6YIVAcYs2de2jhPHQBYD5"'
GRAYLOG_ROOT_PASSWORD_SHA2: '"1b12de7f4069972e784d42dbe826c0769f1287412cd35479de127fcf816699dc"'
PG_PASS: KzxbC4hiuEFAuACIijO8EGWa8YvO901BXmh39wBhS5pQv3XV
env_file:
- .env
image: ghcr.io/goauthentik/server:2024.8.3
ports:
- mode: ingress
target: 9000
published: 9000
protocol: tcp
- mode: ingress
target: 9443
published: 9443
protocol: tcp
restart: unless-stopped
volumes:
- type: bind
source: /home/traveler/git/dockerserver2/media
target: /media
- type: bind
source: /home/traveler/git/dockerserver2/custom-templates
target: /templates
worker:
command:
- worker
depends_on:
- postgresql
- redis
environment:
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: F@lcon13
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_SECRET_KEY: g8JIvopgkcpIeRUKgfT5KwHFUwGNBFobwhHMHx08wPTJTtAlmqllAwmr6u4jk+ng8O1gbV/gwZnYylMn
GRAYLOG_PASSWORD_SECRET: '"TZ3XajhzIBugTl61oNNgrWL0OHTn4qYcNAuzTTHWRKYxxWf61oAEpHOpesLoP7ssgqBTuainTBX6YIVAcYs2de2jhPHQBYD5"'
GRAYLOG_ROOT_PASSWORD_SHA2: '"1b12de7f4069972e784d42dbe826c0769f1287412cd35479de127fcf816699dc"'
PG_PASS: KzxbC4hiuEFAuACIijO8EGWa8YvO901BXmh39wBhS5pQv3XV
env_file:
- .env
image: ghcr.io/goauthentik/server:2024.8.3
restart: unless-stopped
user: root
volumes:
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
- type: bind
source: /home/traveler/git/dockerserver2/media
target: /media
- type: bind
source: /home/traveler/git/dockerserver2/certs
target: /certs
- type: bind
source: /home/traveler/git/dockerserver2/custom-templates
target: /templates
volumes:
database:
driver: local
redis:
driver: local

0
docker2/readme.md Executable file
View file