Learn how to install a ThumbSniper test-drive in your own environment
This guide should enable you to easily deploy a working ThumbSniper instance by using Docker containers. Although it's (technically) possible to do everything on your own, using Docker is a great way to simplify tasks. For a manual installation, please refer to the manual installation guide. Please be aware that the Docker images are pre-configured with a lot of default options. These are not meant for production environments, so you should modify these options accordingly. That's also explained in the manual installation guide.
The Docker images are pre-configured with the domain example.com. Please add the following line to the file /etc/hosts on the machine that is accessing the ThumbSniper environment (commonly the machine with your web browser):
<docker-host-ip> api.example.com img.example.com panel.example.com
The easiest way to run the entire ThumbSniper environment is to use docker-compose:
This guide assumes that the Docker Compose project is kept within the directory /data/thumbsniper on your Docker host, so the following directory is required and needs to be created.
Run as user root:
mkdir -p /data/thumbsniper chmod 750 /data/thumbsniper
The name of this directory is used as the Docker Compose project name and may also contain additional files in the future.
The following steps describe how to fetch and run the example Docker containers.
Download the latest docker-compose.yml file as shown below:
curl -o /data/thumbsniper/docker-compose.yml \ https://raw.githubusercontent.com/thumbsniper/docker-config/master/run/docker-compose.yml
You may want to fetch the images defined in docker-compose.yml as a single step. This has to be done from the working directory /data/thumbsniper. If this step is skipped, the Docker images will be pulled automatically upon project start.
cd /data/thumbsniper docker-compose pull
Your environment should now be ready to start.
The following command will (pull and) create all required containers. The option "-d" starts all project containers in detached (background) mode:
cd /data/thumbsniper docker-compose up -d
You should then see log messages about the container creation similar to this:
Creating network "thumbsniper_default" with the default driver Creating volume "thumbsniper_web_thumbnails" with default driver Creating volume "thumbsniper_mongo_data" with default driver Creating thumbsniper_mongo_1 Creating thumbsniper_redis_1 Creating thumbsniper_web_1 Creating thumbsniper_agent-normal_1 Creating thumbsniper_agent-image_1 Creating thumbsniper_agent-longrun_1
If this worked, examine the docker-compose process list:
It should look like this:
Name Command State Ports ---------------------------------------------------------------------------------------- thumbsniper_mongo_1 /entrypoint.sh mongod Up 27017/tcp thumbsniper_redis_1 /entrypoint.sh redis-serve ... Up 6379/tcp thumbsniper_web_1 /init.sh Up 0.0.0.0:80->80/tcp thumbsniper_agent-normal_1 /start.sh Up thumbsniper_agent-longrun_1 /start.sh Up thumbsniper_agent-image_1 /start.sh Up
Your project should now be ready. Do you see state "Up" for all containers, too? Well done!
Visit http://panel.example.com with your browser (remember the "/etc/hosts" settings) and register a new user account. Please use the e-mail address firstname.lastname@example.org. This is a pre-configured address which currently does not need to be a real address within this test-drive context. It will give you administrative permissions for your account.
The admin-view mode can be toggled on the top-right menu after clicking on your user name.