mirror of
				https://github.com/TheAnachronism/docspell.git
				synced 2025-11-03 18:00:11 +00:00 
			
		
		
		
	Update documentation
This commit is contained in:
		
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							@@ -1,8 +1,10 @@
 | 
				
			|||||||
<img align="right" src="./artwork/logo-only.svg" height="150px" style="padding-left: 20px"/>
 | 
					<img align="right" src="./artwork/logo-only.svg" height="150px" style="padding-left: 20px"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[](https://travis-ci.org/eikek/docspell)
 | 
					[](https://travis-ci.org/eikek/docspell)
 | 
				
			||||||
[](https://scala-steward.org)
 | 
					[](https://scala-steward.org)
 | 
				
			||||||
 | 
					[](https://github.com/eikek/docspell/blob/master/LICENSE.txt)
 | 
				
			||||||
 | 
					[](https://hub.docker.com/r/eikek0/docspell)
 | 
				
			||||||
 | 
					[](https://gitter.im/eikek/docspell)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Docspell
 | 
					# Docspell
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -65,14 +67,14 @@ away:
 | 
				
			|||||||
``` shell
 | 
					``` shell
 | 
				
			||||||
git clone https://github.com/eikek/docspell
 | 
					git clone https://github.com/eikek/docspell
 | 
				
			||||||
cd docspell
 | 
					cd docspell
 | 
				
			||||||
docker-compose up
 | 
					DOCSPELL_HEADER_VALUE="my-secret-123" docker-compose up
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Then go to `http://localhost:7880`, sign up and login. Use the same
 | 
					Then go to `http://localhost:7880`, sign up and login. Use the same
 | 
				
			||||||
name for collective and user for now. More on that can be found
 | 
					name for collective and user for now. More on that can be found
 | 
				
			||||||
[here](https://docspell.org/docs/intro/).
 | 
					[here](https://docspell.org/docs/intro/).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
There are other ways, documented
 | 
					Other ways are documented
 | 
				
			||||||
[here](https://docspell.org/docs/install/quickstart/):
 | 
					[here](https://docspell.org/docs/install/quickstart/):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Install the [provided](https://github.com/eikek/docspell/releases)
 | 
					- Install the [provided](https://github.com/eikek/docspell/releases)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,6 +62,12 @@ The directory contains a file `docspell.conf` that you can
 | 
				
			|||||||
                    ]
 | 
					                    ]
 | 
				
			||||||
                , ul []
 | 
					                , ul []
 | 
				
			||||||
                    [ li []
 | 
					                    [ li []
 | 
				
			||||||
 | 
					                        [ text "Find out "
 | 
				
			||||||
 | 
					                        , a [ href "/docs/feed" ]
 | 
				
			||||||
 | 
					                            [ text "how files can get into Docspell."
 | 
				
			||||||
 | 
					                            ]
 | 
				
			||||||
 | 
					                        ]
 | 
				
			||||||
 | 
					                    , li []
 | 
				
			||||||
                        [ text "The "
 | 
					                        [ text "The "
 | 
				
			||||||
                        , a [ href "/docs/intro" ]
 | 
					                        , a [ href "/docs/intro" ]
 | 
				
			||||||
                            [ text "introduction" ]
 | 
					                            [ text "introduction" ]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										128
									
								
								website/site/content/docs/feed/_index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								website/site/content/docs/feed/_index.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,128 @@
 | 
				
			|||||||
 | 
					+++
 | 
				
			||||||
 | 
					title = "Feed Data into Docspell"
 | 
				
			||||||
 | 
					weight = 5
 | 
				
			||||||
 | 
					description = "Shows several ways for getting data into Docspell."
 | 
				
			||||||
 | 
					insert_anchor_links = "right"
 | 
				
			||||||
 | 
					[extra]
 | 
				
			||||||
 | 
					mktoc = true
 | 
				
			||||||
 | 
					+++
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					One of the main goals is to stow documents away quickly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Docspell makes no assumptions about where your documents are. It
 | 
				
			||||||
 | 
					offers just one HTTP endpoint that accepts files. (Well, technically
 | 
				
			||||||
 | 
					you create them in the webapp, and you can create many of them.) This
 | 
				
			||||||
 | 
					endpoint is designed to work conveniently with tools like
 | 
				
			||||||
 | 
					[curl](https://curl.haxx.se/) and it should be easy to use from other
 | 
				
			||||||
 | 
					languages, too.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					So the idea is to have most flexibility – that is, it is up to you how
 | 
				
			||||||
 | 
					documents arrive. Of course, there is something prepared:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Upload in Webapp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is the simplest way, but also the least flexible. You can just
 | 
				
			||||||
 | 
					login and go to the upload page to submit files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ figure(file="web-upload.png") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This requires to login at the webapp. Since this is complicated from
 | 
				
			||||||
 | 
					other applications, you can create custom hard-to-guess endpoints to
 | 
				
			||||||
 | 
					use with the following options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Scanners
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you have a (document) scanner (or think about getting one), it can
 | 
				
			||||||
 | 
					usually be configured to place scanned documents as image or PDF files
 | 
				
			||||||
 | 
					on your NAS. On your NAS, run the provided `consumedir.sh` script as a
 | 
				
			||||||
 | 
					service (there is a docker container to get started) that watches this
 | 
				
			||||||
 | 
					directory and uploads all incoming files to Docspell. The script can
 | 
				
			||||||
 | 
					watch directories recursively and can skip files already uploaded, so
 | 
				
			||||||
 | 
					you can organize the files as you want in there (rename, move etc).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The scanner should support 300dpi for better results. Docspell
 | 
				
			||||||
 | 
					converts the files into PDF adding a text layer of image-only files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ buttonright(classes="is-primary ", href="/docs/tools/consumedir", text="More") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Android
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There is an android client provided that lets you upload files from
 | 
				
			||||||
 | 
					your android devices. The idea is to use a separate app, like
 | 
				
			||||||
 | 
					[OpenNoteScanner](https://github.com/ctodobom/OpenNoteScanner), to
 | 
				
			||||||
 | 
					"scan" documents using your phone/tablet and then upload it to
 | 
				
			||||||
 | 
					Docspell. For the upload part, you can use the provided app. It hooks
 | 
				
			||||||
 | 
					into the Share-With menu and uploads the file to Docspell.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is especially useful to quickly upload small things like shopping
 | 
				
			||||||
 | 
					receipts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="columns is-centered">
 | 
				
			||||||
 | 
					  <div class="column is-one-third">
 | 
				
			||||||
 | 
					    <img src="/docs/tools/screenshot-share.jpg">
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  <div class="column is-one-third">
 | 
				
			||||||
 | 
					    <img src="/docs/tools/screenshot-uploading.jpg">
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ buttonright(classes="is-primary ", href="/docs/tools/android", text="More") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Poll E-Mails
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Your mailbox can be polled periodically to import mails. For example,
 | 
				
			||||||
 | 
					create a dedicated folder in your e-mail client and move mails in
 | 
				
			||||||
 | 
					there that you want to push to Docspell. You can then define a
 | 
				
			||||||
 | 
					recurring job, that looks into this folders and imports the mails.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ figure(file="scanmailbox.png") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ buttonright(classes="is-primary ", href="/docs/webapp/scanmailbox", text="More") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# E-Mail Server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is a little more involved, but can be quite nice. A SMTP server
 | 
				
			||||||
 | 
					can be setup that simply uploads incoming mails to Docspell (using
 | 
				
			||||||
 | 
					curl), instead of storing the mails on disk. This requires some
 | 
				
			||||||
 | 
					knowledge to setup such a server and it makes sense to own a domain.
 | 
				
			||||||
 | 
					The SMTP server would accept mails to *[your-username]@[your-domain]*
 | 
				
			||||||
 | 
					and resolves the *[your-username]* part in Docspell to upload the
 | 
				
			||||||
 | 
					files to the correct account.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There is a docker container prepared to get started. Click below to
 | 
				
			||||||
 | 
					read more.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ buttonright(classes="is-primary ", href="/docs/tools/smtpgateway", text="More") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Command-Line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					I like to use the command line, so there is a small script that
 | 
				
			||||||
 | 
					accepts one or more files and uploads them to a configured Docspell
 | 
				
			||||||
 | 
					url. It is possible to let the script delete all successfully uploaded
 | 
				
			||||||
 | 
					files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="columns is-centered">
 | 
				
			||||||
 | 
					  <div class="column is-four-fifths">
 | 
				
			||||||
 | 
					    <script id="asciicast-1GbSkyIq03hyzfGfvbcJRtSn8" src="https://asciinema.org/a/1GbSkyIq03hyzfGfvbcJRtSn8.js" async></script>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The script can also be used to only check if a file already exists in
 | 
				
			||||||
 | 
					your account.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ buttonright(classes="is-primary ", href="/docs/tools/ds", text="More") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Browser Extension
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For Firefox, there is a browser extension that creates a context-menu
 | 
				
			||||||
 | 
					entry if you right-click on a link. It then downloads the file to your
 | 
				
			||||||
 | 
					disk and uploads it to Docspell.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ buttonright(classes="is-primary ", href="/docs/tools/browserext", text="More") }}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								website/site/content/docs/feed/scanmailbox.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								website/site/content/docs/feed/scanmailbox.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 121 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								website/site/content/docs/feed/web-upload.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								website/site/content/docs/feed/web-upload.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 39 KiB  | 
@@ -1,7 +1,7 @@
 | 
				
			|||||||
+++
 | 
					+++
 | 
				
			||||||
title = "Introduction"
 | 
					title = "Introduction"
 | 
				
			||||||
weight = 0
 | 
					weight = 0
 | 
				
			||||||
description = "Gives a short introduction to the goals of docspell and an overview of the components involved when running docspell."
 | 
					description = "Gives a short introduction to the goals of docspell and an overview of the components involved."
 | 
				
			||||||
insert_anchor_links = "right"
 | 
					insert_anchor_links = "right"
 | 
				
			||||||
[extra]
 | 
					[extra]
 | 
				
			||||||
mktoc = true
 | 
					mktoc = true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,7 +61,7 @@ directly into a folder given by `-p`, but below a sub-directory that
 | 
				
			|||||||
matches a collective name. In order to know for which collective the
 | 
					matches a collective name. In order to know for which collective the
 | 
				
			||||||
file is, the script uses the first subfolder.
 | 
					file is, the script uses the first subfolder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If the endpoint is protected, these credentials can be specified as
 | 
					If the endpoint is protected, the credentials can be specified as
 | 
				
			||||||
arguments `--iuser` and `--iheader`, respectively. The format is for
 | 
					arguments `--iuser` and `--iheader`, respectively. The format is for
 | 
				
			||||||
both `<name>:<value>`, so the username cannot contain a colon
 | 
					both `<name>:<value>`, so the username cannot contain a colon
 | 
				
			||||||
character (but the password can).
 | 
					character (but the password can).
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								website/site/templates/shortcodes/buttonright.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								website/site/templates/shortcodes/buttonright.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					<div class="is-clearfix">
 | 
				
			||||||
 | 
					    <a class="button is-pulled-right {{ classes }}" href="{{ href }}">
 | 
				
			||||||
 | 
					        {{ text }}
 | 
				
			||||||
 | 
					    </a>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
@@ -1,5 +1,10 @@
 | 
				
			|||||||
<figure class="image">
 | 
					<figure class="image">
 | 
				
			||||||
    {% set len = page.components | length %}
 | 
					    {% if page is defined %}
 | 
				
			||||||
    {% set p = page.components | slice(end=len - 1) | join(sep='/') %}
 | 
					    {%   set len = page.components | length %}
 | 
				
			||||||
 | 
					    {%   set p = page.components | slice(end=len - 1) | join(sep='/') %}
 | 
				
			||||||
 | 
					    {% else %}
 | 
				
			||||||
 | 
					    {%   set p = section.components | join(sep='/') %}
 | 
				
			||||||
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <img src="{{ get_url(path=p  ~ "/" ~ file) }}">
 | 
					    <img src="{{ get_url(path=p  ~ "/" ~ file) }}">
 | 
				
			||||||
</figure>
 | 
					</figure>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user