fix: Docker container can not start with preset initial user/password (OD-2624)

This commit is contained in:
Robin Shen 2025-12-09 22:49:31 +08:00
parent afb984e5de
commit b2f39efe95
2 changed files with 16 additions and 8 deletions

View File

@ -655,6 +655,12 @@ public class DefaultDataService implements DataService, Serializable {
userService.replicate(unknown);
}
// Initialize security setting first as initial password validation below relies on password policy
var setting = settingService.findSetting(Key.SECURITY);
if (setting == null) {
settingService.saveSecuritySetting(new SecuritySetting());
}
if (userService.get(User.ROOT_ID) == null) {
NewUserBean bean = new NewUserBean();
bean.setName(System.getenv(ENV_INITIAL_USER));
@ -685,7 +691,7 @@ public class DefaultDataService implements DataService, Serializable {
}
}
Setting setting = settingService.findSetting(Key.SYSTEM);
setting = settingService.findSetting(Key.SYSTEM);
SystemSetting systemSetting;
String ingressUrl = OneDev.getInstance().getIngressUrl();
@ -753,10 +759,6 @@ public class DefaultDataService implements DataService, Serializable {
settingService.saveGpgSetting(gpgSetting);
}
setting = settingService.findSetting(Key.SECURITY);
if (setting == null) {
settingService.saveSecuritySetting(new SecuritySetting());
}
setting = settingService.findSetting(Key.ISSUE);
if (setting == null) {
LinkSpec link = new LinkSpec();

View File

@ -18,15 +18,21 @@ services:
hibernate_connection_username: postgres
tty: true
depends_on:
- "postgres"
postgres:
condition: service_healthy
postgres:
image: postgres:14-alpine3.15
image: postgres:14
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
start_period: 30s
environment:
### Change this
POSTGRES_PASSWORD: "changeit"
POSTGRES_USER: "postgres"
POSTGRES_DB: "onedev"
expose: