Commit graph

235 commits

Author SHA1 Message Date
Michael Mayer
56cf8e95e0 Add change password form to settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 21:14:34 +02:00
Michael Mayer
1fb8b5cd63 Use static logo in sidebar navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 16:11:56 +02:00
Michael Mayer
4aa7b6cc97 Sharing: Generate share preview images #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 14:26:36 +02:00
Michael Mayer
793fd55712 Fix readonly check for sidecar files #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 14:33:07 +02:00
Michael Mayer
aeb889aeff Enable conversion in readonly mode if sidecar path is set #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:29:54 +02:00
Michael Mayer
a91206a509 Universal sidecar configuration, indexing with multiple roots #268 #348
Slowly getting to the point where only very few people are able to maintain this codebase :)

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:09:35 +02:00
Michael Mayer
d0199598d0 Simplify configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 02:09:52 +02:00
Michael Mayer
0b1bcf0d4a Replace TiDB with SQLite for improved stability #66
As a side effect, we need less configuration values.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:52:47 +02:00
Michael Mayer
dd442ab9e9 Add moments #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 01:41:47 +02:00
Michael Mayer
ed8390906c Add PHOTOPRISM_DATABASE_CONNS config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:37:08 +02:00
Michael Mayer
94846c2337 Rename ThumbToken to PreviewToken
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:56:56 +02:00
Michael Mayer
6f6e3799dc Refactor download urls and client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:38:40 +02:00
Michael Mayer
2156afd85a File browser: Implement clipboard; refactor entities and fixtures #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-25 19:10:44 +02:00
Michael Mayer
e61dda495a Add PHOTOPRISM_SIDECAR_HIDDEN and PHOTOPRISM_JPEG_HIDDEN flags #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:00:17 +02:00
Michael Mayer
b24d5c03a1 Use YAML files to save and restore photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:18:58 +02:00
Michael Mayer
5f408f4f76 Backend: Read from JSON sidecar files (created by exiftool) #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 20:53:15 +02:00
Michael Mayer
a61f2384b3 Initial video support #17
Still need to add a player and index metadata. Work in progress.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 18:29:17 +02:00
Michael Mayer
305ec3e822 Get convert option for index command from settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 08:09:43 +02:00
Michael Mayer
a5a2da36f1 Automatically purge when running index command #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 07:56:14 +02:00
Michael Mayer
979a5f5c76 Code clean-up and refactoring of purge command #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:55:34 +02:00
Michael Mayer
252672b291 Run purge after indexing files in Web UI #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:46:00 +02:00
Michael Mayer
ac33ee87a1 Purge command: Fix database query and add --dry flag #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 20:33:11 +02:00
Michael Mayer
f0187df4a1 Purge command to remove missing files from the index #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 19:42:04 +02:00
Michael Mayer
c318d22ca7 UX: Rename "path" to "folder"
See https://twitter.com/browseyourlife/status/1258330913991208960

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 12:49:06 +02:00
Michael Mayer
38fe8277fa UX: Rename "directory" to "folder"
See https://twitter.com/browseyourlife/status/1258330913991208960

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 12:33:09 +02:00
Michael Mayer
3ccad67622 Index and import subdirectories #258
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 15:53:47 +02:00
Michael Mayer
1479a3ec5b Refactor indexer so that thumbs and jpegs can be created on demand #258
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 10:35:41 +02:00
Michael Mayer
9b643c830f Add template settings; remove twitter config value
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 18:26:44 +02:00
Michael Mayer
a886ad7942 Improve naming of thumbnail config values #294
Reverted PHOTOPRISM_RESAMPLE_FILTER back to PHOTOPRISM_THUMB_FILTER so that nothing breaks.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:17:19 +02:00
Michael Mayer
14fc9cd374 Revert and improve naming of thumbnail config values #294
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:04:13 +02:00
Michael Mayer
1c53a565a7 Configure on-demand rendering of regular thumbnail sizes #294
Can be enabled by setting PHOTOPRISM_RESAMPLE_UNCACHED to true

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 15:42:54 +02:00
Michael Mayer
2032b40f2b Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:00:50 +02:00
Michael Mayer
05a05773d9 Backend: Fix import command and improve logging #233 #287
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 16:16:00 +02:00
Michael Mayer
260cca91fe Backend: Refactor entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +02:00
Michael Mayer
8318ab8983 Config: Rename "sql" / "internal" to "tidb" for more clarity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 22:49:02 +02:00
Michael Mayer
ba396952a8 Update Dockerfiles and set default SQL port to 2343 2020-04-28 21:10:31 +02:00
Michael Mayer
c772ac756c Set timeout for "photoprism status" command
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 16:51:33 +02:00
Michael Mayer
ae3b5a7978 Add "photoprism status" command to check server health
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 10:27:48 +02:00
Michael Mayer
c2fa3a7246 Add common feature flags incl upload #284
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-13 18:08:21 +02:00
Michael Mayer
47814e2fde Initial stub for feature flags in settings #284
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-12 18:00:31 +02:00
Michael Mayer
a393a25e01 Backend: Remove export path to avoid confusion #276
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 23:04:52 +02:00
Michael Mayer
2f5da21a5b Sync: Code clean-up #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:27:05 +02:00
Michael Mayer
02810ffa94 Sync: Import/index after downloading #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:09:45 +02:00
Michael Mayer
087c56e371 Sync: Download to temp path #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 16:34:29 +02:00
Michael Mayer
ae5b6b759e Move share & sync to workers package #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 09:41:42 +02:00
Michael Mayer
aa220a06fe Backend: Refactor package structure
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-05 22:26:53 +02:00
Michael Mayer
2e5840f3b0 Implement share worker #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-03 18:08:49 +02:00
Michael Mayer
a1706a5922 Backend: Upgrade & improve Dockerfiles #263
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-23 20:29:31 +01:00
Michael Mayer
01527c180e Add WebDAV server
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-21 04:23:16 +01:00
François d'Yvoire
4fe5aaaccd
Improve command package comments (#251) 2020-02-18 23:42:51 +01:00
Anders Brander
3ed5370439
Do not print starting web server before starting web server. (#240)
Thnigs can go wrong and abort in server.Start() before the web server is
started. This commit will move the log message to where the webserver is
started to avoid confusing the user.
2020-02-05 23:05:37 +01:00
Michael Mayer
17e1fb0f8a Docker: Fix demo after renaming import command
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-31 17:29:55 +01:00
Michael Mayer
a4e2867c86 Split import command into copy and move
Upgraded JS dependencies and did some refactoring along the way...

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-31 15:29:06 +01:00
Michael Mayer
2f62084d6f Backend: Improve command usage description #187
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-22 12:19:43 +01:00
Michael Mayer
02f605e6a8 Backend: Improve command help #187
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-22 10:35:00 +01:00
linosgian
afa307a28f Add --all flag to index command #187
PR #211
2020-01-22 09:57:49 +01:00
Michael Mayer
b5424d3b22 Backend: Disable NSFW detection by default to boost performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 16:48:32 +01:00
Michael Mayer
74a14e265f Backend: Rename "thumb-algorithm" to "thumb-filter" #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 13:46:05 +01:00
Michael Mayer
e184cad553 Backend: Add thumb config options and lower defaults #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 11:07:09 +01:00
Michael Mayer
3e4e72b00f Backend: Move capture package to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:25:58 +01:00
Michael Mayer
f8a45b14d9 Backend: Move reusable packages to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:00:56 +01:00
Michael Mayer
e9874d6e0c Backend: Compile labels into source #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-09 01:21:09 +01:00
Michael Mayer
182b169ac0 Backend: Improve thumbnail rendering #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 22:29:40 +01:00
Michael Mayer
719fd1a811 Backend: Use mutex in convert so that it can be canceled
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 20:51:49 +01:00
Michael Mayer
fc65ec61f7 Backend: Add workers config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 23:43:26 +01:00
Michael Mayer
f6d4e62ea8 Backend: Split up "util" package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 15:22:46 +01:00
Michael Mayer
e43983d579 Backend: Refactor thumbnail package #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 14:32:15 +01:00
Michael Mayer
5ec2d9e9a4 Backend: Add config parameters #99 #157 #180
This commit adds config parameters for thumbnail quality, max thumbnail size and geocoding api as well as a flag to to disable TensorFlow.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 06:59:35 +01:00
Michael Mayer
057204d379 Backend: Major code refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:03:47 +01:00
Michael Mayer
c74bb7d13a Import: Use goroutines and channels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 03:57:28 +01:00
Michael Mayer
d5d3fa8131 Indexer: Use goroutines and channels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 02:58:26 +01:00
Michael Mayer
7d5bc0619e Add "experimental" feature flag #152 #153 #154
Use this flag to test new features before they are stable.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-30 12:38:11 +01:00
Michael Mayer
016d90054e Backend: Implement NSFW config flags
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 17:19:16 +01:00
Michael Mayer
8cce9f7c8c Backend: Set NSFW flag while indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 20:35:14 +01:00
Michael Mayer
dac272468e Sharing: Render preview image & site info
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 14:10:20 +01:00
Michael Mayer
6d4e42c79e Added option to skip indexing existing files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-09 08:04:41 +01:00
Michael Mayer
a2963e9fc6 Add event hook for sending logs to frontend
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-02 00:30:58 +01:00
Michael Mayer
a14b74dfa6 Config: Add public flag to disable auth #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-11 21:10:41 +01:00
Michael Mayer
56c97ec057 Basic login for admin #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-08 06:53:40 +01:00
Michael Mayer
10269c6f6c Code clean-up in commands 2019-07-03 19:56:47 +02:00
Michael Mayer
d4526bedd2 Read-only mode: Disable upload & import in frontend and show info #56 2019-07-02 23:01:56 +02:00
Michael Mayer
bc65ad57d5 Disable import, upload and raw converter in read-only mode #56 2019-07-02 22:09:06 +02:00
Michael Mayer
5662fc35ed Refactor indexer in preparation to read only mode #56 2019-07-02 22:09:06 +02:00
Michael Mayer
3655ebf9d8 Use daemon server mode to run acceptance tests #58 2019-06-30 05:38:39 +02:00
Michael Mayer
5e37cd54fc Update Docker images: new directory structure 2019-06-29 23:27:42 +02:00
Vedhavyas Singareddi
f63efc5f51 Implement daemon mode (#119)
* add daemon process
* add daemon stop command
* add daemon log to log file
* check for running daemons
* minor changes
2019-06-20 01:11:03 +02:00
Michael Mayer
aab504ffd6 Initial support for HEIF image files incl improved tests & example files 2019-06-06 14:44:35 +02:00
Michael Mayer
a6131eeddd Move all config files to assets/config and resources to assets/resources 2019-06-05 18:25:20 +02:00
Michael Mayer
89a1e8e7fc Console output text changes 2019-06-04 00:22:25 +02:00
Vedhavyas Singareddi
38b9889ef2 Add context for graceful shutdown #112
see pull request #114
2019-06-03 22:58:15 +02:00
Michael Mayer
d31305a503 Move static assets from public/ to static/ for clearer structure 2019-05-22 13:55:11 +02:00
Michael Mayer
db261d40b3 Share available thumbnail types with JS frontend 2019-05-14 16:04:17 +02:00
Michael Mayer
dc4536b249 Improve thumbnail rendering and indexing performance 2019-05-13 18:01:50 +02:00
Michael Mayer
a612609854 Thumbnail cache warm-up for demo 2019-05-09 07:48:41 +02:00
Michael Mayer
0ddef3a02d Rename context package to config and fsutil to util 2019-05-06 23:18:10 +02:00
Michael Mayer
1e6f41b417 Improve image classification performance and logging in debug mode 2019-05-04 17:34:51 +02:00
Michael Mayer
e565195f23 Add config flag for read-only mode, see #56 2019-05-04 09:11:33 +02:00
Michael Mayer
868e1b80b9 Use reflection and yaml.Unmarshal() for configuration, see #66 2019-05-04 05:25:00 +02:00
Michael Mayer
71adb35cff Remove test and frontend packages; app and test context refactoring 2019-05-03 18:57:28 +02:00
Michael Mayer
3315b87305 Use logrus for logging 2019-05-02 14:10:05 +02:00
Michael Mayer
8289de2746 Improve logging and set optional password for built-in TiDB server 2019-05-01 14:54:11 +02:00
Vedhavyas Singareddi
4edfc4fa4c error chacks and minor api refactoring (#92)
* error chacks and minor api refactoring

* consistant naming
2019-01-15 14:00:42 +01:00
Michael Mayer
e9425329f1 Add SqlServerPassword() and HttpServerPassword() to Config, see #16 2018-12-26 11:40:20 +01:00
Michael Mayer
a3377dc8e8 Rename tidb to internal for database configuration, see #50 2018-12-26 11:40:20 +01:00
Michael Mayer
579c1272a7 Change order of values in config command, see #50 2018-12-26 11:40:20 +01:00
Michael Mayer
77c101a504 Move version command to the bottom, see #50 2018-12-21 04:40:45 +01:00
Michael Mayer
9e887be2d6 Add version command, see #50 2018-12-21 04:32:17 +01:00
Michael Mayer
5345ad37a2 Move server flags to global config, see #50 2018-12-21 04:17:22 +01:00
Michael Mayer
7d6c3d83b7 Rename Config.GetTensorFlowModelPath() to TensorFlowModelPath(), see #50 2018-12-21 03:25:50 +01:00
Michael Mayer
7fde545fe7 Rename Config.GetAssetsPath() to AssetsPath(), see #50 2018-12-21 03:25:09 +01:00
Michael Mayer
628c598f08 Rename Config.GetThumbnailsPath() to ThumbnailsPath(), see #50 2018-12-21 03:24:22 +01:00
Michael Mayer
3462257cce Rename Config.GetCachePath() to CachePath(), see #50 2018-12-21 03:23:47 +01:00
Michael Mayer
a3d9c61c42 Rename Config.GetDarktableCli() to DarktableCli(), see #50 2018-12-21 03:23:05 +01:00
Michael Mayer
32444bde18 Rename Config.GetExportPath() to ExportPath(), see #50 2018-12-21 03:22:25 +01:00
Michael Mayer
1a4815fd51 Rename Config.GetImportPath() to ImportPath(), see #50 2018-12-21 03:21:49 +01:00
Michael Mayer
c1219799da Rename Config.GetOriginalsPath() to OriginalsPath(), see #50 2018-12-21 03:21:21 +01:00
Michael Mayer
b365a2ce57 Rename Config.GetDatabaseDsn() to DatabaseDsn(), see #50 2018-12-21 03:19:25 +01:00
Michael Mayer
3eb61dff47 Rename Config.GetDatabaseDriver() to DatabaseDriver, see #50 2018-12-21 03:18:43 +01:00
Michael Mayer
f0c947ddfb Rename Config.GetServerPort() to HttpServerPort, see #50 2018-12-21 03:16:50 +01:00
Michael Mayer
49793a3706 Rename server-* to http-*, see #50 2018-12-21 03:11:06 +01:00
Michael Mayer
d4aada7f86 Rename Config.IsDebug() to Debug(), see #50 2018-12-21 02:49:45 +01:00
Michael Mayer
37fe1d093e Rename Config.GetConfigFile() to ConfigFile(), see #50 2018-12-21 02:43:44 +01:00
Michael Mayer
0f12aac73b Rename Config.GetDb() to Db(), see #50 2018-12-21 02:37:16 +01:00
Michael Mayer
43b860801c Proof-of-concept for using TiDB instead of MySQL #60 2018-12-18 18:38:30 +01:00
Michael Mayer
9872cfaa50 Add ConfigCommand test #58
- Includes refactoring of existing packages to enable testing of commands
2018-11-17 13:57:19 +01:00
Michael Mayer
fb91ce9a06 Move utils and test config to separate packages #58 2018-11-17 06:21:39 +01:00
Michael Mayer
c5ee0fee48 Add darktable development docker image #62
- Improved build scripts and Dockerfile
- broadwayd can be used as display server for darktable or other GTK based software
2018-11-12 06:58:39 +01:00
Michael Mayer
dd26ee0dca Use functions for all config values #50
Why? See https://github.com/photoprism/photoprism/issues/50#issuecomment-433856358
2018-11-09 20:48:23 +01:00
Michael Mayer
90d73e4a61 Fixed default value for database DSN #58 2018-11-09 13:18:12 +01:00
Michael Mayer
ac31141669 Smaller docker images with multi-stage build #39 2018-11-08 10:56:11 +01:00
Michael Mayer
a4d6f810d6 Added inline documentation #14 2018-11-06 19:02:03 +01:00
Michael Mayer
6a2af16d1c Using goimports for formatting imports #50 2018-10-31 07:14:33 +01:00
Carlos Vazquez
00abbf1af5 Adds basic documentation for internal packages (#43)
* Added basic documentation wireframe for api, commands, and forms.

* Added doc.go
2018-10-31 02:42:54 +01:00
Michael Mayer
10859ee695 Moved perceptual hash from photo to file model; code clean-up (go fmt)
- Files might show different details of the full photo
2018-09-27 08:59:53 +02:00
Michael Mayer
034495d75c Refactoring: Separate file for each command 2018-09-24 09:53:16 +02:00