Installation¶
This document covers deployment of Thumbnailer [1] project.
OS specific¶
Here are repcipes for specific operating systems. They should help you go fast or automate installation procedure.
Debian¶
The first lines in the following sh commands define some variables. Adapt them to your needs.
# Define some variables.
thumbnailer_dir=~/thumbnailer # Installation directory.
thumbnailer_venv_dir=${thumbnailer_dir} # Virtualenv
upstream_url="git://github.com/Natim/Thumbnailer.git" # Main repository.
fork_url=${upstream_url} # Your fork.
system-install() { # Shortcut for system package installer.
su -c "aptitude install --without-recommends ${*}";
}
# Install base system dependencies.
system-install git-core python-virtualenv
# Download project.
git clone ${fork_url} ${thumbnailer_dir}
# Create a virtualenv and activate it.
virtualenv ${thumbnailer_dir}
cd ${thumbnailer_dir}
source bin/activate
# Install core.
cd src/thumbnailer.core/
python setup.py develop
cd ${thumbnailer_dir}
# Install images engine.
system-install libjpeg8 libjpeg8-dev libfreetype6 libfreetype6-dev
system-install python-dev
pip install PIL
cd src/thumbnailer.engines.images/
python setup.py develop
cd ${thumbnailer_dir}
# Install documents engine.
system-install rubygems graphicsmagick poppler-utils pdftk ghostscript
su -c "gem install docsplit"
pip install -U pip # Recent version of pip is required.
pip install git+https://github.com/anderser/pydocsplit@dev#egg=pydocsplit
cd src/thumbnailer.engines.documents/
python setup.py develop
cd ${thumbnailer_dir}
# Done!
# Run the server.
make provider_server
Generic guidelines¶
System requirements¶
Images engine¶
- Python Imaging Library [6] with JPEG and PNG support
Documents engine¶
- dev branch of pydocsplit [7] and its dependencies
- Ghostscript [8] (see Graphicsmagicks add-on libraries installation notes [9])
Get the source¶
git clone git@github.com:Natim/Thumbnailer.git
Install Python packages¶
Install thumbnailer.core, thumbnailer.engines.images and thumbnailer.engines.documents in your Python environment.
You can use setup.py files provided at:
- src/thumbnailer.core/setup.py
- src/thumbnailer.engines.images/setup.py
- src/thumbnailer.engines.documents/setup.py
Run¶
Use the provided Makefile to run the server:
make runserver
By default, Thumbnailer’s serves:
- static/ directory on port 8000. Try http://localhost:8000/
- thumbnailer API on port 5000. Try http://localhost:5000/scale/?url=http://localhost:8000/images/horizontal.jpg&width=100 and http://localhost:5000/document/?url=http://localhost:8000/documents/document.pdf&width=400
References¶
[1] | https://github.com/Natim/Thumbnailer |
[2] | http://python.org/ |
[3] | http://git-scm.com/ |
[4] | http://flask.pocoo.org/ |
[5] | http://python-requests.org |
[6] | http://www.pythonware.com/products/pil |
[7] | https://github.com/anderser/pydocsplit/tree/dev/ |
[8] | http://www.ghostscript.com/ |
[9] | http://www.graphicsmagick.org/README.html#add-on-libraries-programs |