104 Commits

Author SHA1 Message Date
Jonas Winkler
5a055dfe60 added a handy script to make a release package. 2020-11-14 12:58:11 +01:00
Jonas Winkler
1d759b75b5 getting paperless-ng ready for the first release. 2020-11-14 12:10:51 +01:00
Jonas Winkler
f92ee0068c updated some dependencies, updated docker files 2020-11-13 18:42:32 +01:00
Jonas Winkler
024fcde9de a handy script that brings up postgres and redis 2020-11-11 20:25:33 +01:00
Jonas Winkler
9d22d9c9b1 added a task scheduler for recurring tasks 2020-11-09 20:29:10 +01:00
Jonas Winkler
8f4ddb30c1 updated dockerfiles 2020-11-01 23:01:36 +01:00
Jonas Winkler
5c4849796b fixed folders, compatible with previous paperless version 2020-10-29 14:30:15 +01:00
Jonas Winkler
70c1a0e717 i fixed the docker 2020-10-29 00:46:57 +01:00
Jonas Winkler
2c21b3b8ba moved gunicorn config 2020-10-27 01:08:50 +01:00
lawtancool
02698fab43
change gunicorn workers to 3
Assuming a single core system,  (2 x $num_cores) + 1 = 3
(see https://docs.gunicorn.org/en/stable/design.html#how-many-workers)
2020-05-19 09:41:08 -07:00
lawtancool
d0bac60300
Change gunicorn workers from 1 to 4
see https://docs.gunicorn.org/en/stable/design.html#how-many-workers
2020-05-03 20:16:55 -07:00
ahyear
b741f1e504
Merge pull request #599 from ljm42/patch-1
Allow non-unique GIDs
2020-03-15 04:43:09 +01:00
JOKer
65c19999e8
Merge pull request #581 from nxnjz/patch-1
added dependency on network.target so that paperless-webserver can cleanly shutdown before the network goes down (during reboots, etc.)

network-online.target is not required when accessing paperless on localhost, so having a dependency on it is not necessary.
2020-02-28 23:12:26 +01:00
nxnjz
56c686da1e
Update paperless-webserver.service 2020-02-27 20:05:50 +02:00
ljm42
ad42e7fabe
Allow non-unique GIDs
Need to allow non-unique group ids, so paperless can map to an existing GID.

The comment says the map_uidgid() function came from docker-gitlab, the same fix was applied there too:
  c80bd87662
2020-01-05 18:20:03 -08:00
nxnjz
2cb172b4aa
added dependency on network.target 2019-11-19 22:16:53 +02:00
Fabian Winter
9c1fcbcc98 Address comments 2019-11-03 20:14:17 +01:00
Fabian Winter
9b2b435c5b Support SSL for web interface
Thanks to @MasterofJOKers, here is basic support for SSL:
You need to create your key and certificate and copy them to the `data`
directory, named `ssl.cert` and `ssl.key`.
Then, set `PAPERLESS_USE_SSL` in `docker-compose.env` to `true`.

Solves #576.
2019-11-03 18:30:43 +01:00
Florian Gabsteiger
d390005c5c Enable user-controlled gunicorn options in docker-compose file 2019-09-22 11:47:22 +02:00
Florian Gabsteiger
bdeaf33462 Copy gunicorn.conf to docker container and use it in entrypoint 2019-09-22 11:47:22 +02:00
Florian Gabsteiger
dcc959d4f7 Add gunicorn option to docker-entrypoint script 2019-09-22 11:47:22 +02:00
schwabelbauch
ba5241619a
Update docker-entrypoint.sh
fixed issue with installing tesseract languages
2019-03-27 22:22:20 +01:00
Daniel Quinn
4a71c33537 Use [[]] instead of [] in Bash scripts 2018-12-30 17:32:17 +00:00
Joshua Taillon
63e2fbe0c9
Update paperless-webserver.service
Update `gunicorn` command to use `--pythonpath`
2018-11-16 09:21:07 -05:00
Sharif Nassar
0b377a76d0 Remove Vagrant docs
* Vagrant does not seem to have any libvirt boxes for Ubuntu any more.
* Vagrant 2 was released a year ago, but vagrant-libvirt only claims
  to support up to Vagrant 1.8.
2018-10-13 11:31:53 -07:00
Daniel Quinn
24d3e7f9d3 Merge @ovv's documentation changes and tweak the grammar a bit 2018-07-08 22:14:17 +01:00
Sven Fischer
a752a4a91a fix bug where docker-entrypoint.sh exits w/o notice
This commit fixes a nasty bug, where the docker-entrypoint.sh silently
exits without any error message. The test for a lock file can fail and
due to the `set -e` at the beginning of the file the bash script exists
without starting the paperless application.
It is fixed by moving the check for the existence of the lock file into
the if statement, where the `set -e` does not trigger an exit in case
the statement fails.

Additionally this commit enables the script to trap exit signals and in
that case deletes the lock file.
2018-05-15 19:34:21 +02:00
Ovv
6fd9995aa1 Installation documentation setup
Issue #329
2018-04-25 19:51:21 +02:00
Erik Arvstedt
1f2079f65a Use --noreload for permanent server start commands
Without it, the server is highly resource-intensive even when
running idle
2018-03-23 11:13:20 +01:00
Daniel Quinn
08adb2f540
Merge pull request #312 from pitkley/docker-fix-groupmod
Fix modifying the GID under alpine
2018-02-25 12:43:22 +01:00
Pit Kleyersburg
4333ee01bc Fix modifying the GID under alpine
Fixes #306.
2018-02-25 12:36:51 +01:00
Georgi Todorov
3f9ea7b971 Add a dependency link between two containers and change the way Django migrations are done. Provide example for auto-starting the containers 2018-02-05 18:23:35 -05:00
Guy
7e49d047b0 adapted docker-entrypoint script for alpine docker image (mainly how to
install additional OCR languages)
2017-12-20 16:17:58 +02:00
Pit Kleyersburg
80a849fef7 Set g+w on the consumption/export directories
This should fix issue #267.
2017-10-31 15:30:33 +01:00
Sven Fischer
4460fb7004 docker-entrypoint.sh: fix shellcheck issues
issues found by shellcheck were:

```
$ shellcheck docker-entrypoint.sh

In docker-entrypoint.sh line 10:
    if [[ ${USERMAP_UID} != ${USERMAP_ORIG_UID} || ${USERMAP_GID} != ${USERMAP_ORIG_GID} ]]; then
                            ^-- SC2053: Quote the rhs of != in [[ ]] to prevent glob matching.
                                                                     ^-- SC2053: Quote the rhs of != in [[ ]] to prevent glob matching.

In docker-entrypoint.sh line 12:
        groupmod -g ${USERMAP_GID} paperless
                    ^-- SC2086: Double quote to prevent globbing and word splitting.

In docker-entrypoint.sh line 65:
        if dpkg -s "$pkg" 2>&1 > /dev/null; then
                          ^-- SC2069: The order of the 2>&1 and the redirect matters. The 2>&1 has to be last.

In docker-entrypoint.sh line 69:
        if ! apt-cache show "$pkg" 2>&1 > /dev/null; then
                                   ^-- SC2069: The order of the 2>&1 and the redirect matters. The 2>&1 has to be last.
```
2017-06-12 21:09:59 +02:00
Sven Fischer
b2b6cbe9c8 Docker: review refacorting for export directory preparation 2017-05-02 19:52:36 +02:00
Sven Fischer
4c05a511c2 Docker: review fix: if end-user host-mounts the export directory 2017-05-02 19:06:01 +02:00
avichalp
92900f5c7e add gunicorn configuration file 2016-09-21 00:04:41 +05:30
Daniel Quinn
e0ce2a7656 The consumer hook shouldn't contain the passphrase. That was a bad idea 2016-04-03 19:35:17 +01:00
Daniel Quinn
263d60858f Fixed up the consumer hook example 2016-04-03 19:28:24 +01:00
Pit Kleyersburg
f88ec987a3 Don't fail on setting consumption-dir permissions
Changing the group or permissions on the consumption directory can fail,
especially on network-mounted directories. If it fails, don't exit the
consumer, but rather output a warning on what the user has to do.

This is related to (and should close) issue #102.
2016-03-30 15:49:56 +02:00
Daniel Quinn
cb2df58b27 Everything appears to be working 2016-03-28 19:47:11 +01:00
Pit Kleyersburg
fb36a49c26 Add unpaper as another pre-processing step 2016-03-06 15:30:37 +01:00
Daniel Quinn
1ffce8f52d Documented the API and added some help for the config file 2016-03-04 23:59:13 +00:00
Daniel Quinn
66d4407565 #68: Using dotenv for a proper unix config file 2016-03-03 18:01:02 +00:00
Daniel Quinn
0aead1fbe6 #68: Using dotenv for a proper unix config file 2016-03-03 17:59:27 +00:00
Daniel Quinn
4d685ee424 Merge branch 'master' of github.com:danielquinn/paperless 2016-03-03 11:00:58 +00:00
Daniel Quinn
dd3bdcb956 Updated the Vagrant tools to use environment variables 2016-03-03 11:00:46 +00:00
Pit Kleyersburg
21cd4e9f14 Update env-var in Dockerfile, fix volume names 2016-03-02 09:10:52 +01:00
Pit Kleyersburg
724afa59c7 Add Dockerfile for application and documentation
This commit adds a `Dockerfile` to the root of the project, accompanied
by a `docker-compose.yml.example` for simplified deployment. The
`Dockerfile` is agnostic to whether it will be the webserver, the
consumer, or if it is run for a one-off command (i.e. creation of a
superuser, migration of the database, document export, ...).

The containers entrypoint is the `scripts/docker-entrypoint.sh` script.
This script verifies that the required permissions are set, remaps the
default users and/or groups id if required and installs additional
languages if the user wishes to.

After initialization, it analyzes the command the user supplied:

  - If the command starts with a slash, it is expected that the user
    wants to execute a binary file and the command will be executed
    without further intervention. (Using `exec` to effectively replace
    the started shell-script and not have any reaping-issues.)

  - If the command does not start with a slash, the command will be
    passed directly to the `manage.py` script without further
    modification. (Again using `exec`.)

The default command is set to `--help`.

If the user wants to execute a command that is not meant for `manage.py`
but doesn't start with a slash, the Docker `--entrypoint` parameter can
be used to circumvent the mechanics of `docker-entrypoint.sh`.

Further information can be found in `docs/setup.rst` and in
`docs/migrating.rst`.

For additional convenience, a `Dockerfile` has been added to the `docs/`
directory which allows for easy building and serving of the
documentation. This is documented in `docs/requirements.rst`.
2016-02-18 22:58:32 +01:00