Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
laradock
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kerwin
laradock
Commits
6a3b3fac
Commit
6a3b3fac
authored
Sep 16, 2018
by
Peter Mein
Committed by
Shao Yu-Lung (Allen)
Sep 16, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for Thumbor (#1373)
parent
61576c0b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
258 additions
and
0 deletions
+258
-0
index.md
DOCUMENTATION/content/documentation/index.md
+21
-0
docker-compose.yml
docker-compose.yml
+116
-0
env-example
env-example
+116
-0
Dockerfile
thumbor/Dockerfile
+5
-0
No files found.
DOCUMENTATION/content/documentation/index.md
View file @
6a3b3fac
...
...
@@ -1043,6 +1043,27 @@ docker-compose up -d minio
<br>
<a name="Use-Thumbor"></a>
## Use Thumbor
Thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images. ([Thumbor](https://github.com/thumbor/thumbor))
1 - Configure Thumbor:
- Checkout all the options under the thumbor settings
2 - Run the Thumbor Container (`
minio
`) with the `
docker-compose up
` command. Example:
```bash
docker-compose up -d thumbor
```
3 - Navigate to an example image on `
http://localhost:8000/unsafe/300x300/i.imgur.com/bvjzPct.jpg
`
For more documentation on Thumbor visit the [Thumbor documenation](http://thumbor.readthedocs.io/en/latest/index.html) page
<br>
<a name="Use-AWS"></a>
## Use AWS
...
...
docker-compose.yml
View file @
6a3b3fac
...
...
@@ -707,6 +707,122 @@ services:
networks
:
-
backend
### Thumbor #########################################
thumbor
:
build
:
./thumbor
volumes
:
-
${DATA_SAVE_PATH}/thumbor/data:/data
-
${DATA_SAVE_PATH}/thumbor/data:/logs
ports
:
-
"
${THUMBOR_PORT}:8000"
environment
:
-
THUMBOR_LOG_FORMAT=${THUMBOR_LOG_FORMAT}
-
THUMBOR_LOG_DATE_FORMAT=${THUMBOR_LOG_DATE_FORMAT}
-
MAX_WIDTH=${MAX_WIDTH}
-
MAX_HEIGHT=${MAX_HEIGHT}
-
MIN_WIDTH=${MIN_WIDTH}
-
MIN_HEIGHT=${MIN_HEIGHT}
-
ALLOWED_SOURCES=${ALLOWED_SOURCES}
-
QUALITY=${QUALITY}
-
WEBP_QUALITY=${WEBP_QUALITY}
-
PNG_COMPRESSION_LEVEL=${PNG_COMPRESSION_LEVEL}
-
AUTO_WEBP=${AUTO_WEBP}
-
MAX_AGE=${MAX_AGE}
-
MAX_AGE_TEMP_IMAGE=${MAX_AGE_TEMP_IMAGE}
-
RESPECT_ORIENTATION=${RESPECT_ORIENTATION}
-
IGNORE_SMART_ERRORS=${IGNORE_SMART_ERRORS}
-
PRESERVE_EXIF_INFO=${PRESERVE_EXIF_INFO}
-
ALLOW_ANIMATED_GIFS=${ALLOW_ANIMATED_GIFS}
-
USE_GIFSICLE_ENGINE=${USE_GIFSICLE_ENGINE}
-
USE_BLACKLIST=${USE_BLACKLIST}
-
LOADER=${LOADER}
-
STORAGE=${STORAGE}
-
AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
-
AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
-
RESULT_STORAGE=${RESULT_STORAGE}
-
ENGINE=${ENGINE}
-
SECURITY_KEY=${SECURITY_KEY}
-
ALLOW_UNSAFE_URL=${ALLOW_UNSAFE_URL}
-
ALLOW_OLD_URLS=${ALLOW_OLD_URLS}
-
FILE_LOADER_ROOT_PATH=${FILE_LOADER_ROOT_PATH}
-
HTTP_LOADER_CONNECT_TIMEOUT=${HTTP_LOADER_CONNECT_TIMEOUT}
-
HTTP_LOADER_REQUEST_TIMEOUT=${HTTP_LOADER_REQUEST_TIMEOUT}
-
HTTP_LOADER_FOLLOW_REDIRECTS=${HTTP_LOADER_FOLLOW_REDIRECTS}
-
HTTP_LOADER_MAX_REDIRECTS=${HTTP_LOADER_MAX_REDIRECTS}
-
HTTP_LOADER_FORWARD_USER_AGENT=${HTTP_LOADER_FORWARD_USER_AGENT}
-
HTTP_LOADER_DEFAULT_USER_AGENT=${HTTP_LOADER_DEFAULT_USER_AGENT}
-
HTTP_LOADER_PROXY_HOST=${HTTP_LOADER_PROXY_HOST}
-
HTTP_LOADER_PROXY_PORT=${HTTP_LOADER_PROXY_PORT}
-
HTTP_LOADER_PROXY_USERNAME=${HTTP_LOADER_PROXY_USERNAME}
-
HTTP_LOADER_PROXY_PASSWORD=${HTTP_LOADER_PROXY_PASSWORD}
-
HTTP_LOADER_CA_CERTS=${HTTP_LOADER_CA_CERTS}
-
HTTP_LOADER_VALIDATE_CERTS=${HTTP_LOADER_VALIDATE_CERTS}
-
HTTP_LOADER_CLIENT_KEY=${HTTP_LOADER_CLIENT_KEY}
-
HTTP_LOADER_CLIENT_CERT=${HTTP_LOADER_CLIENT_CERT}
-
HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT=${HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT}
-
STORAGE_EXPIRATION_SECONDS=${STORAGE_EXPIRATION_SECONDS}
-
STORES_CRYPTO_KEY_FOR_EACH_IMAGE=${STORES_CRYPTO_KEY_FOR_EACH_IMAGE}
-
FILE_STORAGE_ROOT_PATH=${FILE_STORAGE_ROOT_PATH}
-
UPLOAD_MAX_SIZE=${UPLOAD_MAX_SIZE}
-
UPLOAD_ENABLED=${UPLOAD_ENABLED}
-
UPLOAD_PHOTO_STORAGE=${UPLOAD_PHOTO_STORAGE}
-
UPLOAD_DELETE_ALLOWED=${UPLOAD_DELETE_ALLOWED}
-
UPLOAD_PUT_ALLOWED=${UPLOAD_PUT_ALLOWED}
-
UPLOAD_DEFAULT_FILENAME=${UPLOAD_DEFAULT_FILENAME}
-
MONGO_STORAGE_SERVER_HOST=${MONGO_STORAGE_SERVER_HOST}
-
MONGO_STORAGE_SERVER_PORT=${MONGO_STORAGE_SERVER_PORT}
-
MONGO_STORAGE_SERVER_DB=${MONGO_STORAGE_SERVER_DB}
-
MONGO_STORAGE_SERVER_COLLECTION=${MONGO_STORAGE_SERVER_COLLECTION}
-
REDIS_STORAGE_SERVER_HOST=${REDIS_STORAGE_SERVER_HOST}
-
REDIS_STORAGE_SERVER_PORT=${REDIS_STORAGE_SERVER_PORT}
-
REDIS_STORAGE_SERVER_DB=${REDIS_STORAGE_SERVER_DB}
-
REDIS_STORAGE_SERVER_PASSWORD=${REDIS_STORAGE_SERVER_PASSWORD}
-
REDIS_RESULT_STORAGE_SERVER_HOST=${REDIS_RESULT_STORAGE_SERVER_HOST}
-
REDIS_RESULT_STORAGE_SERVER_PORT=${REDIS_RESULT_STORAGE_SERVER_PORT}
-
REDIS_RESULT_STORAGE_SERVER_DB=${REDIS_RESULT_STORAGE_SERVER_DB}
-
REDIS_RESULT_STORAGE_SERVER_PASSWORD=${REDIS_RESULT_STORAGE_SERVER_PASSWORD}
-
MEMCACHE_STORAGE_SERVERS=${MEMCACHE_STORAGE_SERVERS}
-
MIXED_STORAGE_FILE_STORAGE=${MIXED_STORAGE_FILE_STORAGE}
-
MIXED_STORAGE_CRYPTO_STORAGE=${MIXED_STORAGE_CRYPTO_STORAGE}
-
MIXED_STORAGE_DETECTOR_STORAGE=${MIXED_STORAGE_DETECTOR_STORAGE}
-
META_CALLBACK_NAME=${META_CALLBACK_NAME}
-
DETECTORS=${DETECTORS}
-
FACE_DETECTOR_CASCADE_FILE=${FACE_DETECTOR_CASCADE_FILE}
-
OPTIMIZERS=${OPTIMIZERS}
-
JPEGTRAN_PATH=${JPEGTRAN_PATH}
-
PROGRESSIVE_JPEG=${PROGRESSIVE_JPEG}
-
RESULT_STORAGE_EXPIRATION_SECONDS=${RESULT_STORAGE_EXPIRATION_SECONDS}
-
RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=${RESULT_STORAGE_FILE_STORAGE_ROOT_PATH}
-
RESULT_STORAGE_STORES_UNSAFE=${RESULT_STORAGE_STORES_UNSAFE}
-
REDIS_QUEUE_SERVER_HOST=${REDIS_QUEUE_SERVER_HOST}
-
REDIS_QUEUE_SERVER_PORT=${REDIS_QUEUE_SERVER_PORT}
-
REDIS_QUEUE_SERVER_DB=${REDIS_QUEUE_SERVER_DB}
-
REDIS_QUEUE_SERVER_PASSWORD=${REDIS_QUEUE_SERVER_PASSWORD}
-
SQS_QUEUE_KEY_ID=${SQS_QUEUE_KEY_ID}
-
SQS_QUEUE_KEY_SECRET=${SQS_QUEUE_KEY_SECRET}
-
SQS_QUEUE_REGION=${SQS_QUEUE_REGION}
-
USE_CUSTOM_ERROR_HANDLING=${USE_CUSTOM_ERROR_HANDLING}
-
ERROR_HANDLER_MODULE=${ERROR_HANDLER_MODULE}
-
ERROR_FILE_LOGGER=${ERROR_FILE_LOGGER}
-
ERROR_FILE_NAME_USE_CONTEXT=${ERROR_FILE_NAME_USE_CONTEXT}
-
SENTRY_DSN_URL=${SENTRY_DSN_URL}
-
TC_AWS_REGION=${TC_AWS_REGION}
-
TC_AWS_ENDPOINT=${TC_AWS_ENDPOINT}
-
TC_AWS_STORAGE_BUCKET=${TC_AWS_STORAGE_BUCKET}
-
TC_AWS_STORAGE_ROOT_PATH=${TC_AWS_STORAGE_ROOT_PATH}
-
TC_AWS_LOADER_BUCKET=${TC_AWS_LOADER_BUCKET}
-
TC_AWS_LOADER_ROOT_PATH=${TC_AWS_LOADER_ROOT_PATH}
-
TC_AWS_RESULT_STORAGE_BUCKET=${TC_AWS_RESULT_STORAGE_BUCKET}
-
TC_AWS_RESULT_STORAGE_ROOT_PATH=${TC_AWS_RESULT_STORAGE_ROOT_PATH}
-
TC_AWS_STORAGE_SSE=${TC_AWS_STORAGE_SSE}
-
TC_AWS_STORAGE_RRS=${TC_AWS_STORAGE_RRS}
-
TC_AWS_ENABLE_HTTP_LOADER=${TC_AWS_ENABLE_HTTP_LOADER}
-
TC_AWS_ALLOWED_BUCKETS=${TC_AWS_ALLOWED_BUCKETS}
-
TC_AWS_STORE_METADATA=${TC_AWS_STORE_METADATA}
networks
:
-
frontend
-
backend
### AWS EB-CLI ################################################
aws
:
build
:
...
...
env-example
View file @
6a3b3fac
...
...
@@ -365,6 +365,122 @@ CADDY_CONFIG_PATH=./caddy/caddy
LARAVEL_ECHO_SERVER_PORT=6001
### DOCKER-SYNC ########################################################################################################
# osx: 'native_osx' (default)
# windows: 'unison'
# linux: docker-sync not required
DOCKER_SYNC_STRATEGY=native_osx
### THUMBOR ############################################################################################################
THUMBOR_PORT=8000
THUMBOR_LOG_FORMAT="%(asctime)s %(name)s:%(levelname)s %(message)s"
THUMBOR_LOG_DATE_FORMAT="%Y-%m-%d %H:%M:%S"
MAX_WIDTH=0
MAX_HEIGHT=0
MIN_WIDTH=1
MIN_HEIGHT=1
ALLOWED_SOURCES=[]
QUALITY=80
WEBP_QUALITY=None
PNG_COMPRESSION_LEVEL=6
AUTO_WEBP=False
MAX_AGE=86400
MAX_AGE_TEMP_IMAGE=0
RESPECT_ORIENTATION=False
IGNORE_SMART_ERRORS=False
PRESERVE_EXIF_INFO=False
ALLOW_ANIMATED_GIFS=True
USE_GIFSICLE_ENGINE=False
USE_BLACKLIST=False
LOADER=thumbor.loaders.http_loader
STORAGE=thumbor.storages.file_storage
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
RESULT_STORAGE=thumbor.result_storages.file_storage
ENGINE=thumbor.engines.pil
SECURITY_KEY="MY_SECURE_KEY"
ALLOW_UNSAFE_URL=True
ALLOW_OLD_URLS=True
FILE_LOADER_ROOT_PATH=/data/loader
HTTP_LOADER_CONNECT_TIMEOUT=5
HTTP_LOADER_REQUEST_TIMEOUT=20
HTTP_LOADER_FOLLOW_REDIRECTS=True
HTTP_LOADER_MAX_REDIRECTS=5
HTTP_LOADER_FORWARD_USER_AGENT=False
HTTP_LOADER_DEFAULT_USER_AGENT="Thumbor/5.2.1"
HTTP_LOADER_PROXY_HOST=None
HTTP_LOADER_PROXY_PORT=None
HTTP_LOADER_PROXY_USERNAME=None
HTTP_LOADER_PROXY_PASSWORD=None
HTTP_LOADER_CA_CERTS=None
HTTP_LOADER_VALIDATE_CERTS=True
HTTP_LOADER_CLIENT_KEY=None
HTTP_LOADER_CLIENT_CERT=None
HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT=False
STORAGE_EXPIRATION_SECONDS=2592000
STORES_CRYPTO_KEY_FOR_EACH_IMAGE=False
FILE_STORAGE_ROOT_PATH=/data/storage
UPLOAD_MAX_SIZE=0
UPLOAD_ENABLED=False
UPLOAD_PHOTO_STORAGE=thumbor.storages.file_storage
UPLOAD_DELETE_ALLOWED=False
UPLOAD_PUT_ALLOWED=False
UPLOAD_DEFAULT_FILENAME=image
MONGO_STORAGE_SERVER_HOST=mongo
MONGO_STORAGE_SERVER_PORT=27017
MONGO_STORAGE_SERVER_DB=thumbor
MONGO_STORAGE_SERVER_COLLECTION=images
REDIS_STORAGE_SERVER_HOST=redis
REDIS_STORAGE_SERVER_PORT=6379
REDIS_STORAGE_SERVER_DB=0
REDIS_STORAGE_SERVER_PASSWORD=None
REDIS_RESULT_STORAGE_SERVER_HOST=redis
REDIS_RESULT_STORAGE_SERVER_PORT=6379
REDIS_RESULT_STORAGE_SERVER_DB=0
REDIS_RESULT_STORAGE_SERVER_PASSWORD=None
MEMCACHE_STORAGE_SERVERS=["localhost:11211",]
MIXED_STORAGE_FILE_STORAGE=thumbor.storages.no_storage
MIXED_STORAGE_CRYPTO_STORAGE=thumbor.storages.no_storage
MIXED_STORAGE_DETECTOR_STORAGE=thumbor.storages.no_storage
META_CALLBACK_NAME=None
DETECTORS=[]
FACE_DETECTOR_CASCADE_FILE=haarcascade_frontalface_alt.xml
OPTIMIZERS=[]
JPEGTRAN_PATH=/usr/bin/jpegtran
PROGRESSIVE_JPEG=True
FILTERS=["thumbor.filters.brightness", "thumbor.filters.contrast", "thumbor.filters.rgb", "thumbor.filters.round_corner", "thumbor.filters.quality", "thumbor.filters.noise", "thumbor.filters.watermark", "thumbor.filters.equalize", "thumbor.filters.fill", "thumbor.filters.sharpen", "thumbor.filters.strip_icc", "thumbor.filters.frame", "thumbor.filters.grayscale", "thumbor.filters.rotate", "thumbor.filters.format", "thumbor.filters.max_bytes", "thumbor.filters.convolution", "thumbor.filters.blur", "thumbor.filters.extract_focal", "thumbor.filters.no_upscale"]
RESULT_STORAGE_EXPIRATION_SECONDS=0
RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage
RESULT_STORAGE_STORES_UNSAFE=False
REDIS_QUEUE_SERVER_HOST=redis
REDIS_QUEUE_SERVER_PORT=6379
REDIS_QUEUE_SERVER_DB="0"
REDIS_QUEUE_SERVER_PASSWORD=None
SQS_QUEUE_KEY_ID=None
SQS_QUEUE_KEY_SECRET=None
SQS_QUEUE_REGION=us-east-1
USE_CUSTOM_ERROR_HANDLING=False
ERROR_HANDLER_MODULE=thumbor.error_handlers.sentry
ERROR_FILE_LOGGER=None
ERROR_FILE_NAME_USE_CONTEXT="False"
SENTRY_DSN_URL=
TC_AWS_REGION=eu-west-1
TC_AWS_ENDPOINT=None
TC_AWS_STORAGE_BUCKET=
TC_AWS_STORAGE_ROOT_PATH=
TC_AWS_LOADER_BUCKET=
TC_AWS_LOADER_ROOT_PATH=
TC_AWS_RESULT_STORAGE_BUCKET=
TC_AWS_RESULT_STORAGE_ROOT_PATH=
TC_AWS_STORAGE_SSE=False
TC_AWS_STORAGE_RRS=False
TC_AWS_ENABLE_HTTP_LOADER=False
TC_AWS_ALLOWED_BUCKETS=False
TC_AWS_STORE_METADATA=False
### SOLR ##################################################
SOLR_VERSION=5.5
...
...
thumbor/Dockerfile
0 → 100644
View file @
6a3b3fac
FROM
apsl/thumbor
CMD
["thumbor"]
EXPOSE
8000
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment