From 4f4bff2e4f053065b4211891704f1357599a39cc Mon Sep 17 00:00:00 2001 From: geezo Date: Mon, 20 Jan 2025 15:56:37 +0000 Subject: [PATCH] tubearchivist --- .gitignore | 3 +- paperless-ngx/docker-compose.env | 37 +++++++++++++++++ paperless-ngx/docker-compose.yml | 69 ++++++++++++++++++++++++++++++++ tubearchivist/docker-compose.yml | 65 ++++++++++++++++++++++++++++++ 4 files changed, 173 insertions(+), 1 deletion(-) create mode 100644 paperless-ngx/docker-compose.env create mode 100644 paperless-ngx/docker-compose.yml create mode 100644 tubearchivist/docker-compose.yml diff --git a/.gitignore b/.gitignore index c7c4980..13982a1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ music/ data/ immich/library immich/postgres -yams/config \ No newline at end of file +yams/config +.export/ \ No newline at end of file diff --git a/paperless-ngx/docker-compose.env b/paperless-ngx/docker-compose.env new file mode 100644 index 0000000..8b3309f --- /dev/null +++ b/paperless-ngx/docker-compose.env @@ -0,0 +1,37 @@ +############################################################################### +# Paperless-ngx settings # +############################################################################### + +# See http://docs.paperless-ngx.com/configuration/ for all available options. + +# The UID and GID of the user used to run paperless in the container. Set this +# to your UID and GID on the host so that you have write access to the +# consumption directory. +#USERMAP_UID=1000 +#USERMAP_GID=1000 + +# See the documentation linked above for all options. A few commonly adjusted settings +# are provided below. + +# This is required if you will be exposing Paperless-ngx on a public domain +# (if doing so please consider security measures such as reverse proxy) +#PAPERLESS_URL=https://paperless.example.com + +# Adjust this key if you plan to make paperless available publicly. It should +# be a very long sequence of random characters. You don't need to remember it. +#PAPERLESS_SECRET_KEY=change-me + +# Use this variable to set a timezone for the Paperless Docker containers. Defaults to UTC. +#PAPERLESS_TIME_ZONE=America/New_York + +# The default language to use for OCR. Set this to the language most of your +# documents are written in. +PAPERLESS_OCR_LANGUAGE=eng + +# Additional languages to install for text recognition, separated by a whitespace. +# Note that this is different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines +# the language used for OCR. +# The container installs English, German, Italian, Spanish and French by default. +# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster +# for available languages. +#PAPERLESS_OCR_LANGUAGES=tur ces \ No newline at end of file diff --git a/paperless-ngx/docker-compose.yml b/paperless-ngx/docker-compose.yml new file mode 100644 index 0000000..4b72c55 --- /dev/null +++ b/paperless-ngx/docker-compose.yml @@ -0,0 +1,69 @@ +# Docker Compose file for running paperless from the Docker Hub. +# This file contains everything paperless needs to run. +# Paperless supports amd64, arm and arm64 hardware. +# +# All compose files of paperless configure paperless in the following way: +# +# - Paperless is (re)started on system boot, if it was running before shutdown. +# - Docker volumes for storing data are managed by Docker. +# - Folders for importing and exporting files are created in the same directory +# as this file and mounted to the correct folders inside the container. +# - Paperless listens on port 8000. +# +# In addition to that, this Docker Compose file adds the following optional +# configurations: +# +# - Instead of SQLite (default), PostgreSQL is used as the database server. +# +# To install and update paperless with this file, do the following: +# +# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env' +# and '.env' into a folder. +# - Run 'docker compose pull'. +# - Run 'docker compose run --rm webserver createsuperuser' to create a user. +# - Run 'docker compose up -d'. +# +# For more extensive installation and update instructions, refer to the +# documentation. + +services: + broker: + image: docker.io/library/redis:7 + restart: unless-stopped + volumes: + - redisdata:/data + + db: + image: docker.io/library/postgres:16 + restart: unless-stopped + volumes: + - pgdata:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: paperless + + webserver: + image: ghcr.io/paperless-ngx/paperless-ngx:latest + restart: unless-stopped + user: 1000:1000 + depends_on: + - db + - broker + ports: + - "1010:8000" + volumes: + - data:/usr/src/paperless/data + - media:/usr/src/paperless/media + - ./export:/usr/src/paperless/export + - /home/geezo/nfs_shares/scanned_documents:/usr/src/paperless/consume + env_file: docker-compose.env + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db + +volumes: + data: + media: + pgdata: + redisdata: \ No newline at end of file diff --git a/tubearchivist/docker-compose.yml b/tubearchivist/docker-compose.yml new file mode 100644 index 0000000..c72cab0 --- /dev/null +++ b/tubearchivist/docker-compose.yml @@ -0,0 +1,65 @@ +version: '3.5' + +services: + tubearchivist: + container_name: tubearchivist + restart: unless-stopped + image: bbilly1/tubearchivist + ports: + - 8000:8000 + volumes: + - media:/youtube + - cache:/cache + environment: + - ES_URL=http://archivist-es:9200 # needs protocol e.g. http and port + - REDIS_HOST=archivist-redis # don't add protocol + - HOST_UID=1000 + - HOST_GID=1000 + - TA_HOST=tubearchivist.local # set your host name + - TA_USERNAME=tubearchivist # your initial TA credentials + - TA_PASSWORD=verysecret # your initial TA credentials + - ELASTIC_PASSWORD=verysecret # set password for Elasticsearch + - TZ=America/New_York # set your time zone + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000/health"] + interval: 2m + timeout: 10s + retries: 3 + start_period: 30s + depends_on: + - archivist-es + - archivist-redis + archivist-redis: + image: redis/redis-stack-server + container_name: archivist-redis + restart: unless-stopped + expose: + - "6379" + volumes: + - redis:/data + depends_on: + - archivist-es + archivist-es: + image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.16.0 + container_name: archivist-es + restart: unless-stopped + environment: + - "ELASTIC_PASSWORD=verysecret" # matching Elasticsearch password + - "ES_JAVA_OPTS=-Xms1g -Xmx1g" + - "xpack.security.enabled=true" + - "discovery.type=single-node" + - "path.repo=/usr/share/elasticsearch/data/snapshot" + ulimits: + memlock: + soft: -1 + hard: -1 + volumes: + - es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme + expose: + - "9200" + +volumes: + media: + cache: + redis: + es: \ No newline at end of file