Compare commits
	
		
			6 Commits
		
	
	
		
			b47fc8657d
			...
			84d4f44a70
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 84d4f44a70 | |||
| 221b00f1c4 | |||
| af1c0347af | |||
| 09c2142ac9 | |||
| 6e32b4fb5a | |||
| 63ceab2cd8 | 
							
								
								
									
										2
									
								
								dns.yml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								dns.yml
									
									
									
									
									
								
							@@ -21,6 +21,8 @@
 | 
				
			|||||||
        ip: "152.53.36.98"
 | 
					        ip: "152.53.36.98"
 | 
				
			||||||
      - name: "books"
 | 
					      - name: "books"
 | 
				
			||||||
        ip: "152.53.36.98"
 | 
					        ip: "152.53.36.98"
 | 
				
			||||||
 | 
					      - name: "paper"
 | 
				
			||||||
 | 
					        ip: "152.53.36.98"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  tasks:
 | 
					  tasks:
 | 
				
			||||||
    - name: Add A records for subdomains
 | 
					    - name: Add A records for subdomains
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,10 @@ auth.thesatelliteoflove.com {
 | 
				
			|||||||
    reverse_proxy authentik-server-1:9000
 | 
					    reverse_proxy authentik-server-1:9000
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					paper.thesatelliteoflove.com {
 | 
				
			||||||
 | 
					    reverse_proxy paperlessngx-webserver-1:8000
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pin.thesatelliteoflove.com {
 | 
					pin.thesatelliteoflove.com {
 | 
				
			||||||
    reverse_proxy pinry-pinry-1:80
 | 
					    reverse_proxy pinry-pinry-1:80
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -117,3 +117,7 @@
 | 
				
			|||||||
- name: Install calibre
 | 
					- name: Install calibre
 | 
				
			||||||
  import_tasks: calibre.yml
 | 
					  import_tasks: calibre.yml
 | 
				
			||||||
  tags: calibre
 | 
					  tags: calibre
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Install paperlessngx
 | 
				
			||||||
 | 
					  import_tasks: paperlessngx.yml
 | 
				
			||||||
 | 
					  tags: paperlessngx
 | 
				
			||||||
							
								
								
									
										26
									
								
								roles/docker/tasks/paperlessngx.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								roles/docker/tasks/paperlessngx.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					- name: make paperlessngx directories
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: "{{ item}}"
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  loop:
 | 
				
			||||||
 | 
					    - /opt/stacks/paperlessngx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Template out the compose file
 | 
				
			||||||
 | 
					  ansible.builtin.template:
 | 
				
			||||||
 | 
					    src: paperlessngx-compose.yml.j2
 | 
				
			||||||
 | 
					    dest: /opt/stacks/paperlessngx/compose.yml
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Template out the .env file
 | 
				
			||||||
 | 
					  ansible.builtin.template:
 | 
				
			||||||
 | 
					    src: paperlessngx.env.j2
 | 
				
			||||||
 | 
					    dest: /opt/stacks/paperlessngx/docker-compose.env
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: deploy paperlessngx stack
 | 
				
			||||||
 | 
					  community.docker.docker_compose_v2:
 | 
				
			||||||
 | 
					    project_src: /opt/stacks/paperlessngx
 | 
				
			||||||
 | 
					    files:
 | 
				
			||||||
 | 
					    - compose.yml
 | 
				
			||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
services:
 | 
					services:
 | 
				
			||||||
  audiobookshelf:
 | 
					  audiobookshelf:
 | 
				
			||||||
    image: ghcr.io/advplyr/audiobookshelf:2.16.0
 | 
					    image: ghcr.io/advplyr/audiobookshelf:2.16.2
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - audiobooks:/audiobooks
 | 
					      - audiobooks:/audiobooks
 | 
				
			||||||
      - podcasts:/podcasts
 | 
					      - podcasts:/podcasts
 | 
				
			||||||
@@ -8,6 +8,8 @@ services:
 | 
				
			|||||||
      - metadata:/metadata
 | 
					      - metadata:/metadata
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - TZ=America/Denver
 | 
					      - TZ=America/Denver
 | 
				
			||||||
 | 
					    extra_hosts:
 | 
				
			||||||
 | 
					      - 'auth.thesatelliteoflove.com:172.20.0.5'
 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  audiobooks:
 | 
					  audiobooks:
 | 
				
			||||||
    driver: local
 | 
					    driver: local
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,7 @@ services:
 | 
				
			|||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - trout:/data
 | 
					      - trout:/data
 | 
				
			||||||
  server:
 | 
					  server:
 | 
				
			||||||
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.4}
 | 
					    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.10.1}
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
    command: server
 | 
					    command: server
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
@@ -52,7 +52,7 @@ services:
 | 
				
			|||||||
      - postgresql
 | 
					      - postgresql
 | 
				
			||||||
      - trout
 | 
					      - trout
 | 
				
			||||||
  worker:
 | 
					  worker:
 | 
				
			||||||
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.4}
 | 
					    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.10.1}
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
    command: worker
 | 
					    command: worker
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,6 +25,7 @@ pages:
 | 
				
			|||||||
              cache: 3h
 | 
					              cache: 3h
 | 
				
			||||||
              feeds:
 | 
					              feeds:
 | 
				
			||||||
              - url: https://hiro.report/rss/
 | 
					              - url: https://hiro.report/rss/
 | 
				
			||||||
 | 
					              - url: https://kill-the-newsletter.com/feeds/ij4twrnzhrwvyic13qcm.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          - type: videos
 | 
					          - type: videos
 | 
				
			||||||
            channels:
 | 
					            channels:
 | 
				
			||||||
@@ -77,6 +78,7 @@ pages:
 | 
				
			|||||||
      - type: releases
 | 
					      - type: releases
 | 
				
			||||||
        show-source-icon: true
 | 
					        show-source-icon: true
 | 
				
			||||||
        repositories:
 | 
					        repositories:
 | 
				
			||||||
 | 
					        - advplyr/audiobookshelf
 | 
				
			||||||
        - go-gitea/gitea
 | 
					        - go-gitea/gitea
 | 
				
			||||||
        - louislam/dockge
 | 
					        - louislam/dockge
 | 
				
			||||||
        - glanceapp/glance
 | 
					        - glanceapp/glance
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
services:
 | 
					services:
 | 
				
			||||||
  gotosocial:
 | 
					  gotosocial:
 | 
				
			||||||
    image: superseriousbusiness/gotosocial:0.17.1
 | 
					    image: superseriousbusiness/gotosocial:0.17.3
 | 
				
			||||||
    container_name: gotosocial
 | 
					    container_name: gotosocial
 | 
				
			||||||
    user: 1000:1000
 | 
					    user: 1000:1000
 | 
				
			||||||
    extra_hosts:
 | 
					    extra_hosts:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										50
									
								
								roles/docker/templates/paperlessngx-compose.yml.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								roles/docker/templates/paperlessngx-compose.yml.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					services:
 | 
				
			||||||
 | 
					  broker:
 | 
				
			||||||
 | 
					    image: docker.io/library/redis:7
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - redisdata:/data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  webserver:
 | 
				
			||||||
 | 
					    image: ghcr.io/paperless-ngx/paperless-ngx:latest
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    depends_on:
 | 
				
			||||||
 | 
					      - broker
 | 
				
			||||||
 | 
					      - gotenberg
 | 
				
			||||||
 | 
					      - tika
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - data:/usr/src/paperless/data
 | 
				
			||||||
 | 
					      - media:/usr/src/paperless/media
 | 
				
			||||||
 | 
					      - ./export:/usr/src/paperless/export
 | 
				
			||||||
 | 
					      - ./consume:/usr/src/paperless/consume
 | 
				
			||||||
 | 
					    env_file: docker-compose.env
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      PAPERLESS_REDIS: redis://broker:6379
 | 
				
			||||||
 | 
					      PAPERLESS_TIKA_ENABLED: 1
 | 
				
			||||||
 | 
					      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
 | 
				
			||||||
 | 
					      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  gotenberg:
 | 
				
			||||||
 | 
					    image: docker.io/gotenberg/gotenberg:8.7
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # The gotenberg chromium route is used to convert .eml files. We do not
 | 
				
			||||||
 | 
					    # want to allow external content like tracking pixels or even javascript.
 | 
				
			||||||
 | 
					    command:
 | 
				
			||||||
 | 
					      - "gotenberg"
 | 
				
			||||||
 | 
					      - "--chromium-disable-javascript=true"
 | 
				
			||||||
 | 
					      - "--chromium-allow-list=file:///tmp/.*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tika:
 | 
				
			||||||
 | 
					    image: docker.io/apache/tika:latest
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					volumes:
 | 
				
			||||||
 | 
					  data:
 | 
				
			||||||
 | 
					  media:
 | 
				
			||||||
 | 
					  redisdata:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					networks:
 | 
				
			||||||
 | 
					  default:
 | 
				
			||||||
 | 
					    external: true
 | 
				
			||||||
 | 
					    name: lava
 | 
				
			||||||
							
								
								
									
										42
									
								
								roles/docker/templates/paperlessngx.env.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								roles/docker/templates/paperlessngx.env.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					# 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					# Paperless-specific settings                                                 #
 | 
				
			||||||
 | 
					###############################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# All settings defined in the paperless.conf.example can be used here. The
 | 
				
			||||||
 | 
					# Docker setup does not use the configuration file.
 | 
				
			||||||
 | 
					# 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://paper.thesatelliteoflove.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={{ paperlessngx_secret }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
 | 
				
			||||||
 | 
					PAPERLESS_TIME_ZONE=America/Denver
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The default language to use for OCR. Set this to the language most of your
 | 
				
			||||||
 | 
					# documents are written in.
 | 
				
			||||||
 | 
					#PAPERLESS_OCR_LANGUAGE=eng
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set if accessing paperless via a domain subpath e.g. https://domain.com/PATHPREFIX and using a reverse-proxy like traefik or nginx
 | 
				
			||||||
 | 
					#PAPERLESS_FORCE_SCRIPT_NAME=/PATHPREFIX
 | 
				
			||||||
 | 
					#PAPERLESS_STATIC_URL=/PATHPREFIX/static/ # trailing slash required
 | 
				
			||||||
		Reference in New Issue
	
	Block a user