@@ -32,7 +32,7 @@ Papermerge is perfect tool for long term storage of your documents.
32
32
* Document Versioning
33
33
* Tags - assign colored tags to documents or folders
34
34
* Documents and Folders - users can organize documents in folders
35
- * Document Types
35
+ * Document Types (i.e. Categories)
36
36
* Custom Fields (metadata) per document type
37
37
* Multi-User
38
38
* Page Management - delete, reorder, cut, move, extract pages
@@ -41,144 +41,28 @@ Papermerge is perfect tool for long term storage of your documents.
41
41
42
42
Papermerge DMS documentation is available at [ https://docs.papermerge.io ] ( https://docs.papermerge.io/ )
43
43
44
- ## Docker
44
+ ## Start with Docker
45
45
46
- In order to start Papermerge REST API server as docker image use following command:
46
+ In order to start Papermerge App with the most basic setup use following command:
47
47
48
48
docker run -p 8000:80 \
49
49
-e PAPERMERGE__SECURITY__SECRET_KEY=abc \
50
50
-e PAPERMERGE__AUTH__PASSWORD=123 \
51
- papermerge/papermerge:3.0.3
51
+ papermerge/papermerge:3.3.1
52
52
53
+ For more info about various docker compose scenarios check [ documentation page] ( https://docs.papermerge.io/3.3/setup/docker-compose/ ) .
53
54
54
- If you want initial superuser to have another username (e.g. john), use
55
- ` PAPERMERGE__AUTH__USERNAME ` environment variable:
56
55
57
- docker run -p 8000:80 \
58
- -e PAPERMERGE__SECURITY__SECRET_KEY=abc \
59
- -e PAPERMERGE__AUTH__PASSWORD=123 \
60
- -e PAPERMERGE__AUTH__USERNAME=john \
61
- papermerge/papermerge:3.0.3
62
-
63
- Note that above docker command start only web UI. In order to run OCR on the documents you need at least one
64
- worker instance.
65
-
66
- ## Docker Compose
67
-
68
- Here is an example of complete setup with web ui, one worker (which performs OCR), and PostgreSQL database for
69
- storing data:
70
-
71
- version: "3.9"
72
-
73
- x-backend: &common
74
- image: papermerge/papermerge:3.0.3
75
- environment:
76
- PAPERMERGE__SECURITY__SECRET_KEY: 12345
77
- PAPERMERGE__AUTH__USERNAME: john
78
- PAPERMERGE__AUTH__PASSWORD: hohoho
79
- PAPERMERGE__DATABASE__URL: postgresql://scott:tiger@db:5432/mydatabase
80
- PAPERMERGE__REDIS__URL: redis://redis:6379/0
81
- volumes:
82
- - index_db:/core_app/index_db
83
- - media:/core_app/media
84
- services:
85
- web:
86
- <<: *common
87
- ports:
88
- - "12000:80"
89
- depends_on:
90
- - redis
91
- - db
92
- worker:
93
- <<: *common
94
- command: worker
95
- redis:
96
- image: redis:6
97
- db:
98
- image: bitnami/postgresql:16.1.0
99
- volumes:
100
- - postgres_data:/var/lib/postgresql/data/
101
- environment:
102
- POSTGRESQL_USER: scott
103
- POSTGRESQL_PASSWORD: tiger
104
- POSTGRESQL_POSTGRES_PASSWORD: tiger
105
- POSTGRESQL_DATABASE: mydatabase
106
- volumes:
107
- postgres_data:
108
- index_db:
109
- media:
110
-
111
- Open your web browser and point it to http://localhost:12000 .
112
-
113
- Following docker compose file starts Papermerge (web UI and one worker) with
114
- MariaDB as database and Solr as search engine backend:
115
-
116
- version: "3.9"
117
-
118
- x-backend: &common
119
- image: papermerge/papermerge:3.0.3
120
- environment:
121
- PAPERMERGE__SECURITY__SECRET_KEY: 1234 # top secret
122
- PAPERMERGE__AUTH__USERNAME: eugen
123
- PAPERMERGE__AUTH__PASSWORD: 1234
124
- PAPERMERGE__DATABASE__URL: mysql://myuser:mypass@db:3306/paperdb
125
- PAPERMERGE__REDIS__URL: redis://redis:6379/0
126
- PAPERMERGE__SEARCH__URL: solr://solr:8983/pmg-index
127
- volumes:
128
- - media_root:/core_app/media
129
- depends_on:
130
- - redis
131
- - solr
132
- - db
133
-
134
- services:
135
- web:
136
- <<: *common
137
- ports:
138
- - "12000:80"
139
- worker:
140
- <<: *common
141
- command: worker
142
- redis:
143
- image: redis:6
144
- solr:
145
- image: solr:9.3
146
- ports:
147
- - "8983:8983"
148
- volumes:
149
- - solr_data:/var/solr
150
- command:
151
- - solr-precreate
152
- - pmg-index
153
- db:
154
- image: mariadb:11.2
155
- volumes:
156
- - maria:/var/lib/mysql
157
- environment:
158
- MYSQL_ROOT_PASSWORD: mypass
159
- MYSQL_DATABASE: paperdb
160
- MYSQL_USER: myuser
161
- MYSQL_PASSWORD: mypass
162
- volumes:
163
- maria:
164
- solr_data:
165
- media_root:
166
-
167
- Open your web browser and point it to http://localhost:12000 .
168
-
169
- ## Ansible Playbook
170
-
171
- In order to deploy Papermerge on remote production machine (homelab VM, or cloud VPS instance)
172
- use following [ Ansible Playbook] ( https://github.com/papermerge/ansible ) .
173
-
174
- ## Tests
175
-
176
- poetry install
177
- poetry shell
178
- pytest tests/
179
-
180
- ## Linting
181
-
182
- Use following command to make sure that your code is formatted per PEP8 spec:
183
-
184
- poetry run task lint
56
+ ## Demo Page
57
+
58
+ Online demo is available at: https://papermerge.com/demo
59
+
60
+ ```
61
+ Username: demo
62
+ Password: demo
63
+ ```
64
+
65
+ Please note that, in order to save resources, online demo instance is deployed
66
+ using very basic setup: there is no OCR worker and no full text search engine
67
+ behind. Online instance is reseted every 24 hours (0:00 UTC timezone). Reset
68
+ means that all data is restored to initial state and all documents are deleted.
0 commit comments