Update installation instruction using Docker.
This commit is contained in:
14
docs/_templates/donate.html
vendored
14
docs/_templates/donate.html
vendored
@@ -1,4 +1,16 @@
|
||||
<h3>Support</h3>
|
||||
<p>
|
||||
Consulting, support, customization, rebranding, and plug-in development are available. Email for information to: <a href='mailto:info@mayan-edms.com'>info@mayan-edms.com</a>
|
||||
<a href='http://www.mayan-edms.com/providers/'>Consulting and support plans are available, click here</a>.
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
Or consider supporting Mayan EDMS by contributing to its development. (US tax payers, please note this contribution is not tax deductible).
|
||||
</p>
|
||||
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
|
||||
<input type="hidden" name="cmd" value="_s-xclick">
|
||||
<input type="hidden" name="hosted_button_id" value="3PXN336XFXQNN">
|
||||
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
||||
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1" style="display: none !important;">
|
||||
</form>
|
||||
|
||||
<hr />
|
||||
|
||||
@@ -1,26 +1,10 @@
|
||||
Welcome to Mayan EDMS!
|
||||
======================
|
||||
|
||||
Mayan EDMS is a `Free Open Source`_ `Electronic Document Management System`_, coded in
|
||||
the Python language using the Django_ web application framework and released
|
||||
under the `Apache 2.0 License`_. It provides an electronic vault or repository for electronic documents.
|
||||
|
||||
The easiest way to use Mayan EDMS is by using a Debian based Linux distribution
|
||||
and install it from PyPI with the following commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt-get install libjpeg-dev libmagic1 libpng-dev \
|
||||
libreoffice libtiff-dev gcc ghostscript gnupg python-dev \
|
||||
python-virtualenv tesseract-ocr poppler-utils -y
|
||||
$ virtualenv venv
|
||||
$ source venv/bin/activate
|
||||
(venv) pip install mayan-edms
|
||||
(venv) mayan-edms.py initialsetup
|
||||
(venv) mayan-edms.py runserver
|
||||
|
||||
Point your browser to 127.0.0.1:8000 and use the automatically created admin
|
||||
account.
|
||||
Mayan EDMS is a `Free Open Source`_ `Electronic Document Management System`_,
|
||||
coded in the Python language using the Django_ web application framework and
|
||||
released under the `Apache 2.0 License`_. It provides an electronic vault or
|
||||
repository for electronic documents.
|
||||
|
||||
.. image:: /_static/overview.gif
|
||||
:alt: Overview
|
||||
@@ -28,9 +12,9 @@ account.
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
Features <topics/features>
|
||||
Installation <topics/installation>
|
||||
Deploying <topics/deploying>
|
||||
Features <topics/features>
|
||||
Advanced deployment <topics/deploying>
|
||||
Release notes and upgrading <releases/index>
|
||||
Concepts <topics/index>
|
||||
Development <topics/development>
|
||||
@@ -42,6 +26,7 @@ account.
|
||||
FAQ <topics/faq>
|
||||
Contact <topics/contact>
|
||||
|
||||
.. _Docker: https://www.docker.com/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
.. _Free Open Source: http://en.wikipedia.org/wiki/Open_source
|
||||
.. _Electronic Document Management System: https://en.wikipedia.org/wiki/Document_management_system
|
||||
|
||||
@@ -18,7 +18,7 @@ Other changes
|
||||
- Improve upgrade instructions
|
||||
- New image caching pipeline
|
||||
- New drop down menus for the documents, folders and tags app as well as for
|
||||
the user links
|
||||
the user links
|
||||
- Dashboard
|
||||
- Moved licenses to their own module in every app
|
||||
- Update project to work with Django 1.10.4
|
||||
@@ -30,14 +30,14 @@ the user links
|
||||
- Sample documents moved to distribution to allow running all tests in production.
|
||||
- DEBUG now defaults to False.
|
||||
- Production settings don't override the DEBUG variable. DEBUG can be set to True
|
||||
on production install to debug errors live.
|
||||
on production install to debug errors live.
|
||||
- Refactor add document to folder view to allow adding a documents to multiple folders at the same time.
|
||||
- Refactor the remove document from folder view to allow removing documents from multiple folders at the same time.
|
||||
- Refactor the document mailing views and add support for sending multiple documents via email at the same time.
|
||||
- Refactor the document metadata views and add support for adding multiple metadata types to a document at the same time.
|
||||
- Addition of a new OCR backend using PyOCR. This backend tries first to do OCR
|
||||
using libtesseract. If libtesseract is not available the backend defaults to
|
||||
calling the Tesseract executable.
|
||||
using libtesseract. If libtesseract is not available the backend defaults to
|
||||
calling the Tesseract executable.
|
||||
- Language list moved from document model to document form.
|
||||
- Enable password validation for the user password change view, user password change API endpoint, current user view and current user API endpoint.
|
||||
- New API endpoints (initial work by @lokeshmanmode):
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
=========
|
||||
Deploying
|
||||
=========
|
||||
===================
|
||||
Advanced deployment
|
||||
===================
|
||||
|
||||
Below are some ways to deploye and use Mayan EDMS. Do use more than one method.
|
||||
Mayan EDMS should be deployed like any other Django_ project and
|
||||
preferably using virtualenv_.
|
||||
|
||||
OS "bare metal" method
|
||||
======================
|
||||
Being a Django_ and a Python_ project, familiarity with these technologies is
|
||||
recommended to better understand why Mayan EDMS does some of the things it
|
||||
does.
|
||||
|
||||
Like other Django based projects Mayan EDMS can be deployed in a wide variety
|
||||
of ways. The method provided below is only a bare minimum example.
|
||||
These instructions are independent of the instructions mentioned in the
|
||||
:doc:`installation` chapter but assume you have already made a test install to
|
||||
test the compatibility of your operating system. These instruction are for
|
||||
Ubuntu 16.10.
|
||||
Binary dependencies
|
||||
===================
|
||||
|
||||
Switch to superuser::
|
||||
Ubuntu
|
||||
------
|
||||
|
||||
sudo -i
|
||||
|
||||
Install all system dependencies::
|
||||
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
|
||||
requirements using::
|
||||
|
||||
apt-get install nginx supervisor redis-server postgresql \
|
||||
libpq-dev libjpeg-dev libmagic1 libpng-dev libreoffice \
|
||||
@@ -29,6 +27,79 @@ If using Ubuntu 16.10 also install GPG version 1 (as GPG version 2 is the new de
|
||||
|
||||
apt-get install gnupg1 -y
|
||||
|
||||
|
||||
Mac OSX
|
||||
-------
|
||||
|
||||
Mayan EDMS is dependent on a number of binary packages and the recommended
|
||||
way is to use a package manager such as `MacPorts <https://www.macports.org/>`_
|
||||
or `Homebrew <http://brew.sh/>`_.
|
||||
|
||||
|
||||
Use MacPorts to install binary dependencies
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
With MacPorts installed run the command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo port install python-dev gcc tesseract-ocr unpaper \
|
||||
python-virtualenv ghostscript libjpeg-dev libpng-dev \
|
||||
poppler-utils
|
||||
|
||||
Set the Binary paths
|
||||
********************
|
||||
|
||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs
|
||||
so either you can symlink the binaries installed via MacPorts in /opt/local/bin/
|
||||
to /usr/bin/ with ...
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo ln -s /opt/local/bin/tesseract /usr/bin/tesseract
|
||||
|
||||
... alternatively set the paths in the ``settings/locals.py``
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
||||
|
||||
Or Use Homebrew
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
With Homebrew installed run the command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
brew install python gcc tesseract unpaper poppler libpng postgresql
|
||||
|
||||
Set the Binary paths
|
||||
********************
|
||||
|
||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs
|
||||
so either you can symlink the binaries installed via brew in /usr/local/bin/
|
||||
to /usr/bin/ with ...
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo ln -s /usr/local/bin/tesseract /usr/bin/tesseract && \
|
||||
sudo ln -s /usr/local/bin/unpaper /usr/bin/unpaper && \
|
||||
sudo ln -s /usr/local/bin/pdftotext /usr/bin/pdftotext && \
|
||||
sudo ln -s /usr/local/bin/gs /usr/bin/gs
|
||||
|
||||
... alternatively set the paths in the ``settings/locals.py``
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
||||
|
||||
|
||||
Common steps
|
||||
------------
|
||||
Switch to superuser::
|
||||
|
||||
sudo -i
|
||||
|
||||
Change to the directory where the project will be deployed::
|
||||
|
||||
cd /usr/share
|
||||
@@ -200,70 +271,9 @@ Restart the services::
|
||||
systemctl restart supervisor
|
||||
systemctl restart nginx
|
||||
|
||||
Docker method
|
||||
=============
|
||||
|
||||
Deploy the Docker image stack::
|
||||
|
||||
docker run --name postgres -e POSTGRES_DB=mayan -e POSTGRES_USER=mayan -e POSTGRES_PASSWORD=mysecretpassword -v /var/lib/postgresql/data -d postgres
|
||||
docker run --name redis -d redis
|
||||
docker run --name mayan-edms -p 80:80 --link postgres:postgres --link redis:redis -e POSTGRES_DB=mayan -e POSTGRES_USER=mayan -e POSTGRES_PASSWORD=mysecretpassword -v /usr/local/lib/python2.7/dist-packages/mayan/media -d mayanedms/monolithic
|
||||
|
||||
After the Mayan EDMS container finishes initializing (about 5 minutes), it will
|
||||
be available by browsing to http://127.0.0.1. You can inspect the initialization
|
||||
with::
|
||||
|
||||
docker logs mayan-edms
|
||||
|
||||
|
||||
Docker Compose method
|
||||
=====================
|
||||
|
||||
Create a file named ``environment`` with the following content::
|
||||
|
||||
POSTGRES_DB=mayan
|
||||
POSTGRES_PASSWORD=mayanpassword
|
||||
POSTGRES_USER=mayan
|
||||
|
||||
Create a file named ``docker-compose.yml`` with the content::
|
||||
|
||||
postgres:
|
||||
env_file:
|
||||
- ./environment
|
||||
image: postgres
|
||||
volumes:
|
||||
- /var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
|
||||
mayan-edms:
|
||||
env_file:
|
||||
- ./environment
|
||||
image: mayanedms/monolithic
|
||||
links:
|
||||
- postgres
|
||||
- redis
|
||||
ports:
|
||||
- "80:80"
|
||||
volumes:
|
||||
- /usr/local/lib/python2.7/dist-packages/mayan/media
|
||||
|
||||
Launch the entire stack (Postgres, Redis, and Mayan EDMS) using::
|
||||
|
||||
docker-compose -f docker-compose.yml -p mayanedms up -d
|
||||
|
||||
After the Mayan EDMS container finishes initializing (about 5 minutes), it will
|
||||
be available by browsing to http://127.0.0.1. You can inspect the initialization
|
||||
with::
|
||||
|
||||
docker logs mayanedms_mayan-edms_1
|
||||
|
||||
Vagrant method
|
||||
==============
|
||||
Make sure you have Vagrant and a provider properly installed as per
|
||||
https://docs.vagrantup.com/v2/installation/index.html
|
||||
Clone the repository and execute::
|
||||
|
||||
vagrant up production
|
||||
|
||||
.. _Debian: http://www.debian.org/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
.. _Python: http://www.python.org/
|
||||
.. _SQLite: https://www.sqlite.org/
|
||||
.. _Ubuntu: http://www.ubuntu.com/
|
||||
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
|
||||
|
||||
@@ -1,143 +1,111 @@
|
||||
============
|
||||
Installation
|
||||
============
|
||||
|
||||
Mayan EDMS should be deployed like any other Django_ project and
|
||||
preferably using virtualenv_.
|
||||
The easiest way to use Mayan EDMS is by using the official Docker_ image.
|
||||
Make sure Docker_ is properly installed and working before attempting to install
|
||||
Mayan EDMS.
|
||||
|
||||
Being a Django_ and a Python_ project, familiarity with these technologies is
|
||||
recommended to better understand why Mayan EDMS does some of the things it
|
||||
does.
|
||||
With Docker properly installed, proceed to download the Mayan EDMS image using
|
||||
the command:
|
||||
|
||||
Bellow are the step needed for a test install.
|
||||
.. code-block:: bash
|
||||
|
||||
Binary dependencies
|
||||
===================
|
||||
docker pull mayanedms/mayanedms
|
||||
|
||||
Ubuntu
|
||||
------
|
||||
After the image finishes downloading, initialize a Mayan EDMS container.
|
||||
|
||||
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
|
||||
requirements using::
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get install libjpeg-dev libmagic1 libpng-dev libreoffice libtiff-dev gcc ghostscript gpgv python-dev python-virtualenv tesseract-ocr poppler-utils -y
|
||||
docker run --rm -v mayan_media:/var/lib/mayan \
|
||||
-v mayan_settings:/etc/mayan mayanedms/mayanedms mayan:init
|
||||
|
||||
With initialization complete, launch the container. If another web server is
|
||||
running on port 80 use a different port in the -p option, ie: -p 81:80.
|
||||
|
||||
Mac OSX
|
||||
.. code-block:: bash
|
||||
|
||||
docker run -d --name mayan-edms --restart=always -p 80:80 \
|
||||
-v mayan_media:/var/lib/mayan -v mayan_settings:/etc/mayan \
|
||||
mayanedms/mayanedms
|
||||
|
||||
Point your browser to 127.0.0.1 (or the alternate port chosen, ie: 127.0.0.1:81)
|
||||
and use the automatically created admin account.
|
||||
|
||||
All files will be stored in the following two volumes:
|
||||
|
||||
- mayan_media
|
||||
- mayan_settings
|
||||
|
||||
Stopping and starting
|
||||
---------------------
|
||||
To stop the container use::
|
||||
|
||||
docker stop mayan-edms
|
||||
|
||||
To start the container again::
|
||||
|
||||
docker start mayan-edms
|
||||
|
||||
Configuring
|
||||
-----------
|
||||
To edit the settings file, check the physical location of the `mayan_settings`
|
||||
volume using::
|
||||
|
||||
docker volume inspect mayan_settings
|
||||
|
||||
Which should produce an output similar to this one:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
[
|
||||
{
|
||||
"Name": "mayan_settings",
|
||||
"Driver": "local",
|
||||
"Mountpoint": "/var/lib/docker/volumes/mayan_settings/_data",
|
||||
"Labels": null,
|
||||
"Scope": "local"
|
||||
}
|
||||
]
|
||||
|
||||
In this case the physical location of the `mayan_settings` volume is
|
||||
`/var/lib/docker/volumes/mayan_settings/_data`. Edit the settings file with your
|
||||
favorite editor::
|
||||
|
||||
sudo vi /var/lib/docker/volumes/mayan_settings/_data/local.py
|
||||
|
||||
Backups
|
||||
-------
|
||||
|
||||
Mayan EDMS is dependent on a number of binary packages and the recommended
|
||||
way is to use a package manager such as `MacPorts <https://www.macports.org/>`_
|
||||
or `Homebrew <http://brew.sh/>`_.
|
||||
To backup the existing data, check the physical location of the `mayan_media`
|
||||
volume using::
|
||||
|
||||
docker volume inspect mayan_media
|
||||
|
||||
Use MacPorts to install binary dependencies
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
With MacPorts installed run the command:
|
||||
Which should produce an output similar to this one:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo port install python-dev gcc tesseract-ocr unpaper \
|
||||
python-virtualenv ghostscript libjpeg-dev libpng-dev \
|
||||
poppler-utils
|
||||
[
|
||||
{
|
||||
"Name": "mayan_settings",
|
||||
"Driver": "local",
|
||||
"Mountpoint": "/var/lib/docker/volumes/mayan_media/_data",
|
||||
"Labels": null,
|
||||
"Scope": "local"
|
||||
}
|
||||
]
|
||||
|
||||
Set the Binary paths
|
||||
********************
|
||||
Only the `db.sqlite3` file and the `document_storage` folder need to be backed
|
||||
up::
|
||||
|
||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs
|
||||
so either you can symlink the binaries installed via MacPorts in /opt/local/bin/
|
||||
to /usr/bin/ with ...
|
||||
sudo tar -zcvf backup.tar.gz /var/lib/docker/volumes/mayan_media/_data/document_storage /var/lib/docker/volumes/mayan_media/_data/db.sqlite3
|
||||
sudo chown `whoami` backup.tar.gz
|
||||
|
||||
.. code-block:: bash
|
||||
Restore
|
||||
-------
|
||||
Uncompress the archive in the original docker volume using::
|
||||
|
||||
sudo ln -s /opt/local/bin/tesseract /usr/bin/tesseract
|
||||
|
||||
... alternatively set the paths in the ``settings/locals.py``
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
||||
|
||||
Or Use Homebrew
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
With Homebrew installed run the command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
brew install python gcc tesseract unpaper poppler libpng postgresql
|
||||
|
||||
Set the Binary paths
|
||||
********************
|
||||
|
||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs
|
||||
so either you can symlink the binaries installed via brew in /usr/local/bin/
|
||||
to /usr/bin/ with ...
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo ln -s /usr/local/bin/tesseract /usr/bin/tesseract && \
|
||||
sudo ln -s /usr/local/bin/unpaper /usr/bin/unpaper && \
|
||||
sudo ln -s /usr/local/bin/pdftotext /usr/bin/pdftotext && \
|
||||
sudo ln -s /usr/local/bin/gs /usr/bin/gs
|
||||
|
||||
... alternatively set the paths in the ``settings/locals.py``
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
||||
|
||||
Actual project installation
|
||||
===========================
|
||||
|
||||
Initialize a ``virtualenv`` to deploy the project:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
virtualenv venv
|
||||
source venv/bin/activate
|
||||
pip install mayan-edms
|
||||
|
||||
By default Mayan EDMS will create a single file SQLite_ database, which makes
|
||||
it very easy to start using Mayan EDMS. Populate the database with the
|
||||
project's schema doing:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mayan-edms.py initialsetup
|
||||
mayan-edms.py runserver
|
||||
|
||||
Point your browser to http://127.0.0.1:8000. If everything was installed
|
||||
correctly you should see the login screen and panel showing a randomly generated
|
||||
admin password.
|
||||
|
||||
Background tasks and scheduled tasks will not run when using the test server.
|
||||
|
||||
The ``runserver`` command is only meant for testing, do not use in a production
|
||||
server.
|
||||
|
||||
Note that the default IP address, 127.0.0.1, is not accessible from other
|
||||
machines on your network. To make your test server viewable to other
|
||||
machines on the network, use its own IP address (e.g. 192.168.2.1) or 0.0.0.0 or :: (with IPv6 enabled).
|
||||
|
||||
You can provide an IPv6 address surrounded by brackets (e.g. [200a::1]:8000). This will automatically enable IPv6 support.
|
||||
|
||||
Production use
|
||||
==============
|
||||
|
||||
After making sure everything is running correctly, stop the ``runserver`` command.
|
||||
Deploy Mayan EDMS using the webserver of your preference. For more information
|
||||
on deployment instructions and examples, checkout Django's official documentation
|
||||
on the topic https://docs.djangoproject.com/en/1.7/howto/deployment/
|
||||
For a simple production deployment setup follow the instructions in the
|
||||
:doc:`deploying` chapter.
|
||||
sudo tar -xvzf backup.tar.gz -C /
|
||||
|
||||
|
||||
.. _Debian: http://www.debian.org/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
.. _Download: https://github.com/mayan-edms/mayan-edms/archives/master
|
||||
.. _Python: http://www.python.org/
|
||||
.. _SQLite: https://www.sqlite.org/
|
||||
.. _Ubuntu: http://www.ubuntu.com/
|
||||
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
|
||||
.. _Docker: https://www.docker.com/
|
||||
|
||||
Reference in New Issue
Block a user