1
Fork 0
Commit Graph

1246 Commits

Author SHA1 Message Date
Googol Lee 4b678f201d
Fix cache pushing problem. (#1052) 2024-09-13 16:11:29 +02:00
Googol Lee 4655684b49
Fix cache flag in dependencies workflow. (#1050) 2024-09-13 13:41:39 +02:00
Googol Lee 49ae7d17df
Fix cache options. (#1049) 2024-09-13 11:44:30 +02:00
Kostiantyn e8914e0890
new deps (#1048)
Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-09-12 22:17:01 +02:00
Googol Lee 17b27d7e60
Add build workflow for workers. (#1047) 2024-09-12 19:09:03 +02:00
Amandus 8e602f8d2b
docs: Add reminder to url encode postgres password env variable (#1041) 2024-09-06 17:49:48 +02:00
Googol Lee 0ffa7e05fa
Bump to golang 1.23 (#1046) 2024-09-06 17:43:19 +02:00
Googol Lee d91ce8ff42
Rollback uid/gid to 999. (#1044) 2024-09-06 15:34:32 +02:00
Googol Lee a6cbfc76f3
Back to `bookworm`. (#1040) 2024-09-06 13:32:22 +02:00
Googol Lee 6e1e1d12ce
Update to magick 7 in alpine. (#1035) 2024-09-02 22:12:00 +02:00
Googol Lee 85c1e52b06
Use alpine as base images. (#1033) 2024-09-02 18:35:45 +02:00
Googol Lee ad13172a32
Switch to Debian testing and `imagemagick`. (#1021) 2024-08-29 10:30:06 +02:00
Googol Lee 6c5c304492
Fix the default value of BUILD_DATE. (#1027) 2024-08-29 09:01:42 +02:00
Googol Lee bb66a8b791
Fix release version and date in UI. (#1025) 2024-08-27 21:46:29 +02:00
Jorilx bef9e7c666
Add support for GIF images (#1024) 2024-08-20 22:41:30 +02:00
Kostiantyn 5438fbb3f4
Update `crypto` and `image` versions (#1015)
Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-08-11 20:02:24 +02:00
Googol Lee cf1a66975d
API server listens with the address of `PHOTOVIEW_LISTEN_IP`, #1010. (#1014)
Fix the listened host reference in the `main()` function
2024-08-09 17:32:07 +03:00
Googol Lee ebcbe6c057
Update workflow using Dockerfile. (#1003) 2024-08-03 23:17:54 +02:00
Kostiantyn 4d9ce30583
Bump 'crypto' and 'gorm' versions based on Dependabot PRs (#1008)
Co-authored-by: Konstantin Koval
2024-08-03 19:36:18 +03:00
Googol Lee bdae9a67ce
Add `Set up Docker development environment` in README.md (#997) 2024-07-23 21:56:30 +02:00
Googol Lee 0345bc1481
Update `Set up development environment` in README.md. (#995) 2024-07-16 23:10:38 +02:00
dependabot[bot] 7559a609aa
Bump the npm_and_yarn group across 1 directory with 4 updates (#991)
Bumps the npm_and_yarn group with 4 updates in the /ui directory: [postcss](https://github.com/postcss/postcss), [braces](https://github.com/micromatch/braces), [ejs](https://github.com/mde/ejs) and [ws](https://github.com/websockets/ws).


Updates `postcss` from 8.4.38 to 8.4.39
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.38...8.4.39)

Updates `braces` from 3.0.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

Updates `ejs` from 3.1.8 to 3.1.10
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.8...v3.1.10)

Updates `ws` from 7.5.6 to 7.5.10
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.6...7.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: braces
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ejs
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ws
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 19:29:42 +03:00
Blake Schafer dad4533983
Create CONTRIBUTING.md (#943)
* Create CONTRIBUTING.md

Creating a resource file for any developer who wants to contribute to this open-source project. Adding more details than what was already provided, giving a detailed walkthrough for newcomers on how to make changes in the code.

* Implement the suggestions from the feedback, as well as merge the template from the discussion #934

---------

Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-07-09 20:56:01 +02:00
Googol Lee 365328457e
Building scripts for apt/homebrew platforms. (#993) 2024-07-09 12:34:55 +02:00
Googol Lee 2f8f01b6d3
Add nodemon for ui developing. 2024-07-07 10:05:26 +02:00
Googol Lee eab10af4a3
Remove loading env from tests. (#988)
* Remove loading env from tests.

* Rollback the test workflow.
2024-07-03 21:28:36 +03:00
Lajos Koszti 10e9e354b5
order root albums by path on settings page (#983)
Once you have more than a few paths assigned to a user, it becomes
quite hard to oversee the list.

Personally, I would add my albums to Photoview one by one, so I can
manage the processing better. For example, I can review and fix the face
recognition for one new album at a time, and I don't need to deal with
too much data.
Since I started to add the albums in a random order, it's relatively
hard to find which album is added and which is not.

An easy fix is to order the photo paths by their name.

- Extended the query of the rootAlbums to order them by path
2024-07-01 20:04:50 +02:00
Kostiantyn df9af39a16
Validate incoming GPS data (#951)
* Validate incoming GPS data and throw an error if it is incorrect, storing Null values

* Extracted GPS data processing to function in external parser; optimized IF in internal parser; removed unnecessary comments; set exact values for positive test

* Add the migration for removing existing invalid GPS data and its test; added better errors to asserts in the GPS validation test

* Install FFmpeg and ExifTool on the API unit-test environment

* Fix 'stripped.jpg', 'IncorrectGPS.jpg', and 'CorrectGPS.jpg' tests for the external parser

* Optimized data validation in the external parser, returned error by the internal parser for invalid data, updated test to expect errors and handle them

* Switched from error to log entry in case of incorrect GPS data, as error handling is not so transparent in the internal parser

---------

Co-authored-by: Konstantin Koval
2024-06-29 10:32:48 +03:00
Kostiantyn 55d6097cc1
Update GO version in the `go.mod` and read it by the job to setup the testing environment for unit tests (#980)
Co-authored-by: Konstantin Koval
2024-06-28 14:59:31 +02:00
Googol Lee e36b09753a
Bump go version and modules. (#976)
* Bump go version to 1.22. Bump all go module to the newest version, except pinning libheif@v1.15.1 to match the c lib version in Debian bookworm.

* Update go_wrapper.sh to fit golang image.

* Update the way to set go envs.

* Test against go 1.22

* Set default shell for all building stage in Dockerfile.
2024-06-28 10:10:18 +03:00
Googol Lee 1cd34109b6
Optimize user's album filter. #705 (#962) 2024-06-27 21:21:09 +02:00
Kostiantyn f79d379e38
Urgent small fixes in the Dockerfile and Compose configs (#972)
* Freeze UID and GID for the `photoview` user inside the image; added alternative permission configs description to the Readme and Makefile (as a comment); switched the default tag in the compose from `2` to `master`, as this is the most common user misunderstanding according to the issues and Discord questions

* Revert back to the tag `2` with the assumption of the release happening soon

---------

Co-authored-by: Konstantin Koval
2024-06-23 14:28:02 +02:00
Kostiantyn cd8d086429
Fix missing space and word duplication (#964)
Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-06-17 13:27:05 +01:00
Kostiantyn df1610b13c
change healthcheck command for MariaDB container (#963)
Co-authored-by: Konstantin Koval
2024-06-02 19:02:14 +01:00
Googol Lee ddacba85db
Fix timeline order with sqlite3. It should be ordered as MySQL and PGSQL like (year, month, day). (#954) 2024-05-31 09:35:41 +01:00
Kostiantyn 6693920b61
Configure shell to fail if any part of piped command chain fails. Fix Hadolint issue DL4006 (#947)
Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-05-31 09:34:46 +01:00
Kostiantyn d47bca280e
configure SQLite to work in multi-connection mode, so it is not locked when scanner runs a job (#955)
Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-05-31 09:32:47 +01:00
David Valdez 7c7089e320
Fix download path on custom base path (#889)
Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-05-20 11:31:53 +01:00
Kostiantyn 0193f7703d
Refactor docker deployment and user setup (#863)
* Fix #862, address #826 and maybe some other tickets: reimplemented the docker-compose user setup to enhance product setup experience and cover much more cases.

* make unique DB container name and use it in communication from Photoview

* Removed unnecessary healthcheck for photoview from docker-compose.example.yml, as it is defined in the Dockerfile; optimized Dockerfile combining all RUN directives of PROD stage into 1, which will produce single layer and save some space; added Dockerfile-dev, docker-compose-dev.yml, and new "dev" and "dev-down" directives into Makefile, which allows to setup development env in Docker. Instructions of how to use it are in comments at the beginning of Dockerfile-dev and docker-compose-dev.yml files

* Set RWX permissions to the application's working folder for any user, so that the image could be later run with non-root permissions and the app still be able to do needed operations in the FS

* Enhanced the "Getting started" section in the readme; added the `help` target and enhanced comments in the Makefile; commented out the `docker system prune -f` with the comment about the command and why it is there; added optional and commented by default `7zz` commands to the `backup` section of the Makefile

* Use `slim` base image for final photoview image

* Implement SQLite support according to the PR #851

* Removed deprecated `version` line from compose files; optimized dockerfile to build with less layers and run as non-root; mapped only Photoview related services to Watchtower by default instead of updating all running images on a host; added template for Postgres to the .env; reverted compose executable definition, so the new compose is called when present; added a tip about `lnav` to help

* fix a typo in the username; add support of PostgreSQL; split and optimize backup target in Makefile

* Fixed some typos and styling in Readme, excluded dev-environment setup from the PR; added a list of tips on how to secure Photoview in the Advanced setup section of Readme

* Implemented many security improvements, suggested by @Omar007, switched to the dedicated Darktable's repo to install the latest released version, as asked in #935; switched Watchtower to labels instead of profiles

* forgot the compose file

* move face models back to /app folder; comment out and document unnecessary vars in compose; fix a typo in a few vars

* Exclude Makefile in the root folder from git; documented multiple mounts case better; fixed incorrect SQLite DB path

* Fixed several bugs after complete testing cycle with all 3 DBs

* removed hardcoded port in Dockerfile

* Pin the major version for the `photoview` image for stability

* Revert back to the port 80 inside the container on product owner's request

* Provide a minimal compose file and update the readme accordingly

* Handle incorrect media file and folder permissions; set correct permissions for storage folder; fix healthcheck command for postgres

---------

Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-05-15 10:58:02 +02:00
Jordan Hellier 4133694bc2
fix: remove logging of database url in place for just dialect (#940) 2024-04-27 13:18:56 +01:00
Alex Kabakaev d6f34211a1
fix false trigger of DB migration on sqlite (#936) 2024-04-26 05:46:32 +01:00
Jordan Hellier f900d55300
Fix audit issues in production (#933)
* chore: upgrade api dependencies to latest compatible version

* chore: update ui dependencies first pass

* chore: migrate ui dependency to latests

Migrates i18next-parser from 6.x -> 8.x per documentation

* chore: add missing tools file

* chore: regenerate files

* chore: fix docker build from incorrect depedency

bookworms latest stable version of libheif-dev is 1.15.1
2024-04-11 22:21:08 +01:00
Simon Ser d0d0bf21bc
Make face detection optional at build-time (#881)
Add a "no_face_detection" build tag to disable face detection
when building. This is useful when installing the face detection
dependencies is undesirable and cuts down build times (e.g. on a
Raspberry Pi).
2024-04-11 22:20:09 +01:00
Connor 896cd1c2fe
Remove login page non-empty password requirement (#828)
* Remove login page non-empty password requirement

* Remove required property from password register
2024-04-08 07:22:50 +01:00
Konstantin b2d591bd1b
Don't stop scanning album on media fail (#892)
* Don't stop scanning album on media fail

* Update api/scanner/scanner_album.go

accepting suggestion from Jordan

Co-authored-by: Jordan Hellier <13520761+jordy2254@users.noreply.github.com>

---------

Co-authored-by: Konstantin Koval <kkb@ukr.net>
Co-authored-by: Jordan Hellier <13520761+jordy2254@users.noreply.github.com>
2024-03-30 11:04:03 +02:00
Alex Kabakaev 153f37e5fb
move mp4 moov atom to the beginning (#883)
Video playback starts faster in browsers.
2024-03-30 09:01:16 +00:00
Yo Sev 9c85663522
Fix invalid UTC offset during datetime parsing (#823) 2024-03-30 07:57:21 +01:00
Ale C 31ccb9aad3
chore(docker-compose): add sqlite variable and volumes example (#851) 2024-03-29 21:09:20 +00:00
Dorian 87365c1a62
feat: complete PL translation (#909) 2024-03-29 21:07:41 +00:00
cicadabear a99f7aa203
add cross compile support for arm64 to amd64 (#888) 2024-03-29 20:18:08 +00:00