Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
W

webp_server_go

> 编程语言
Open source

Go version of WebP Server. A tool that will serve your JPG/PNG/BMP/SVGs as WebP/AVIF format with compression, on-the-fly.

2.0K stars0 likes0 views
WebsiteGitHub

About

Go version of WebP Server. A tool that will serve your JPG/PNG/BMP/SVGs as WebP/AVIF format with compression, on-the-fly.

Documentation | Website | Blog

This is a Server based on Golang, which allows you to serve WebP images on the fly.

Currently supported image format: JPEG, PNG, BMP, GIF, SVG, HEIC, NEF, WEBP

e.g When you visit https://your.website/pics/tsuki.jpg,it will serve as image/webp/image/avif format without changing the URL.

GIF image will not be converted to AVIF format because the converted AVIF image is not animated.

Usage with Docker(recommended)

We strongly recommend using Docker to run WebP Server Go because running it directly with the binary may encounter issues with glibc and some dependency libraries, which can be quite tricky to resolve.

…

This helps separate responsibilities clearly: pics stores original files, exhaust stores converted outputs, and metadata stores source metadata used for cache validation.

Make sure you've got Docker and docker-compose installed, create a directory and create docker-compose.yml file inside it like this:

yaml
version: '3'

services:
  webp:
    image: webpsh/webp-server-go
    # image: ghcr.io/webp-sh/webp_server_go
    restart: always
    volumes:
      - ./path/to/pics:/opt/pics
      - ./exhaust:/opt/exhaust
      - ./metadata:/opt/metadata
    ports:
      - 127.0.0.1:3333:3333

Suppose your website and image has the following pattern.

Image Path Website Path
/var/www/img.webp.sh/path/tsuki.jpg https://img.webp.sh/path/tsuki.jpg

Then

  • ./path/to/pics should be changed to /var/www/img.webp.sh
  • ./exhaust is cache folder for output images, by default it will be in exhaust directory alongside with docker-compose.yml file, if you'd like to keep cached images in another folder, you can change ./exhaust to /some/other/path/to/exhaust
  • ./metadata is cache folder for images' metadata, by default it will be in metadata directory alongside with docker-compose.yml file

Start the container using:

bash
docker-compose up -d

Now the server should be running on 127.0.0.1:3333, visiting http://127.0.0.1:3333/path/tsuki.jpg will see the optimized version of /var/www/img.webp.sh/path/tsuki.jpg, you can now add reverse proxy to make it public, for example, let Nginx to proxy_pass http://127.0.0.1:3333/;, and your WebP Server is on-the-fly!

Custom config

If you'd like to use a customized config.json, you can follow the steps in Configuration | WebP Server Documentation to genereate one, and mount it into the container's /etc/config.json, example docker-compose.yml as follows:

yaml
version: '3'

services:
  webp:
    image: webpsh/webp-server-go
    # image: ghcr.io/webp-sh/webp_server_go
    restart: always
    volumes:
      - ./path/to/pics:/opt/pics
      - ./path/to/exhaust:/opt/exhaust
      - ./path/to/metadata:/opt/metadata
      - ./config.json:/etc/config.json
    ports:
      - 127.0.0.1:3333:3333

You can refer to Configuration | WebP Server Documentation for more info, such as custom config, AVIF support etc.

Or, if you need some examples, you can refer to Configuration Examples | WebP Server Documentation.

Advanced Usage

If you'd like to use with binary, please consult to Use with Binary(Advanced) | WebP Server Documentation

spoiler alert: you may encounter issues with glibc and some dependency libraries.

For supervisor or detailed Nginx configuration, please read our documentation at https://docs.webp.sh/

WebP Cloud Services

We are currently building a new service called WebP Cloud Services, it now has three parts:

  • Public Service
    • GitHub Avatar/Gravater reverse proxy with WebP optimization, for example, change https://www.gravatar.com/avatar/09eba3a443a7ea91cf818f6b27607d66 to https://gravatar.webp.se/avatar/09eba3a443a7ea91cf818f6b27607d66 for rendering will get a smaller version of gravater, making your website faster
    • Totally free service and currently has a large number of users, this includes, but is not limited to CNX Software, Indienova
  • WebP Cloud
    • No need to install WebP Server Go yourself, especially suitable for static websites.
    • Image Conversion: WebP Cloud converts images to WebP/AVIF format, reducing size while maintaining quality for faster website loading.
      • Example 1: Original image URL (https://yyets.dmesg.app/api/user/avatar/BennyThink) becomes compressed URL (https://vz4w427.webp.ee/api/user/avatar/Benny).
      • Example 2: Original image URL (https://yyets.dmesg.app/api/user/avatar/BennyThink) becomes a thumbnail image using URL (https://vz4w427.webp.ee/api/user/avatar/BennyThink?width=200).
    • Caching: WebP Cloud automatically caches served images, reducing traffic and bandwidth load on the origin server.
  • Fly
    • We call this service Fly, with the aim of providing a public and free service that users can experience without registering on WebP Cloud. As this is a public service, some limitations compared to WebP Cloud are imposed:
      • Fly supports a maximum original image size of 8MB, while WebP Cloud supports up to 80MB.
      • Fly cache time is 1 day, while WebP Cloud has unlimited time (can be manually cleared at any time).
      • It does not support parameters like blur, sharpen for image processing.
      • And that’s it.

For detailed information, please visit WebP Cloud Services Website or WebP Cloud Services Docs. |

License

WebP Server is under the GPLv3. See the LICENSE file for details.

Security

Please refer to SECURITY.md for more information.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Goimage-optimizationimage-processingpagespeedserving-images

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言