You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Copyright**: 2021-2023 SHIN Company <https://code.shin.company/docker-imgproxy#readme>
19
+
-**Copyright**: 2021-2024 SHIN Company <https://code.shin.company/docker-imgproxy#readme>
20
20
21
21
22
22
## Support my activities
23
23
24
-
If you like this repository, please hit the star button to follow further updates, or buy me a coffee 😉.
25
-
26
-
[](https://www.paypal.me/shinsenter)[](https://www.patreon.com/appseeds)[](https://github.com/shinsenter/docker-imgproxy/stargazers)[](https://github.com/shinsenter/docker-imgproxy/discussions/new)
27
-
28
-
I really appreciate your love and supports.
24
+
If you find this project useful, consider donating via [PayPal](https://www.paypal.me/shinsenter) or open an issue on [Github](https://github.com/shinsenter/docker-imgproxy/discussions/new/choose). Your support helps keep this project maintained and improved for the community.
29
25
30
26
31
27
---
32
28
33
29
34
30
## Why it's good
35
31
36
-
- Just download this project and run <sup>`(*)`</sup>.
37
-
- Fast on-the-fly generating thumbnails thanks to `imgproxy`.
38
-
- High availability and performance thanks to Nginx content caching.
39
-
- Forget troubles of [Image URL signature](https://docs.imgproxy.net/configuration?id=url-signature), but still ensure the security of the service.
40
-
- Easily serve local files as well as from other origin servers.
41
-
- Flexible in customizing SEO-friendly URLs without exposing `imgproxy` options (which are long and hard to remember).
42
-
- Flexible in selecting origin server for the request <sup>`(**)`</sup>.
43
-
- Flexible in creating your own image presets for any request.
44
-
- Flexible in serving fallback image when the source file is not available.
45
-
- Easy SSL configuration (with your own certificates) with built-in HTTP/2 support.
46
-
- Automatically detect and convert images to WebP or AVIF format if the browser supports.
47
-
48
-
<sup>`(*)` using Docker Compose.</sup>
49
-
<sup>`(**)` which is [supported by imgproxy](#supported-origin-servers).</sup>
32
+
Experience the ultimate in efficient image delivery with our cutting-edge solution:
33
+
34
+
- Lightning-fast on-the-fly thumbnail generation powered by [`imgproxy`](https://imgproxy.net).
35
+
- High availability and unparalleled performance thanks to Nginx content caching.
36
+
- Bid farewell to [URL signature](https://docs.imgproxy.net/usage/signing_url#configuring-url-signature) management hassles while maintaining top-notch security.
37
+
- Effortless serving of local files or remote server content.
38
+
- SEO-friendly URL crafting without exposing [complex `imgproxy` options](https://docs.imgproxy.net/usage/processing).
39
+
- Unmatched flexibility:
40
+
- Customize image presets for any request.
41
+
- Dynamic origin server selection.
42
+
- Graceful fallback image handling for unavailable sources.
43
+
- Hassle-free SSL configuration with built-in HTTP/2 support for blazing-fast load times.
44
+
- Intelligent image format conversion to WebP (or AVIF) for browser compatibility.
45
+
- Seamless visual experience across devices.
46
+
47
+
Unleash the power of our cutting-edge solution and take your project to new heights with efficient image delivery.
50
48
51
49
---
52
50
53
51
54
52
## Getting started
55
53
54
+
### Pull this project from Github
55
+
56
+
Please run the below command to download the project to your local machine:
@@ -260,15 +297,18 @@ We can use these URL query components to modify some requests.
260
297
261
298
> `skip=1`<br/>
262
299
> Skip imgproxy processing for current request. The original file will be served.<br/>
263
-
> E.g. http://localhost/cacti.jpg?skip=1
300
+
> E.g. http://localhost/_small/cacti.jpg?skip=1 <br/>
301
+
> E.g. http://localhost/@nasa/_small/40368_PIA22228.jpg?skip=1
264
302
265
303
> `nocache=1`<br/>
266
304
> Disable Nginx caching for current request. The response will not be saved to a cache.<br/>
267
-
> E.g. http://localhost/cacti.jpg?nocache=1
305
+
> E.g. http://localhost/cacti.jpg?nocache=1 <br/>
306
+
> E.g. http://localhost/@nasa/40368_PIA22228.jpg?nocache=1
268
307
269
308
> `bypass=1`<br/>
270
309
> By pass Nginx caching for current request. The response will not be taken from a cache.<br/>
271
-
> E.g. http://localhost/cacti.jpg?bypass=1
310
+
> E.g. http://localhost/_small/cacti.jpg?bypass=1 <br/>
311
+
> E.g. http://localhost/@nasa/_small/40368_PIA22228.jpg?bypass=1
272
312
273
313
If you like this setup, please [support my works](#support-my-activities) 😉.
274
314
@@ -297,16 +337,16 @@ Then run the command in the [Start the server](#start-the-server) section to rec
297
337
298
338
### Serving files from private storage
299
339
300
-
Please uncomment settings in `docker-compose.yml` file to enable serving files from [Amazon S3 buckets](docker-compose.yml#L101~L107), [Google Cloud](docker-compose.yml#L109~L112) or [Azure Blob](docker-compose.yml#L114~L119). Then run the command in the [Start the server](#start-the-server) section to recreate and restart the service.
340
+
Please uncomment settings in `docker-compose.yml` file to enable serving files from [Amazon S3 buckets](docker-compose.yml#L179~L184), [Google Cloud](docker-compose.yml#L186~L189) or [Azure Blob](docker-compose.yml#L191~L196), etc. Then run the command in the [Start the server](#start-the-server) section to recreate and restart the service.
301
341
302
-
You can find more details on [imgproxy documentation](https://docs.imgproxy.net/configuration?id=serving-files-from-amazon-s3).
342
+
You can find more details on [imgproxy documentation](https://docs.imgproxy.net/configuration/options?#image-sources).
303
343
304
344
305
345
### Flushing cache files
306
346
307
347
Just remove the folder `cache/`.
308
348
309
-
```bash
349
+
```shell
310
350
rm -rf cache/
311
351
```
312
352
@@ -315,7 +355,7 @@ Then run the command in the [Start the server](#start-the-server) section to res
315
355
316
356
### Advanced settings
317
357
318
-
All settings for handling image URLs are written in the [`imgproxy.conf`](imgproxy.conf#L70~L250) file using [Nginx's map directives](https://Nginx.org/en/docs/http/ngx_http_map_module.html#directives).
358
+
All settings for handling image URLs are written in the [`imgproxy.conf`](imgproxy.conf#L70~L270) file using [Nginx's map directives](https://Nginx.org/en/docs/http/ngx_http_map_module.html#directives).
319
359
320
360
I keep all configurations in very simple variables. You can also make your own version from this base.
321
361
@@ -405,17 +445,19 @@ I keep all configurations in very simple variables. You can also make your own v
405
445
> ```nginx
406
446
> map $preset_name $imgproxy_preset
407
447
> {
408
-
> default 'size:1600:0:0:0/preset:logo';
448
+
> default 'size:1600:0:0:0/preset:logo'; # preset:logo adds watermark to the image
0 commit comments