From 123fae94515b350c0515d69bf1999c1e85dcf894 Mon Sep 17 00:00:00 2001 From: traveler Date: Wed, 25 Jun 2025 14:07:44 -0500 Subject: [PATCH] n --- NAS/NG-Archives.yaml | 74 +++ NAS/NG-Immich.yaml | 202 ++++++++ NAS/NG-Media.yaml | 30 ++ NAS/NG-Mgmt-Tools.yaml | 103 ++++ NAS/NG-NextCloud.yaml | 65 +++ NAS/NG-UserServices.yaml | 19 + NAS/README | 2 + NAS/calibre.yaml | 40 ++ NAS/compose.yaml | 24 + NAS/docker-compose.source | 96 ++++ NAS/docker-compose.yaml | 22 + NAS/libre-photo.yml | 153 ++++++ docker1/-NG-Downloaders.yaml | 54 ++ docker1/-NG-arr.yaml | 145 ++++++ docker1/.docker-compose.yaml.swp | Bin 0 -> 16384 bytes docker1/.env | 43 ++ docker1/NG-Archives.yaml | 168 ++++++ docker1/NG-Media.yaml | 79 +++ docker1/NG-Mgmt-Tools.yaml | 100 ++++ docker1/NG-PlexSupport.yaml | 85 ++++ docker1/NG-RemoteAccess.yaml | 75 +++ docker1/NG-UserServices-Joplin.yaml | 55 ++ docker1/NG-UserServices.yaml | 120 +++++ docker1/NG-Utils.yaml | 0 docker1/NG-Vikunja.yaml | 51 ++ docker1/NG-Whoogle.yaml | 46 ++ docker1/README | 3 + docker1/arr to fix | 37 ++ docker1/docker-compose.yaml | 55 ++ docker1/docker-compose.yaml.old | 758 ++++++++++++++++++++++++++++ docker2/.env | 16 + docker2/NG-Archives.yaml | 124 +++++ docker2/NG-Downloaders.yaml | 29 ++ docker2/NG-Flame.yaml | 30 ++ docker2/NG-Logging.yaml | 38 ++ docker2/NG-Mgmt-Tools.yaml.bak | 95 ++++ docker2/NG-Mgmt.yaml | 44 ++ docker2/NG-Monitoring.yaml | 29 ++ docker2/NG-NMAP.yaml | 33 ++ docker2/NG-PNCFishWeb.yaml | 26 + docker2/NG-PlexSupport.yaml | 18 + docker2/NG-Tautulli.yaml | 34 ++ docker2/NG-UserServices.yaml | 119 +++++ docker2/NG-Webapps.yaml | 161 ++++++ docker2/NG-graylog.yaml | 120 +++++ docker2/PHP.Dockerfile | 10 + docker2/README | 2 + docker2/README.md | 0 docker2/docker-compose.yaml | 43 ++ docker2/docker-compose.yml | 126 +++++ docker2/freeipa/docker-compose.yaml | 52 ++ docker2/processed.swarm.yml | 123 +++++ docker2/readme.md | 0 53 files changed, 3976 insertions(+) create mode 100755 NAS/NG-Archives.yaml create mode 100755 NAS/NG-Immich.yaml create mode 100755 NAS/NG-Media.yaml create mode 100755 NAS/NG-Mgmt-Tools.yaml create mode 100755 NAS/NG-NextCloud.yaml create mode 100755 NAS/NG-UserServices.yaml create mode 100755 NAS/README create mode 100755 NAS/calibre.yaml create mode 100755 NAS/compose.yaml create mode 100755 NAS/docker-compose.source create mode 100755 NAS/docker-compose.yaml create mode 100755 NAS/libre-photo.yml create mode 100755 docker1/-NG-Downloaders.yaml create mode 100755 docker1/-NG-arr.yaml create mode 100755 docker1/.docker-compose.yaml.swp create mode 100755 docker1/.env create mode 100755 docker1/NG-Archives.yaml create mode 100755 docker1/NG-Media.yaml create mode 100755 docker1/NG-Mgmt-Tools.yaml create mode 100755 docker1/NG-PlexSupport.yaml create mode 100755 docker1/NG-RemoteAccess.yaml create mode 100755 docker1/NG-UserServices-Joplin.yaml create mode 100755 docker1/NG-UserServices.yaml create mode 100755 docker1/NG-Utils.yaml create mode 100755 docker1/NG-Vikunja.yaml create mode 100755 docker1/NG-Whoogle.yaml create mode 100755 docker1/README create mode 100755 docker1/arr to fix create mode 100755 docker1/docker-compose.yaml create mode 100755 docker1/docker-compose.yaml.old create mode 100755 docker2/.env create mode 100755 docker2/NG-Archives.yaml create mode 100755 docker2/NG-Downloaders.yaml create mode 100755 docker2/NG-Flame.yaml create mode 100755 docker2/NG-Logging.yaml create mode 100755 docker2/NG-Mgmt-Tools.yaml.bak create mode 100755 docker2/NG-Mgmt.yaml create mode 100755 docker2/NG-Monitoring.yaml create mode 100755 docker2/NG-NMAP.yaml create mode 100755 docker2/NG-PNCFishWeb.yaml create mode 100755 docker2/NG-PlexSupport.yaml create mode 100755 docker2/NG-Tautulli.yaml create mode 100755 docker2/NG-UserServices.yaml create mode 100755 docker2/NG-Webapps.yaml create mode 100755 docker2/NG-graylog.yaml create mode 100755 docker2/PHP.Dockerfile create mode 100755 docker2/README create mode 100755 docker2/README.md create mode 100755 docker2/docker-compose.yaml create mode 100755 docker2/docker-compose.yml create mode 100755 docker2/freeipa/docker-compose.yaml create mode 100755 docker2/processed.swarm.yml create mode 100755 docker2/readme.md diff --git a/NAS/NG-Archives.yaml b/NAS/NG-Archives.yaml new file mode 100755 index 0000000..dac755c --- /dev/null +++ b/NAS/NG-Archives.yaml @@ -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 + diff --git a/NAS/NG-Immich.yaml b/NAS/NG-Immich.yaml new file mode 100755 index 0000000..61c5204 --- /dev/null +++ b/NAS/NG-Immich.yaml @@ -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: diff --git a/NAS/NG-Media.yaml b/NAS/NG-Media.yaml new file mode 100755 index 0000000..6e9798c --- /dev/null +++ b/NAS/NG-Media.yaml @@ -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 + + diff --git a/NAS/NG-Mgmt-Tools.yaml b/NAS/NG-Mgmt-Tools.yaml new file mode 100755 index 0000000..a5dce3f --- /dev/null +++ b/NAS/NG-Mgmt-Tools.yaml @@ -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 \ No newline at end of file diff --git a/NAS/NG-NextCloud.yaml b/NAS/NG-NextCloud.yaml new file mode 100755 index 0000000..eb608a0 --- /dev/null +++ b/NAS/NG-NextCloud.yaml @@ -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 diff --git a/NAS/NG-UserServices.yaml b/NAS/NG-UserServices.yaml new file mode 100755 index 0000000..e51de2b --- /dev/null +++ b/NAS/NG-UserServices.yaml @@ -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 diff --git a/NAS/README b/NAS/README new file mode 100755 index 0000000..1ae94ad --- /dev/null +++ b/NAS/README @@ -0,0 +1,2 @@ +1st cut + diff --git a/NAS/calibre.yaml b/NAS/calibre.yaml new file mode 100755 index 0000000..02c051d --- /dev/null +++ b/NAS/calibre.yaml @@ -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 \ No newline at end of file diff --git a/NAS/compose.yaml b/NAS/compose.yaml new file mode 100755 index 0000000..e915789 --- /dev/null +++ b/NAS/compose.yaml @@ -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 \ No newline at end of file diff --git a/NAS/docker-compose.source b/NAS/docker-compose.source new file mode 100755 index 0000000..f020f8e --- /dev/null +++ b/NAS/docker-compose.source @@ -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: diff --git a/NAS/docker-compose.yaml b/NAS/docker-compose.yaml new file mode 100755 index 0000000..304b748 --- /dev/null +++ b/NAS/docker-compose.yaml @@ -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 diff --git a/NAS/libre-photo.yml b/NAS/libre-photo.yml new file mode 100755 index 0000000..4abfbd7 --- /dev/null +++ b/NAS/libre-photo.yml @@ -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 + + + diff --git a/docker1/-NG-Downloaders.yaml b/docker1/-NG-Downloaders.yaml new file mode 100755 index 0000000..0e9a771 --- /dev/null +++ b/docker1/-NG-Downloaders.yaml @@ -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 diff --git a/docker1/-NG-arr.yaml b/docker1/-NG-arr.yaml new file mode 100755 index 0000000..faf2141 --- /dev/null +++ b/docker1/-NG-arr.yaml @@ -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 + + diff --git a/docker1/.docker-compose.yaml.swp b/docker1/.docker-compose.yaml.swp new file mode 100755 index 0000000000000000000000000000000000000000..a56fad2d6c38d0981c1615ae55b00441279b3685 GIT binary patch literal 16384 zcmeI2UyK_^9mh97X;Yf?9~Gz-?czhFO0!3rh?)-M^xxKsR)QN0f!EuYC1P{0CE6VRSz47fWO5l-Y zYEh4=);gL_;{f%zg|(6?k4Faewi)PQE}weK$Sbb2hSPN&pJw}{YprQZDy0Xc2d=^c zy`ZH{Y*`vFOX$BMqRa7X-FU0bn z^nmn$^nmn$^nmn$^nmn$^nmn$^nmn$^nmohIy^v{in0ayPO<$q-v3AY|4TP3%0I!M zz{}t#;78zF;0quCCfEla1b2cPz+bm2%5T6q@C^7IpkM~v5AFdMP~e}zZ^1e6EO-(; z0d|0G;Qipun~)a#44efofXBf;pn>h+esB-C75x1@it=;t1MmVk1)c&&ferS8kAZFA zz2I**D#|awIq+rhC2$PX!3-#X4}&|vjo|go@CSGqya-N%6X1)W59YvqU^95@2G|F` z2d{t^!8gH^;4pXuRKVTfF0d86c0KA3eh7|(BcKcRgFWEmU>o=VxbSX8`6)O9PJ-j0 z4{Y!#_ykbF_27-`kQST)C&6*h2L`ws+y!m{uf9uBUIO0--vCd6V}OE(z`fuO@Fs#a zuY-Ss*T65q8So7F8h8R61be|W(82BCHgGH03@%~3od;*ZX~4$cNicAzIF=o&*QLIp zu#1l42R7+aL+$jN9w~5P!?6Qm+SIG9Qkh-SMqIcLN47F!l)b}+%a9o!*xlUCzbzy1uR4Jd!X{9q@9N;(cDRb#%ckepU23C*IPrKcx6{BW$0e@g1*=*eP_Jv+#NsK2+dZHZEpK_0 zwyZw&^c5NeedJ@Q;7t7DMp$DqGqdGAyQZtP`Gv)jwvyqBbRFZA`ZDo!uV;(Tb+SIb z{4qued5(duV+HNZ7jhFCI~R@AZ=N`8Z&)eUY@&zJ*IX0#1+i90-{-PqAha!FH)tpw z_DEVM9AcXd$0A4A}yNY*im;>@Eu;|hBy@#zW)8lAvd!KYs; zj$yYBsfA}nD$m1MOXp86!a2+=rUqX;lN2szb8AEGpW+{*?R6}jjVQh@7vP5a;;Fd@H!@*DS2gS0TIi?PFuNID z?vCV<#(~kRFTVDSRKh8tgt)FA{xZ76$NdQ9iEI24gDgLketxmGP_9<@ z%~z&MpZcVQB`jZvYOv9pJnxyga;;pM+`U*SSN50kylv?lYf{#TZb+0Eu7%4D*KVIQ z@od107+$b3($eZ^0f?n+kR}O|3qu*3BQ_qP*prHQGUCmeuP)A1@W3!NS^Cgt7UHY& zVtKM$oj#J(Jk~8$rz`2S?D~l4Yj`>`5%)&QY$Qu1kDk5~1M8gvmz!-nJ~Cb~*ohaF zS}T|z^z_Zf585!s*J{hGV^IwSScv%TC%g%#HA2A+4?HTRmvv!;CtB65Q4w4l^{NmW z`EiKjS{MpXbgdWjaAHM0R`O}X!!xzY4^0iVd?<7rJk$pi+s{Gelo&%Lw(vH{koMZn z*wHgH)yaI4Mm?N#XmXz!=ted|#>d$+Jx;tKso|6Kaguwue-n-9TP{d$AmODlHif5~ zI`OG8rsDbBR|)l0Y*;+nR83pO{dqa7u)CRw=VU{{=k~to*tlO8GK#|X|IcH;dKCLx zw*SwH4cGMYrc6HFAp;Lc0G)0 zt=A&90Rw@QtFx2ZG+a$a>`q-0bo9W{v9D;EZA1K5uFT5NR%Y!?nu<3a(>>2|sXpu2 zO(%>)td&WG`0x%T48x^2U%ZM#Z*^LxM_bMzt`gfJ%WrsD)6vtfcamh{7dE~;&)WKyL=Q7@WU**u)iURA}7;vx6wHPtG= z5AQ-B6ZPQP*YJEQUGy^!I;0{z4 */15 * * * * + # volumes: + # - /DockerVol/vdirsyncer:/vdirsyncer + + + + + + + diff --git a/docker1/NG-Media.yaml b/docker1/NG-Media.yaml new file mode 100755 index 0000000..e33a1e0 --- /dev/null +++ b/docker1/NG-Media.yaml @@ -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 \ No newline at end of file diff --git a/docker1/NG-Mgmt-Tools.yaml b/docker1/NG-Mgmt-Tools.yaml new file mode 100755 index 0000000..2bf6b79 --- /dev/null +++ b/docker1/NG-Mgmt-Tools.yaml @@ -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" + + + diff --git a/docker1/NG-PlexSupport.yaml b/docker1/NG-PlexSupport.yaml new file mode 100755 index 0000000..2953162 --- /dev/null +++ b/docker1/NG-PlexSupport.yaml @@ -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 \ No newline at end of file diff --git a/docker1/NG-RemoteAccess.yaml b/docker1/NG-RemoteAccess.yaml new file mode 100755 index 0000000..4250134 --- /dev/null +++ b/docker1/NG-RemoteAccess.yaml @@ -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 + \ No newline at end of file diff --git a/docker1/NG-UserServices-Joplin.yaml b/docker1/NG-UserServices-Joplin.yaml new file mode 100755 index 0000000..6e14b3f --- /dev/null +++ b/docker1/NG-UserServices-Joplin.yaml @@ -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 + diff --git a/docker1/NG-UserServices.yaml b/docker1/NG-UserServices.yaml new file mode 100755 index 0000000..cb2bcee --- /dev/null +++ b/docker1/NG-UserServices.yaml @@ -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: + # ":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 + + + + \ No newline at end of file diff --git a/docker1/NG-Utils.yaml b/docker1/NG-Utils.yaml new file mode 100755 index 0000000..e69de29 diff --git a/docker1/NG-Vikunja.yaml b/docker1/NG-Vikunja.yaml new file mode 100755 index 0000000..37588ab --- /dev/null +++ b/docker1/NG-Vikunja.yaml @@ -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 \ No newline at end of file diff --git a/docker1/NG-Whoogle.yaml b/docker1/NG-Whoogle.yaml new file mode 100755 index 0000000..8821b9d --- /dev/null +++ b/docker1/NG-Whoogle.yaml @@ -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= + #- WHOOGLE_PASS= + # Proxy configuration, uncomment to enable + #- WHOOGLE_PROXY_USER= + #- WHOOGLE_PROXY_PASS= + #- WHOOGLE_PROXY_TYPE= + # 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 \ No newline at end of file diff --git a/docker1/README b/docker1/README new file mode 100755 index 0000000..859ab84 --- /dev/null +++ b/docker1/README @@ -0,0 +1,3 @@ + +Initial docker compose file for Docker1 + diff --git a/docker1/arr to fix b/docker1/arr to fix new file mode 100755 index 0000000..8ae56ca --- /dev/null +++ b/docker1/arr to fix @@ -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 \ No newline at end of file diff --git a/docker1/docker-compose.yaml b/docker1/docker-compose.yaml new file mode 100755 index 0000000..24a13c7 --- /dev/null +++ b/docker1/docker-compose.yaml @@ -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 + + + + + + + + + + + diff --git a/docker1/docker-compose.yaml.old b/docker1/docker-compose.yaml.old new file mode 100755 index 0000000..b414f4c --- /dev/null +++ b/docker1/docker-compose.yaml.old @@ -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 + + + diff --git a/docker2/.env b/docker2/.env new file mode 100755 index 0000000..c3dd04b --- /dev/null +++ b/docker2/.env @@ -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 diff --git a/docker2/NG-Archives.yaml b/docker2/NG-Archives.yaml new file mode 100755 index 0000000..8cfe3a2 --- /dev/null +++ b/docker2/NG-Archives.yaml @@ -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 + diff --git a/docker2/NG-Downloaders.yaml b/docker2/NG-Downloaders.yaml new file mode 100755 index 0000000..8d688b7 --- /dev/null +++ b/docker2/NG-Downloaders.yaml @@ -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' \ No newline at end of file diff --git a/docker2/NG-Flame.yaml b/docker2/NG-Flame.yaml new file mode 100755 index 0000000..cb667b2 --- /dev/null +++ b/docker2/NG-Flame.yaml @@ -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 \ No newline at end of file diff --git a/docker2/NG-Logging.yaml b/docker2/NG-Logging.yaml new file mode 100755 index 0000000..2b25fe0 --- /dev/null +++ b/docker2/NG-Logging.yaml @@ -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 \ No newline at end of file diff --git a/docker2/NG-Mgmt-Tools.yaml.bak b/docker2/NG-Mgmt-Tools.yaml.bak new file mode 100755 index 0000000..8ec05bb --- /dev/null +++ b/docker2/NG-Mgmt-Tools.yaml.bak @@ -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 : + - '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 + + + + \ No newline at end of file diff --git a/docker2/NG-Mgmt.yaml b/docker2/NG-Mgmt.yaml new file mode 100755 index 0000000..67b1b38 --- /dev/null +++ b/docker2/NG-Mgmt.yaml @@ -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 \ No newline at end of file diff --git a/docker2/NG-Monitoring.yaml b/docker2/NG-Monitoring.yaml new file mode 100755 index 0000000..cd79057 --- /dev/null +++ b/docker2/NG-Monitoring.yaml @@ -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 \ No newline at end of file diff --git a/docker2/NG-NMAP.yaml b/docker2/NG-NMAP.yaml new file mode 100755 index 0000000..32bb486 --- /dev/null +++ b/docker2/NG-NMAP.yaml @@ -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 \ No newline at end of file diff --git a/docker2/NG-PNCFishWeb.yaml b/docker2/NG-PNCFishWeb.yaml new file mode 100755 index 0000000..95f7c1a --- /dev/null +++ b/docker2/NG-PNCFishWeb.yaml @@ -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 \ No newline at end of file diff --git a/docker2/NG-PlexSupport.yaml b/docker2/NG-PlexSupport.yaml new file mode 100755 index 0000000..96c6c04 --- /dev/null +++ b/docker2/NG-PlexSupport.yaml @@ -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 + diff --git a/docker2/NG-Tautulli.yaml b/docker2/NG-Tautulli.yaml new file mode 100755 index 0000000..88b255c --- /dev/null +++ b/docker2/NG-Tautulli.yaml @@ -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 \ No newline at end of file diff --git a/docker2/NG-UserServices.yaml b/docker2/NG-UserServices.yaml new file mode 100755 index 0000000..1a32b8c --- /dev/null +++ b/docker2/NG-UserServices.yaml @@ -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 + diff --git a/docker2/NG-Webapps.yaml b/docker2/NG-Webapps.yaml new file mode 100755 index 0000000..ed062bb --- /dev/null +++ b/docker2/NG-Webapps.yaml @@ -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= + #- WHOOGLE_PASS= + # Proxy configuration, uncomment to enable + #- WHOOGLE_PROXY_USER= + #- WHOOGLE_PROXY_PASS= + #- WHOOGLE_PROXY_TYPE= + # 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 \ No newline at end of file diff --git a/docker2/NG-graylog.yaml b/docker2/NG-graylog.yaml new file mode 100755 index 0000000..e82def5 --- /dev/null +++ b/docker2/NG-graylog.yaml @@ -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 + + + + + + + + + diff --git a/docker2/PHP.Dockerfile b/docker2/PHP.Dockerfile new file mode 100755 index 0000000..515ad3b --- /dev/null +++ b/docker2/PHP.Dockerfile @@ -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 diff --git a/docker2/README b/docker2/README new file mode 100755 index 0000000..66a9d75 --- /dev/null +++ b/docker2/README @@ -0,0 +1,2 @@ +initial upload +Another Test \ No newline at end of file diff --git a/docker2/README.md b/docker2/README.md new file mode 100755 index 0000000..e69de29 diff --git a/docker2/docker-compose.yaml b/docker2/docker-compose.yaml new file mode 100755 index 0000000..1be00ce --- /dev/null +++ b/docker2/docker-compose.yaml @@ -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 + diff --git a/docker2/docker-compose.yml b/docker2/docker-compose.yml new file mode 100755 index 0000000..76d15df --- /dev/null +++ b/docker2/docker-compose.yml @@ -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 \ No newline at end of file diff --git a/docker2/freeipa/docker-compose.yaml b/docker2/freeipa/docker-compose.yaml new file mode 100755 index 0000000..9dab5d9 --- /dev/null +++ b/docker2/freeipa/docker-compose.yaml @@ -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: + diff --git a/docker2/processed.swarm.yml b/docker2/processed.swarm.yml new file mode 100755 index 0000000..c110164 --- /dev/null +++ b/docker2/processed.swarm.yml @@ -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 diff --git a/docker2/readme.md b/docker2/readme.md new file mode 100755 index 0000000..e69de29