sismics / docs

Lightweight document management system packed with all the features you can expect from big expensive solutions
https://teedy.io
GNU General Public License v2.0
1.98k stars 489 forks source link

Can't change admin password, stays default value #638

Closed wolicape closed 2 years ago

wolicape commented 2 years ago

Hi,

I use the docker-compose and when I enter a personal admin password, it doesn't change anything, it remains the default one.

Bcrypt hash 05 rounds ( like the default hash), $ within the hash are escaped with a second $.

When i change this hash in the docker-compose.yml, down & re up the stack and try to connect with new admin credentials, it doesn't work. If I try with the default one, it works.

docker-compose.yml:

version: '3'
services:
# Teedy Application
  teedy-server:
    image: sismics/docs:v1.10
    restart: unless-stopped
    ports:
      # Map internal port to host
      - 8100:8080

    environment:
      # Base url to be used
      DOCS_BASE_URL: "https://my.domain.com/"
      # Set the admin email
      DOCS_ADMIN_EMAIL_INIT: "myname"
      # Set the admin password (in this example: "superSecure").
          # Be aware that $ within the hash have to be escaped with a second $
      #DOCS_ADMIN_PASSWORD_INIT: "$$2a$$05$$PcMNUbJvsk7QHFSfEIDaIOjk1VI9/E7IPjTKx.jkjPxkx2EOKSoPS"
      DOCS_ADMIN_PASSWORD_INIT: "$$2a$$05$$vu8PYh2XWt3.bPCi3Zx3WudbmZtW10EpHRCc9DUAkTk//zCmXPGOS"
      # Setup the database connection. "teedy-db" is the hostname
      # and "teedy" is the name of the database the application
      # will connect to.
      DATABASE_URL: "jdbc:postgresql://teedy-db:5432/teedy"
      DATABASE_USER: "myuser"
      DATABASE_PASSWORD: "mypassword"
    volumes:
      - ./docs/data:/data
      - /etc/ssl/private/example.key:/etc/ssl/private/example.key
      - /etc/ssl/certs/example.crt:/etc/ssl/certs/example.crt
    depends_on:
      - teedy-db

# DB for Teedy
  teedy-db:
    image: postgres:13.1-alpine
    restart: unless-stopped
    expose:
      - 5432
    environment:
      POSTGRES_USER: "myuser"
      POSTGRES_PASSWORD: "mypassword"
      POSTGRES_DB: "teedy"
    volumes:
      - ./docs/db:/var/lib/postgresql/data

Server logs :

2022-05-12 10:11:56.035:INFO:oejs.AbstractConnector:main: Started ServerConnector@15dd5966{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2022-05-12 10:11:56.036:INFO:oejs.Server:main: Started @19420ms
12 May 2022 10:12:07,775 INFO com.sismics.util.ClasspathScanner.findClasses(ClasspathScanner.java:48) Found 2 classes for AuthenticationHandler

Thanks in advance for your help

jendib commented 2 years ago

The password in the env var is only used when there is no database initialized. Please use the UI to change the password afterward.