Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
parent
53211c29fc
commit
20a82efda4
4
Makefile
4
Makefile
|
@ -124,9 +124,9 @@ acceptance-stop:
|
||||||
acceptance-private-restart:
|
acceptance-private-restart:
|
||||||
cp -f storage/acceptance/backup.db storage/acceptance/index.db
|
cp -f storage/acceptance/backup.db storage/acceptance/index.db
|
||||||
cp -f storage/acceptance/config/settingsBackup.yml storage/acceptance/config/settings.yml
|
cp -f storage/acceptance/config/settingsBackup.yml storage/acceptance/config/settings.yml
|
||||||
./photoprism --auth-mode "password" --url "http://localhost:2343/" --upload-nsfw=false --db "sqlite" --dsn "./storage/acceptance/index.db" --import-path "./storage/acceptance/import" --port 2343 -c "./storage/acceptance/config" -o "./storage/acceptance/originals" -s "./storage/acceptance" --test --backup-path "./storage/acceptance/backup" --disable-backups start -d
|
./photoprism --auth-mode "passwd" --url "http://localhost:2343/" --upload-nsfw=false --db "sqlite" --dsn "./storage/acceptance/index.db" --import-path "./storage/acceptance/import" --port 2343 -c "./storage/acceptance/config" -o "./storage/acceptance/originals" -s "./storage/acceptance" --test --backup-path "./storage/acceptance/backup" --disable-backups start -d
|
||||||
acceptance-private-stop:
|
acceptance-private-stop:
|
||||||
./photoprism --auth-mode "password" --url "http://localhost:2343/" --upload-nsfw=false --db "sqlite" --dsn "./storage/acceptance/index.db" --import-path "./storage/acceptance/import" --port 2343 -c "./storage/acceptance/config" -o "./storage/acceptance/originals" -s "./storage/acceptance" --test --backup-path "./storage/acceptance/backup" --disable-backups stop
|
./photoprism --auth-mode "passwd" --url "http://localhost:2343/" --upload-nsfw=false --db "sqlite" --dsn "./storage/acceptance/index.db" --import-path "./storage/acceptance/import" --port 2343 -c "./storage/acceptance/config" -o "./storage/acceptance/originals" -s "./storage/acceptance" --test --backup-path "./storage/acceptance/backup" --disable-backups stop
|
||||||
start:
|
start:
|
||||||
./photoprism start -d
|
./photoprism start -d
|
||||||
stop:
|
stop:
|
||||||
|
|
|
@ -21,7 +21,7 @@ services:
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_UID: ${UID:-1000} # user id, should match your host user id
|
PHOTOPRISM_UID: ${UID:-1000} # user id, should match your host user id
|
||||||
PHOTOPRISM_GID: ${GID:-1000} # group id
|
PHOTOPRISM_GID: ${GID:-1000} # group id
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
||||||
## Public server URL incl http:// or https:// and /path, :port is optional
|
## Public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_SITE_URL: "https://latest.localssl.dev/"
|
PHOTOPRISM_SITE_URL: "https://latest.localssl.dev/"
|
||||||
|
|
|
@ -21,7 +21,7 @@ services:
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_UID: ${UID:-1000} # user id, should match your host user id
|
PHOTOPRISM_UID: ${UID:-1000} # user id, should match your host user id
|
||||||
PHOTOPRISM_GID: ${GID:-1000} # group id
|
PHOTOPRISM_GID: ${GID:-1000} # group id
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
||||||
## Public server URL incl http:// or https:// and /path, :port is optional
|
## Public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_SITE_URL: "https://latest.localssl.dev/"
|
PHOTOPRISM_SITE_URL: "https://latest.localssl.dev/"
|
||||||
|
|
|
@ -25,7 +25,7 @@ services:
|
||||||
- "go-mod:/go/pkg/mod"
|
- "go-mod:/go/pkg/mod"
|
||||||
shm_size: "2gb"
|
shm_size: "2gb"
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/"
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/"
|
||||||
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
|
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
|
||||||
|
|
|
@ -34,7 +34,7 @@ services:
|
||||||
## Switch to a non-root user after initialization (supported IDs are 33, 50-99, 500-600, and 900-1200):
|
## Switch to a non-root user after initialization (supported IDs are 33, 50-99, 500-600, and 900-1200):
|
||||||
PHOTOPRISM_UID: ${UID:-1000} # user id, should match your host user id
|
PHOTOPRISM_UID: ${UID:-1000} # user id, should match your host user id
|
||||||
PHOTOPRISM_GID: ${GID:-1000} # group id
|
PHOTOPRISM_GID: ${GID:-1000} # group id
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
||||||
## External development server URL incl http:// or https:// and /path, :port is optional
|
## External development server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_SITE_URL: "https://app.localssl.dev/"
|
PHOTOPRISM_SITE_URL: "https://app.localssl.dev/"
|
||||||
|
|
|
@ -60,7 +60,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "2342:2342" # HTTP port (host:container)
|
- "2342:2342" # HTTP port (host:container)
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
|
|
|
@ -55,7 +55,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "2342:2342" # HTTP port (host:container)
|
- "2342:2342" # HTTP port (host:container)
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
|
|
|
@ -132,7 +132,7 @@ services:
|
||||||
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
|
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
|
||||||
PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description
|
PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description
|
||||||
PHOTOPRISM_SITE_AUTHOR: "" # meta site author
|
PHOTOPRISM_SITE_AUTHOR: "" # meta site author
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "_admin_password_" # YOUR INITIAL "admin" PASSWORD
|
PHOTOPRISM_ADMIN_PASSWORD: "_admin_password_" # YOUR INITIAL "admin" PASSWORD
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip)
|
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip)
|
||||||
|
@ -170,7 +170,7 @@ services:
|
||||||
## see https://docs.photoprism.app/getting-started/proxies/traefik/
|
## see https://docs.photoprism.app/getting-started/proxies/traefik/
|
||||||
traefik:
|
traefik:
|
||||||
restart: always
|
restart: always
|
||||||
image: traefik:v2.6
|
image: traefik:v2.8
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
|
|
|
@ -52,7 +52,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "2342:2342" # HTTP port (host:container)
|
- "2342:2342" # HTTP port (host:container)
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
|
|
|
@ -49,7 +49,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "2342:2342" # HTTP port (host:container)
|
- "2342:2342" # HTTP port (host:container)
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
|
|
|
@ -54,7 +54,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "2342:2342" # HTTP port (host:container)
|
- "2342:2342" # HTTP port (host:container)
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
|
|
|
@ -52,7 +52,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "2342:2342" # HTTP port (host:container)
|
- "2342:2342" # HTTP port (host:container)
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
|
|
|
@ -54,7 +54,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "2342:2342" # HTTP port (host:container)
|
- "2342:2342" # HTTP port (host:container)
|
||||||
environment:
|
environment:
|
||||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
PHOTOPRISM_AUTH_MODE: "passwd" # authentication mode (public, passwd)
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # YOUR INITIAL ADMIN PASSWORD (MINIMUM 8 CHARACTERS, USERNAME "admin")
|
||||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # public server URL incl http:// or https:// and /path, :port is optional
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||||
|
|
|
@ -9,8 +9,8 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
AuthModePublic = "public"
|
AuthModePublic = "public"
|
||||||
AuthModePassword = "password"
|
AuthModePasswd = "passwd"
|
||||||
)
|
)
|
||||||
|
|
||||||
func isBcrypt(s string) bool {
|
func isBcrypt(s string) bool {
|
||||||
|
@ -46,11 +46,18 @@ func (c *Config) AdminPassword() string {
|
||||||
func (c *Config) AuthMode() string {
|
func (c *Config) AuthMode() string {
|
||||||
if c.Public() {
|
if c.Public() {
|
||||||
return AuthModePublic
|
return AuthModePublic
|
||||||
} else if m := strings.ToLower(strings.TrimSpace(c.options.AuthMode)); m != "" {
|
|
||||||
return m
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return AuthModePassword
|
mode := strings.ToLower(strings.TrimSpace(c.options.AuthMode))
|
||||||
|
|
||||||
|
switch mode {
|
||||||
|
case AuthModePublic:
|
||||||
|
return AuthModePublic
|
||||||
|
case "", "pw", "pass", "passwd", "password", "passwort", "passwords":
|
||||||
|
return AuthModePasswd
|
||||||
|
default:
|
||||||
|
return AuthModePasswd
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auth checks if authentication is required.
|
// Auth checks if authentication is required.
|
||||||
|
|
|
@ -13,9 +13,16 @@ func TestAuthMode(t *testing.T) {
|
||||||
assert.Equal(t, AuthModePublic, c.AuthMode())
|
assert.Equal(t, AuthModePublic, c.AuthMode())
|
||||||
c.options.Public = false
|
c.options.Public = false
|
||||||
c.options.Demo = false
|
c.options.Demo = false
|
||||||
assert.Equal(t, AuthModePassword, c.AuthMode())
|
assert.Equal(t, AuthModePasswd, c.AuthMode())
|
||||||
c.options.Demo = true
|
c.options.Demo = true
|
||||||
assert.Equal(t, AuthModePublic, c.AuthMode())
|
assert.Equal(t, AuthModePublic, c.AuthMode())
|
||||||
|
c.options.AuthMode = "pass"
|
||||||
|
assert.Equal(t, AuthModePublic, c.AuthMode())
|
||||||
|
c.options.Demo = false
|
||||||
|
c.options.AuthMode = "pass"
|
||||||
|
assert.Equal(t, AuthModePasswd, c.AuthMode())
|
||||||
|
c.options.AuthMode = "password"
|
||||||
|
assert.Equal(t, AuthModePasswd, c.AuthMode())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAuth(t *testing.T) {
|
func TestAuth(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue