Skip to content

How to build OTA Plus server using Docker? #126

Description

@KudoWu

Hi!
I'm an embedded software engineer currently learning Uptane, and I'm trying to build an OTA Plus server using Docker. However, I'm encountering some issues.

Environment Information:

  1. ubuntu20.04, Docker version 20.10.24

Expected Behavior:

I expect to successfully start the OTA Plus server using Docker and be able to access its web interface.

Actual Behavior:

The container fails to start, and I'm unable to access the OTA Plus server.

Issue Description:

I've tried the following command:

docker run -d -p 80:80 --name ota-plus-web advancedtelematic/ota-plus-web

But I still can't start the OTA Plus server.

I've checked the project documentation (https://github.com/advancedtelematic/ota-plus-server) and tried the suggested environment variables, but with no success.

docker run -d -p 9000:9000 --env OIDC_NS_PROVIDER=com.advancedtelematic.auth.oidc.ConfiguredNamespace --env OIDC_LOGIN_ACTION=com.advancedtelematic.auth.NoLoginAction --env OIDC_LOGOUT_ACTION=com.advancedtelematic.auth.NoLogoutAction --env OIDC_TOKEN_EXCHANGE=com.advancedtelematic.auth.NoExchange --name ota-plus-web advancedtelematic/ota-plus-web:latest

Error Message:

❯ docker logs ota-plus-web
I|2024-03-05 17:54:04,164|akka.event.slf4j.Slf4jLogger|Slf4jLogger started
Oops, cannot start the server.
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error injecting constructor, java.lang.IllegalArgumentException: Empty key
  at com.advancedtelematic.auth.AccessTokenBuilder.<init>(AccessTokenBuilder.scala:41)
  at com.advancedtelematic.auth.AccessTokenBuilder.class(AccessTokenBuilder.scala:14)
  while locating com.advancedtelematic.auth.AccessTokenBuilder
    for the 7th parameter of com.advancedtelematic.controllers.Application.<init>(Application.scala:55)
  at com.advancedtelematic.controllers.Application.class(Application.scala:55)
  while locating com.advancedtelematic.controllers.Application
    for the 2nd parameter of router.Routes.<init>(Routes.scala:68)
  while locating router.Routes
  while locating play.api.inject.RoutesProvider
  while locating play.api.routing.Router
...

I'm not very familiar with the interface, so I'm hoping to get some help resolving this issue. Thank you for your support!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions