Docker container can not start with preset initial user/password (OD-2624)
Jake Horn opened 1 month ago

I tried to figure this one out on my own, but am at my witts end. When I run the server it repeats this error.

05:36:11 INFO  i.onedev.commons.bootstrap.Bootstrap - Launching application from '/opt/onedev'...
onedev-server  | 05:36:11 INFO  i.onedev.commons.bootstrap.Bootstrap - Cleaning temp directory...
onedev-server  | 05:36:11 INFO  io.onedev.commons.loader.AppLoader - Starting application...
onedev-server  | 05:36:26 INFO  i.o.s.s.impl.DefaultProjectService - Checking projects...
onedev-server  | 05:36:26 INFO  i.o.s.s.i.DefaultAgentAttributeService - Caching agent attribute info...
onedev-server  | 05:36:26 INFO  i.o.s.s.impl.DefaultIssueService - Caching issue info...
onedev-server  | 05:36:27 INFO  i.o.s.s.i.DefaultBuildMetricService - Caching build metric info...
onedev-server  | 05:36:27 INFO  i.o.s.s.impl.DefaultBuildService - Caching build info...
onedev-server  | 05:36:27 INFO  i.o.s.s.i.DefaultBuildParamService - Caching build param info...
onedev-server  | 05:36:29 ERROR i.onedev.commons.bootstrap.Bootstrap - Error booting application
onedev-server  | javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.
onedev-server  | 	at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateSingleConstraint(ConstraintTree.java:222)
onedev-server  | 	at org.hibernate.validator.internal.engine.constraintvalidation.SimpleConstraintTree.validateConstraints(SimpleConstraintTree.java:62)
onedev-server  | 	at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:84)
onedev-server  | 	at org.hibernate.validator.internal.metadata.core.MetaConstraint.doValidateConstraint(MetaConstraint.java:160)
onedev-server  | 	at org.hibernate.validator.internal.metadata.core.MetaConstraint.validateConstraint(MetaConstraint.java:150)
onedev-server  | 	at org.hibernate.validator.internal.engine.ValidatorImpl.validateMetaConstraint(ValidatorImpl.java:614)
onedev-server  | 	at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForSingleDefaultGroupElement(ValidatorImpl.java:558)
onedev-server  | 	at org.hibernate.validator.internal.engine.ValidatorImpl.validatePropertyConstraintsForDefaultGroup(ValidatorImpl.java:1645)
onedev-server  | 	at org.hibernate.validator.internal.engine.ValidatorImpl.validatePropertyConstraintsForCurrentGroup(ValidatorImpl.java:1586)
onedev-server  | 	at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:419)
onedev-server  | 	at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:191)
onedev-server  | 	at io.onedev.server.data.DefaultDataService.checkData(DefaultDataService.java:674)
onedev-server  | 	at io.onedev.server.persistence.TransactionInterceptor$1.call(TransactionInterceptor.java:23)
onedev-server  | 	at io.onedev.server.persistence.DefaultTransactionService.lambda$call$0(DefaultTransactionService.java:62)
onedev-server  | 	at io.onedev.server.persistence.DefaultSessionService.call(DefaultSessionService.java:85)
onedev-server  | 	at io.onedev.server.persistence.DefaultTransactionService.call(DefaultTransactionService.java:53)
onedev-server  | 	at io.onedev.server.persistence.TransactionInterceptor.invoke(TransactionInterceptor.java:18)
onedev-server  | 	at io.onedev.server.OneDev.checkData(OneDev.java:276)
onedev-server  | 	at io.onedev.server.OneDev.start(OneDev.java:173)
onedev-server  | 	at io.onedev.commons.loader.DefaultPluginManager.start(DefaultPluginManager.java:44)
onedev-server  | 	at io.onedev.commons.loader.AppLoader.start(AppLoader.java:75)
onedev-server  | 	at io.onedev.commons.bootstrap.Bootstrap.main(Bootstrap.java:200)
onedev-server  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
onedev-server  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
onedev-server  | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
onedev-server  | 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
onedev-server  | 	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:349)
onedev-server  | 	at java.base/java.lang.Thread.run(Thread.java:840)
onedev-server  | Caused by: java.lang.NullPointerException: Cannot invoke "io.onedev.server.model.support.administration.SecuritySetting.getPasswordPolicy()" because the return value of "io.onedev.server.service.SettingService.getSecuritySetting()" is null
onedev-server  | 	at io.onedev.server.validation.validator.PasswordValidator.isValid(PasswordValidator.java:27)
onedev-server  | 	at io.onedev.server.validation.validator.PasswordValidator.isValid(PasswordValidator.java:10)
onedev-server  | 	at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateSingleConstraint(ConstraintTree.java:210)
onedev-server  | 	... 27 common frames omitted
onedev-server  | 05:36:29 INFO  io.onedev.commons.loader.AppLoader - Stopping application...
onedev-server  | <-- Wrapper Stopped

My compose

networks:
  onedev:
    name: onedev
  proxy:
    external: true

services:
  onedev-server:
    image: 1dev/server:latest
    container_name: onedev-server
    hostname: onedev-server
    restart: unless-stopped
    networks:
      - onedev
      - proxy
    expose:
      - 6610
    environment:
      - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect
      - hibernate_connection_driver_class=org.postgresql.Driver
      - hibernate_connection_url=jdbc:postgresql://onedev-db:5432/onedev
      - hibernate_connection_username=${POSTGRES_USER}
      - hibernate_connection_password=${POSTGRES_PASSWORD}
      - initial_user=${INITIAL_USER}
      - initial_password=${INITIAL_PASSWORD}
      - initial_email=${INITIAL_EMAIL}
      - initial_server_url=https://${HOST_NAME}.${DOMAIN_NAME}
      - initial_ssh_root_url=ssh://${HOST_NAME}.${DOMAIN_NAME}
    labels:
      - net.unraid.docker.webui=https://${HOST_NAME}.$DOMAIN_NAME/
      - net.unraid.docker.icon=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/onedev-light.png
      - traefik.enable=true
      - traefik.docker.network=proxy
      - traefik.http.routers.onedev-rtr.rule=Host("${HOST_NAME}.$DOMAIN_NAME")
      - traefik.http.routers.onedev-rtr.entrypoints=websecure
      - traefik.http.routers.onedev-rtr.middlewares=mw-error-pages@file
      - traefik.http.services.onedev.loadbalancer.server.port=6610
      - traefik.tcp.routers.onedev-ssh.entrypoints=ssh
      - traefik.tcp.routers.onedev-ssh.rule=HostSNI(`*`)
      - traefik.tcp.services.onedev-ssh.loadbalancer.server.port=22
    volumes:
      - ${DOCKERDIR}/app:/opt/onedev
      - /var/run/docker.sock:/var/run/docker.sock:ro
    tty: true
    user: root
    depends_on:
      - "onedev-db"

  onedev-db:
    hostname: onedev-db
    image: "postgres:18.1-alpine3.23"
    container_name: onedev-db
    restart: unless-stopped
    networks:
      - onedev
    expose:
      - "5432"
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DATABASE}
    volumes:
      - ${DOCKERDIR}/data:/var/lib/postgresql/18/docker
    healthcheck:
      test: ["CMD-SHELL", "pg_isready"]
      interval: 1m
      timeout: 5s
      retries: 5
    labels:
      - net.unraid.docker.icon=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/postgres.png

  • Robin Shen changed fields 1 month ago
    Name Previous Value Current Value
    Type
    Question
    Bug
    Affected Versions
    empty
    <=13.1.3
  • Robin Shen changed title 1 month ago
    Previous Value Current Value
    Error running in docker compose
    Docker container can not start with preset initial user/password
  • OneDev commented 1 month ago

    State changed as code fixing the issue is committed (b2f39efe)

  • OneDev changed state to 'Closed' 1 month ago
    Previous Value Current Value
    Open
    Closed
  • OneDev commented 1 month ago

    State changed as build OD-6864 (13.1.4) is successful

  • OneDev changed state to 'Released' 1 month ago
    Previous Value Current Value
    Closed
    Released
issue 1/1
Type
Bug
Priority
Normal
Assignee
Affected Versions
<=13.1.3
Labels
No labels
Issue Votes (0)
Watchers (3)
Reference
OD-2624
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover