Commit graph

204 commits

Author SHA1 Message Date
Michael Mayer
467f7b1585 OAuth2: Add Client Credentials Authentication #213 #782 #808 #3730 #3943
This adds standard OAuth2 client credentials and bearer token support as
well as scope-based authorization checks for REST API clients. Note that
this initial implementation should not be used in production and that
the access token limit has not been implemented yet.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-12 18:42:50 +01:00
Brandon Richardson
3d962e2382 Backend: Expose prometheus-style metrics endpoint
Expose a new API which can be scraped by prometheus to gather useful
metrics from an instance. The new endpoint exposes photoprism build
version information, golang version, edition and various count metrics.
2023-12-06 08:13:24 +01:00
Michael Mayer
cfe1ff3299 Config: Change "web server" to "Web server" in the docs for consistency
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-24 18:05:49 +02:00
Michael Mayer
91cc358fc5 Clean: Shorten error log sanitization function name #439 #3588
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 17:05:55 +02:00
Michael Mayer
7f13218229 Logs: Add LogError() func to sanitize error messages #439 #3588
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 08:12:52 +02:00
Michael Mayer
c82a4b2287 HTTP: Refactor Unix socket support #2337 #3595
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-14 10:43:05 +02:00
Silver Bullet
2bf50082f5
Backend: Support listening on Unix Socket #2337 #3595
When HTTP listening address starts with unix: and contains /, listen
at given path instead of a TCP socket.

TLS or AutoTLS will not work since there is no TLS layer when using
the unix domain socket.
2023-08-14 10:00:35 +02:00
Michael Mayer
36bac7ab48 Faces: Add POST REST endpoint to manually create new file markers #1548
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-27 19:13:00 +02:00
Michael Mayer
a45f8d40cf Server: Add "Access-Control-Allow-Origin" to header/security.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-06 14:49:28 +02:00
Michael Mayer
7a7ffbced2 CLI: Reduce logging output in production environments #3370
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-05-05 09:55:00 +02:00
Michael Mayer
3e4121cc78 Server: Add "restart required" flag and button to restart the server
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-27 19:27:19 +02:00
Michael Mayer
9ad86ac017 Edit: Change image orientation through the user interface #464
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-20 16:18:27 +01:00
Michael Mayer
addc5e8251 Auth: Refactor users path configuration and base path default
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-14 21:47:14 +01:00
Michael Mayer
60162b3fc5 Auth: Refactor user management API and CLI commands #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-08 23:30:39 +01:00
Michael Mayer
826addb4c1 PWA: Create manifest.json in code without using a template #3181
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-10 15:53:01 +01:00
Michael Mayer
a7b1c1b11e WebDAV: Allow read access in read-only mode and improve logs #3177 #3183
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 13:14:56 +01:00
Michael Mayer
ce830ea6b0 Server: Handle HEAD requests #2965
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 10:16:25 +01:00
Michael Mayer
a5a538a67e Links: Change https://photoprism.app/ to https://www.photoprism.app/
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-08 09:07:42 +01:00
Michael Mayer
adc91fcf6e Auth: Refactor WebDAV login and increase maximum length of username
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-24 06:05:31 +01:00
Michael Mayer
4066cd7ad1 Update year in copyright notices
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-11 16:43:01 +01:00
Michael Mayer
cc38922cbe Auth: Add dummy LDAP service #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-22 22:14:34 +01:00
Michael Mayer
91774c4068 Security: Create new files without execution permission #2809
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-31 15:01:48 +01:00
Michael Mayer
81b398d77d TLS: Update info message when not enabled
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-26 18:05:21 +02:00
Michael Mayer
ebb5646571 Security: Update default config values to use HTTPS for the site URL
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-19 20:26:36 +02:00
Michael Mayer
f94ff54cc1 Auth: Improve account management page and config options #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-19 05:09:09 +02:00
Michael Mayer
59da5037e6 Server: Add Error 404 Not Found template and change ext to .gohtml #840
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-18 22:19:41 +02:00
Michael Mayer
837669f796 Auth: Extend account settings with user details and avatar upload #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-17 19:07:38 +02:00
Michael Mayer
e3bb8b19dd Routing: Prefix frontend UI routes with /library #840 #2466
Also improves migrations and updates the db schema docs.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-15 21:54:11 +02:00
Michael Mayer
f98aa619ec Security: Disable HTTPS redirect by default #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-13 23:44:51 +02:00
Michael Mayer
884dea17de Security: Use individual preview tokens for each user account #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-13 22:11:02 +02:00
Michael Mayer
265fdd0dd3 Security: Refactor certs path config #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-12 15:33:35 +02:00
Michael Mayer
d198a1d23f Security: Improve rate limit and HTTP proxy configuration #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-12 14:57:33 +02:00
Michael Mayer
6abbc39017 Security: Add http rate limiter and auto tls mode #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-11 22:44:11 +02:00
Michael Mayer
3c4cc40882 Security: Refactor log levels and events #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-10 16:34:07 +02:00
Michael Mayer
dc39fc44d2 Security: Add "header" package for setting common response headers #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-09 17:16:49 +02:00
Michael Mayer
075756c421 WebDAV: Refactor basic authentication handler #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-08 23:34:43 +02:00
Michael Mayer
4f425790ab Auth: Remember ownership of uploaded photos and albums #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 19:15:10 +02:00
Michael Mayer
f5a8c5a45d Auth: Session and ACL enhancements #98 #1746
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-28 09:01:17 +02:00
Michael Mayer
85561547cc Auth: Add "PHOTOPRISM_ADMIN_USER" option and refactor user table #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-02 21:30:50 +02:00
Michael Mayer
86086753c2 Server: Improve initialization and logging of extensions
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-02 19:09:25 +02:00
Michael Mayer
b072a18a17 Backend: Run "make fmt" with Go v1.19
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-10 16:09:21 +02:00
Michael Mayer
ca74a76038 Zip: Improve download handler, tests and logging #2532
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-21 15:16:20 +02:00
Michael Mayer
0852e659c2 API: Improve logs and add /api/v1/connect endpoint for auth callbacks
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-19 16:58:43 +02:00
Michael Mayer
e739dd3e89 Auth: Add support for config and routing extensions (WIP) #782 #2478
Enables developers to extend the existing config and API. Initial proof
of concept and work in progress. Implementation details may change.
Feedback welcome!

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-05 23:13:34 +02:00
Michael Mayer
78c12cabe0 WebDAV: Remove debug logs from pull request for #2391 #2392 2022-06-16 01:20:44 +02:00
chain710
8254c73558
WebDAV: Fix auto indexing/importing in a sub-directory on a shared domain #2391 #2392 2022-06-16 00:47:37 +02:00
Michael Mayer
61dfd2cf50 UX: Update splash screen, button, and footer styles #2360 2022-05-27 18:15:18 +02:00
Michael Mayer
e59041e93f Backend: Update Go package descriptions to improve generated docs
see https://pkg.go.dev/github.com/photoprism/photoprism
2022-04-25 09:53:55 +02:00
Michael Mayer
92e6c4fe1e Download: Add Disabled, Originals, MediaRaw & MediaSidecar Flags #2234
Extends DownloadSettings with 4 additional options:
- Name: File name pattern for downloaded files (existed)
- Disabled: Disables downloads
- Originals: Only download files stored in "originals" folder
- MediaRaw: Include RAW image files
- MediaSidecar: Include metadata sidecar files (JSON, XMP, YAML)
2022-04-15 09:42:07 +02:00
Michael Mayer
31e48d2139 UX: Add button to clear error log history in Library > Errors #1683
Note this is disabled in public mode (without authentication).
2022-04-03 12:37:43 +02:00