Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Isak Berglind
    @iaK
    Cool, I will for sure. Are feature requests happening in github issues or some other channel?
    Sergey Alexandrovich
    @DarthSim
    @iaK in GH issues
    Isak Berglind
    @iaK
    Done!
    Isak Berglind
    @iaK
    Btw, i am really impressed with this project. The installation was a breeze! I deployed it as a digital ocean app. Just set up some env variables to point it to a DO space and then it just worked! I had expected to put hours in to make everything work, instead it was done in 5 min. Super impressive!
    And the project itself is awesome! well done!
    Sergey Alexandrovich
    @DarthSim
    Thanks 😊 How're DO apps working, btw? We're considering it as an option for one of our projects, but we're not sure about its performance and stability
    Isak Berglind
    @iaK
    We're in the same boat. This will be the first prod system we are putting on it, but we are hoping to put our main app on it as well. I can report back when I know more :)
    Sergey Alexandrovich
    @DarthSim
    I'd appreciate that!
    aleksystasiak
    @aleksystasiak
    Hello
    I have problems when trying to use generation feature when using gcp bucket as source of images
    How should i implement this:
    gs://%bucket_name/%file_key?%generation
    I set improxy base url as gs://bucketname/ and it works but I would like to pass image version to the bucket
    From what I understood you can use query path for that, original url contains slightly different format (?v=12345) so I rewrite it on the fly to ?12345
    What should I do next ?
    Sergey Alexandrovich
    @DarthSim
    Hey @aleksystasiak! What do you mean by "original url"?
    Anyway, if you need 12345 generation of the file, the source url will be gs://%bucket_name/%file_key?12345
    aleksystasiak
    @aleksystasiak
    The url which client is requesting looks something like this domain/i/123x123/filename.ext@ext?v=12345
    it is rewritten on proxy to imgproxy understandable format through regex
    so it currently ends as
    /ins/resize:fill:1080:1626:0/plain/original/SS20-KLD0MJ_00B_F1.jpg?1591782631
    but some urls will have @ext part to enforce extension
    Sergey Alexandrovich
    @DarthSim
    you need to escape the source url since it contains query string
    aleksystasiak
    @aleksystasiak
    How can I do that ?
    Sergey Alexandrovich
    @DarthSim
    This depends on the language you use
    aleksystasiak
    @aleksystasiak
    I can rewrite both url and query in any way
    do I need to add query as it would be a part of url ?
    Sergey Alexandrovich
    @DarthSim
    You should get something like this in result /ins/resize:fill:1080:1626:0/plain/original/SS20-KLD0MJ_00B_F1.jpg%3F1591782631
    aleksystasiak
    @aleksystasiak
    Thanks for explaining
    aleksystasiak
    @aleksystasiak
    curl 192.168.80.92:8080/ins/resize:fill:1080:1626:0/plain/original/SS20-KLD0MJ_00B_F1.jpg%3F1591782631 Source image is unreachable
    gs://images-prod-xxxxxxx/original/SS20-KLD0MJ_00B_F1.jpg?159178263\": storage: object doesn't exist"
    Sergey Alexandrovich
    @DarthSim
    Take a look at the logs of imgproxy
    aleksystasiak
    @aleksystasiak
    second line is what imgproxy logged:
    Apr 1 18:27:41 imgproxy-02 imgproxy[21109]: #033[36mINFO #033[0m [2021-04-01T18:27:41+02:00] Started /ins/resize:fill:1080:1626:0/plain/original/SS20-KLD0MJ_00B_F1.jpg%3F1591782631 #033[1mrequest_id#033[0m=8BNJN4hJcZiMy7pPxzGQr #033[1mmethod#033[0m=GET Apr 1 18:27:41 imgproxy-02 imgproxy[21109]: time="2021-04-01T18:27:41+02:00" level="warning" message="Completed in 49.60602ms /ins/resize:fill:1080:1626:0/plain/original/SS20-KLD0MJ_00B_F1.jpg%3F1591782631" request_id="8BNJN4hJcZiMy7pPxzGQr" method="GET" status="404" error="Get \"gs://images-prod-xxxxxx/original/SS20-KLD0MJ_00B_F1.jpg?1591782631\": storage: object doesn't exist" Apr 1 18:27:41 imgproxy-02 imgproxy[21109]: #033[33mWARNING#033[0m [2021-04-01T18:27:41+02:00] Completed in 49.60602ms /ins/resize:fill:1080:1626:0/plain/original/SS20-KLD0MJ_00B_F1.jpg%3F1591782631 #033[1mrequest_id#033[0m=8BNJN4hJcZiMy7pPxzGQr #033[1mmethod#033[0m=GET #033[1mstatus#033[0m=404 #033[1merror#033[0m="Get \"gs://images-prod-xxxxxx/original/SS20-KLD0MJ_00B_F1.jpg?1591782631\": storage: object doesn't exist"
    I'm trying to verify if the request was formatted correctly
    aleksystasiak
    @aleksystasiak
    ok I think I've got it
    root@imgproxy-02:/opt/imgproxy/etc# curl 192.168.80.92:8080/ins/resize:fill:1080:1626:0/plain/original/SS20-KLD0MJ_00B_F1.jpg%3Fv%3D1591782631 Warning: Binary output can mess up your terminal. Use "--output -" to tell
    Artemii Kabanov
    @Artemii_Kabanov_twitter

    Hi there,
    I'm using nuxt assets, and would like to pass them through imgproxy.

    Currently the url I get after passing it: https://static.ssyii.com/VaCwuNkO1_TfiRJphj8-PWkeIXWHmriRTfUPBUYJFZ0/rs:fit:30:30:0/g:sm/dpr:1/plain/http://localhost:3000/_nuxt/assets/default/burger/index.svg

    The image path _nuxt/assets/default/burger/index.svg is 100% correct,
    The domain https://static.ssyii.com seems to work with s3 images, but with assets I get 404

    Would appreciate any help =)

    Sergey Alexandrovich
    @DarthSim
    Hey @Artemii_Kabanov_twitter! It looks like you use imgproxy on a remote server but your image is located on the localhost.
    Artemii Kabanov
    @Artemii_Kabanov_twitter
    @DarthSim True, I thought I can pass any img url to imgproxy, no? is there any way to make it work for images located on the localhost?
    Sergey Alexandrovich
    @DarthSim
    If localhost and the imgproxy host is not the same machine, then you can use “localhost” here. The only way is to expose your image server to the internet
    Artemii Kabanov
    @Artemii_Kabanov_twitter
    oh, yeah, thanks, got it)
    John Sherwood
    @ponny
    Hi there imgproxy team!
    Bit of a newbie question but how do I update the Heroku docker version?
    I last deployed a couple of years ago and I'd like to update it to the latest imgproxy
    John Sherwood
    @ponny
    Also, thanks so much for making this thing. Really saves a lot of time!
    Sergey Alexandrovich
    @DarthSim

    Hey @ponny!

    I think the easiest way here is to push the imgproxy image to the Heroku registry and release it (replace your_application with the actual application name):

    docker pull darthsim/imgproxy:v2.16.3
    docker tag darthsim/imgproxy:v2.16.3 registry.heroku.com/your_application/web
    docker push registry.heroku.com/your_application/web
    heroku container:release web -a your_application

    Note that you should be logged in to the Heroku registry: heroku container:login

    John Sherwood
    @ponny
    Thanks! I'll give it a try!
    WebAndrea
    @WebAndrea

    Hi,
    I hope you can help me.

    I started the imgproxy with

    docker pull darthsim/imgproxy:latest
    docker run -p 8080:8080 -it darthsim/imgproxy

    But now I don't know where I can add and change the configuration. I can't find any .env file or similar.

    Sergey Alexandrovich
    @DarthSim
    Ilya Penyaev
    @penyaev
    Hey @DarthSim ! About half a year ago I sent you a URL helper library for review. Finally I got time to get back to it, sorry for not responding for so long. Thanks for your feedback, it was really helpful. I've re-written the API with these ideas in mind. I'd really appreciate if you could give it another look: https://github.com/penyaev/imgproxyurl . Thanks!
    JAHIR ALAM RAJU
    @jahir9991

    hi guys can anyone help me?
    i need to add cloudflare cdn cache with imgproxy
    currently its said dynamic on cf-cache-status: DYNAMIC

    i m using plain with @web ,
    if i use /plain/https://someserver/image.png , cdn is working fine any way to change extension

    WebAndrea
    @WebAndrea
    @DarthSim
    Thanks for your help! In the end we used a docker-compose.yaml.
    But now I have got another question: When I enable IMGPROXY_ENFORCE_AVIF or IMGPROXY_ENABLE_AVIF_DETECTION I get a timeout. Do you have an idea why this happens?
    I have no problems with webp.
    Sergey Alexandrovich
    @DarthSim
    Hey everyone! I’m on vacation until June, 7. I’ll answer your question as soon as I get back to work. Until then I need to recharge my brain. Thanks for understanding!
    1 reply
    Sergey Alexandrovich
    @DarthSim

    @jahir9991 Hey! Unfortunately, I'm not much familiar with Cloudflare, but here's what I googled:

    Cloudflare only caches based on file extension and doesn’t cache by MIME type.

    When you use @webp, Cloudflare doesn't recognize the extension. I see three ways to bypass this:

    1. Use page rules to configure the way CF caches the responses.
    2. Use format option (format:webp) instead of @.
    3. Use base64-encoded source URLs as this way uses dot .webp to specify the format, and CF should recognize the extension.

    Source: https://support.cloudflare.com/hc/en-us/articles/200172516-Understanding-Cloudflare-s-CDN

    @WebAndrea encoding to AVIF is pretty heavy. There's currently nothing we can do to fix this :( The only thing I can offer is to increase IMGPROXY_WRITE_TIMEOUT.
    Sergey Alexandrovich
    @DarthSim
    @penyaev I didn't look at the code yet but I love what I see in the README! I'd recommend you to add imgproxyurl.Raw('something:arg1:arg2') which will add the provided string to the options part as is. This will allow the users to use the options that are not supported by your lib.
    1 reply