diff --git a/README.md b/README.md index 9010213..8f6bf7a 100644 --- a/README.md +++ b/README.md @@ -149,19 +149,20 @@ enabled using the `-cache` flag. It supports the following values: - `memory` - uses an in-memory cache. (This can exhaust your system's available memory and is not recommended for production systems) - directory on local disk (e.g. `/tmp/imageproxy`) - will cache images - on disk, limited to the size specified in the `-cacheSize` flag. + on disk - s3 URL (e.g. `s3://s3-us-west-2.amazonaws.com/my-bucket`) - will cache images on Amazon S3. This requires either an IAM role and instance profile with access to your your bucket or `AWS_ACCESS_KEY_ID` and `AWS_SECRET_KEY` environmental parameters set. -For example, to cache files on disk, allowing up to 100MB of space: +For example, to cache files on disk in the `/tmp/imageproxy` directory: - imageproxy -cache /tmp/imageproxy -cacheSize 100 + imageproxy -cache /tmp/imageproxy Reload the [codercat URL][], and then inspect the contents of -`/tmp/imageproxy`. There should be two files there, one for the original -full-size codercat image, and one for the resized 500px version. +`/tmp/imageproxy`. Within the subdirectories, there should be two files, one +for the original full-size codercat image, and one for the resized 500px +version. [codercat URL]: http://localhost:8080/500/https://octodex.github.com/images/codercat.jpg @@ -169,7 +170,7 @@ full-size codercat image, and one for the resized 500px version. You can limit images to only be accessible for certain hosts in the HTTP referrer header, which can help prevent others from hotlinking to images. It can -be enabled be running: +be enabled by running: imageproxy -referrers example.com diff --git a/cmd/imageproxy/main.go b/cmd/imageproxy/main.go index ac7be3a..613ec95 100644 --- a/cmd/imageproxy/main.go +++ b/cmd/imageproxy/main.go @@ -46,7 +46,7 @@ var referrers = flag.String("referrers", "", "comma separated list of allowed re var baseURL = flag.String("baseURL", "", "default base URL for relative remote URLs") var cache = flag.String("cache", "", "location to cache images (see https://github.com/willnorris/imageproxy#cache)") var cacheDir = flag.String("cacheDir", "", "(Deprecated; use 'cache' instead) directory to use for file cache") -var cacheSize = flag.Uint64("cacheSize", 100, "maximum size of file cache (in MB)") +var cacheSize = flag.Uint64("cacheSize", 0, "Deprecated: this flag does nothing") var signatureKey = flag.String("signatureKey", "", "HMAC key used in calculating request signatures") var scaleUp = flag.Bool("scaleUp", false, "allow images to scale beyond their original dimensions") var version = flag.Bool("version", false, "print version information") @@ -133,8 +133,7 @@ func parseCache() (imageproxy.Cache, error) { func diskCache(path string) *diskcache.Cache { d := diskv.New(diskv.Options{ - BasePath: path, - CacheSizeMax: *cacheSize * 1024 * 1024, + BasePath: path, // For file "c0ffee", store file as "c0/ff/c0ffee" Transform: func(s string) []string { return []string{s[0:2], s[2:4]} }, diff --git a/etc/debian/etc-initd-imageproxy b/etc/debian/etc-initd-imageproxy index 302718d..ce6007f 100644 --- a/etc/debian/etc-initd-imageproxy +++ b/etc/debian/etc-initd-imageproxy @@ -27,8 +27,7 @@ case "$1" in . /etc/default/imageproxy test -n "$ADDR" && DAEMON_OPTS+=" -addr=$ADDR" - test -n "$CACHE_DIR" && DAEMON_OPTS+=" -cacheDir=$CACHE_DIR" - test -n "$CACHE_SIZE" && DAEMON_OPTS+=" -cacheSize=$CACHE_SIZE" + test -n "$CACHE" && DAEMON_OPTS+=" -cache=$CACHE" test -n "$LOG_DIR" && DAEMON_OPTS+=" -log_dir=$LOG_DIR" test -n "$ALLOWED_REMOTE_HOSTS" && DAEMON_OPTS+=" -whitelist=$ALLOWED_REMOTE_HOSTS" diff --git a/etc/imageproxy.conf b/etc/imageproxy.conf index 820b232..3c33a46 100644 --- a/etc/imageproxy.conf +++ b/etc/imageproxy.conf @@ -9,7 +9,7 @@ respawn exec start-stop-daemon --start -c www-data --exec /usr/bin/imageproxy -- \ -addr localhost:4593 \ -log_dir /var/log/imageproxy \ - -cacheDir /var/cache/imageproxy \ + -cache /var/cache/imageproxy \ -signatureKey @/etc/imageproxy.key \ -baseURL https://willnorris.com/ \ -whitelist willnorris.com,notsoserendipitous.com,gabenorris.com