Docker Secrets配置下Authelia容器权限拒绝问题求助
问题:Docker Secrets 权限拒绝导致Authelia启动失败
在全新系统中部署包含Swag和Authelia的docker-compose项目,此前直接将密钥存入.env文件或Authelia配置文件,现在尝试遵循最佳实践用Docker Secrets隐藏密钥,但启动容器时Authelia报访问权限拒绝错误。
已按各类指南要求,将密钥所在的~/docker/secrets目录设为root拥有并赋予600权限,Docker目录~/docker的所有者为uid 1100:1100,docker-compose配置如下:
version: "3.9" secrets: authelia_duo_api_secret_key: file: $DOCKERSECRETS/authelia_duo_api_secret_key authelia_jwt_secret: file: $DOCKERSECRETS/authelia_jwt_secret authelia_notifier_smtp_password: file: $DOCKERSECRETS/authelia_notifier_smtp_password authelia_session_secret: file: $DOCKERSECRETS/authelia_session_secret authelia_storage_encryption_key: file: $DOCKERSECRETS/authelia_storage_encryption_key x-environment: &default-env TZ: $TZ PUID: $PUID PGID: $PGID services: swag: image: ghcr.io/linuxserver/swag container_name: swag cap_add: - NET_ADMIN environment: <<: *default-env URL: $DOMAINNAME SUBDOMAINS: wildcard VALIDATION: dns CERTPROVIDER: zerossl #optional DNSPLUGIN: cloudflare #optional EMAIL: <edit> DOCKER_MODS: linuxserver/mods:swag-dashboard volumes: - $DOCKERDIR/appdata/swag:/config ports: - 443:443 restart: unless-stopped authelia: image: ghcr.io/authelia/authelia:latest container_name: authelia restart: unless-stopped volumes: - $DOCKERDIR/appdata/authelia:/config user: "1100:1100" secrets: - authelia_jwt_secret - authelia_session_secret - authelia_notifier_smtp_password - authelia_duo_api_secret_key - authelia_storage_encryption_key environment: AUTHELIA_JWT_SECRET_FILE: /run/secrets/authelia_jwt_secret AUTHELIA_SESSION_SECRET_FILE: /run/secrets/authelia_session_secret AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: /run/secrets/authelia_notifier_smtp_password AUTHELIA_DUO_API_SECRET_KEY_FILE: /run/secrets/authelia_duo_api_secret_key AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /run/secrets/authelia_storage_encryption_key
启动后日志出现以下错误:
authelia | 2022-07-28T23:45:05.872818847Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: secrets: error loading secret path /run/secrets/authelia_session_secret into key 'session.secret': open /run/secrets/authelia_session_secret: permission denied" authelia | 2022-07-28T23:45:05.872844527Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: secrets: error loading secret path /run/secrets/authelia_jwt_secret into key 'jwt_secret': open /run/secrets/authelia_jwt_secret: permission denied" authelia | 2022-07-28T23:45:05.872847757Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: secrets: error loading secret path /run/secrets/authelia_duo_api_secret_key into key 'duo_api.secret_key': open /run/secrets/authelia_duo_api_secret_key: permission denied" authelia | 2022-07-28T23:45:05.872850957Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: secrets: error loading secret path /run/secrets/authelia_storage_encryption_key into key 'storage.encryption_key': open /run/secrets/authelia_storage_encryption_key: permission denied" authelia | 2022-07-28T23:45:05.872853157Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: secrets: error loading secret path /run/secrets/authelia_notifier_smtp_password into key 'notifier.smtp.password': open /run/secrets/authelia_notifier_smtp_password: permission denied" authelia | 2022-07-28T23:45:05.872855307Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: option 'jwt_secret' is required" authelia | 2022-07-28T23:45:05.872857277Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: duo_api: option 'secret_key' is required when duo is enabled but it is missing" authelia | 2022-07-28T23:45:05.872859417Z time="2022-07-28T21:15:05-02:30" level=error msg="Configuration: storage: option 'encryption_key' is required" authelia | 2022-07-28T23:45:05.872861397Z time="2022-07-28T21:15:05-02:30" level=fatal msg="Can't continue due to the errors loading the configuration"
目前困惑的点:
- 是否必须以root身份运行Authelia才能访问Docker Secrets?
- 是否需要将主目录下的所有Docker目录改为root拥有才能正常使用凭据?
内容的提问来源于stack exchange,提问作者fog
相关产品推荐
相关产品推荐

