0

问题:

Dunglas Mercure 本周刚刚升级,已经彻底改变,它现在使用 caddy web serverur 解决方案而不是内置 web serverur,看起来很酷,但是现在,我无法配置我的 dunglas/mercure 图像了。 ..

https://mercure.rocks/docs/UPGRADE

所以问题似乎与此更新直接相关,因为现在,dunglas/mercure 图像是从 caddy web serverur 图像构建的,而在此之前我可以像这样配置我的图像:

mercure:
    image: dunglas/mercure
    environment:
      - JWT_KEY=MySecret
      - ALLOW_ANONYMOUS=1
      - PUBLISH_ALLOWED_ORIGINS=http://localhost
      - DEBUG=1
      - CORS_ALLOWED_ORIGINS=http://localhost:8080
    ports:
      - 3000:80

现在它不再工作了(Caddy 正在使用他的默认 caddyFile,该文件设置在由 dunglas/mercure 图像调用的 caddy web serverur 图像中)

我没有成功通过mercure/dunglass图像配置caddy web serverur(配置jwt_key,cors等......)

所以我首先想知道是否有办法配置这个新图像?

然后,如果无法配置它,我想知道这个新的 USELESS mercure 图像的目的是什么,如果我们无法配置它,并且必须使用正确预配置的 caddy web 服务器制作我们自己的图像?

4

1 回答 1

3

所以,我不得不为我的无知道歉,虽然我仍然是 docker 和 docker compose 的菜鸟,但这个更新让我感到恐慌。

最后,我只是尝试在 dunglass/mercure 容器中绑定一个 Caddyfile,替换默认文件 conf,它就成功了!

所以在我的 docker-compose 文件中,mercure 服务现在是:

mercure:
    image: dunglas/mercure
    volumes:
      - ./back/docker/Caddyfile:/etc/caddy/Caddyfile
    ports:
      - 3000:80

还有我的球童文件:

# Learn how to configure the Mercure.rocks Hub on https://mercure.rocks/docs/hub/config
{
    # Debug mode (disable it in production!)
    debug
    # HTTP/3 support
    experimental_http3
}

:80

log

route {
    redir / /.well-known/mercure/ui/
    encode gzip

    mercure {
        # Enable the demo endpoint (disable it in production!)        
        demo
        # Publisher JWT key
        publisher_jwt MySecret
        # Subscriber JWT key
        subscriber_jwt MySecret
        # CORS
        cors_origins http://localhost:8080
        # Allow anonymous subscribers (double-check that it's what you want)
        anonymous
        # Enable the subscription API (double-check that it's what you want)
        subscriptions
    }

    respond "Not Found" 404
}

如果它可以帮助某人!

于 2020-12-03T11:50:42.430 回答