我们通过 Docker 镜像rocketchat/rocket.chat:0.68.4和 Ruby rocketchatgem 使用 RocketChat。
已经有一些可以更新通道属性的工作功能:
# RocketChatService is a wrapper class for a RocketChat::Session object with authentication as admin
channels = RocketChatService.channels
channels.set_attr(name: id, topic: escape_nil(title)) if title_changed?
channels.set_attr(name: id, description: escape_nil(description)) if description_changed?
channels.set_attr(name: id, custom_fields: { project_id: project_id }) if project_id && project_id_was.nil?
Run Code Online (Sandbox Code Playgroud)
但现在我们还需要向房间添加新用户,使他们成为所有者,或降级以前的所有者。以下代码在某些情况下有效(恐怕这里介绍起来太复杂),但有时会导致错误:
# idempotent
channels.invite(name: id, username: creator_id)
# TODO: already an owner
channels.add_owner(name: id, username: creator_id)
channels.remove_owner(name: id, username: creator_id_was)
Run Code Online (Sandbox Code Playgroud)
问题是这些错误消息的信息量不大:
"exception"=>"Not allowed [error-not-allowed]"
Run Code Online (Sandbox Code Playgroud)
RocketChat 中没有日志文件,stdout发生这种情况时也不会写入任何内容。这让我想到了我的问题:如何调试像上面这样的错误消息?
我有一个基于Docker Compose 和 Laravel包的小型 Docker 网络。我想设置upload_max_filesize和post_max_size变量php.ini以允许上传更大的文件。
这可能吗?或者有其他方法吗?我预计会在网络上找到很多类似的问题,但数量并不多,而且通常它们涉及一些现有的映像,而我从 Dockerfile 创建 PHP 映像。
这是来自docker-compose.yml:
php:
build:
context: .
dockerfile: php.dockerfile
container_name: php
volumes:
- ./src:/var/www/html
ports:
- "9000:9000"
networks:
- laravel
Run Code Online (Sandbox Code Playgroud)
这是php.dockerfile
FROM php:7.4-fpm-alpine
WORKDIR /var/www/html
RUN apk add --no-cache zip libzip-dev
RUN docker-php-ext-configure zip
RUN docker-php-ext-install zip
RUN docker-php-ext-install pdo pdo_mysql
Run Code Online (Sandbox Code Playgroud)