forked from timothystewart6/paperless-stack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
137 lines (125 loc) · 3.17 KB
/
compose.yaml
File metadata and controls
137 lines (125 loc) · 3.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
services:
# paperless-ngx main service
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless-ngx
restart: unless-stopped
env_file:
- ./paperless/.env
depends_on:
- postgres
- redis
- gotenberg
- tika
ports:
- "8000:8000"
volumes:
- ./paperless/data:/usr/src/paperless/data
- ./paperless/media:/usr/src/paperless/media
- ./paperless/export:/usr/src/paperless/export
- ./paperless/consume:/usr/src/paperless/consume
# postgres database for paperless-ngx
postgres:
image: postgres:18
restart: unless-stopped
container_name: postgres
env_file:
- ./postgres/.env
volumes:
- ./postgres/data:/var/lib/postgresql
# redis database for paperless-ngx
redis:
image: docker.io/library/redis:8
container_name: redis
restart: unless-stopped
env_file:
- ./redis/.env
volumes:
- ./redis/data:/data
# gotenberg service that paperless uses for document conversion
gotenberg:
image: docker.io/gotenberg/gotenberg:8.25
container_name: gotenberg
env_file:
- ./gotenberg/.env
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
# tika service that paperless uses for document text extraction
tika:
image: docker.io/apache/tika:latest
container_name: tika
restart: unless-stopped
env_file: ./tika/.env
# open-webui service for LLM interaction
open-webui:
image: ghcr.io/open-webui/open-webui:latest
container_name: open-webui
restart: unless-stopped
env_file:
- ./open-webui/.env
depends_on:
- ollama
ports:
- "3001:8080"
volumes:
- ./open-webui/data:/app/backend/data
# ollama service for local LLMs
ollama:
image: ollama/ollama:latest
container_name: ollama
env_file:
- ./ollama/.env
volumes:
- ./ollama/data/:/root/.ollama
- ./ollama/models:/ollama-models
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
# paperless-ai service
paperless-ai:
image: clusterzx/paperless-ai:latest
container_name: paperless-ai
restart: unless-stopped
depends_on:
- ollama
- paperless
ports:
- "3000:3000"
env_file:
- ./paperless-ai/.env
volumes:
- ./paperless-ai/data:/app/data
# paperless-gpt service
paperless-gpt:
image: icereed/paperless-gpt:latest
container_name: paperless-gpt
restart: unless-stopped
depends_on:
- ollama
- paperless
ports:
- "3002:8080"
env_file:
- ./paperless-gpt/.env
volumes:
- ./paperless-gpt/prompts:/app/prompts # Mount the prompts directory
# optional but helpful log viewer
dozzle:
image: amir20/dozzle:latest
restart: unless-stopped
container_name: dozzle
env_file:
- ./dozzle/.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./dozzle/data:/data
ports:
- "8080:8080"