* Bump PostgreSQL image to version 17; add the auto-migrate preparation service
* Address bot's comments
* Fix many warnings in the Readme; added better explanations
* Address bot's comments
* And a few more comments addressed
* 1 more small wording fix
* Better clarify the HW acceleration options
* add link to the pgsql upgrade guide
---------
Co-authored-by: Konstantin Koval
Fix#1273.
- Cleanup `libatlas-base-dev`
`ATLAS` is an optimized BLAS implementation. Today, the project looks dead. The last stable release (3.10.3)
happened in 2016. The last development release (3.11.41, not packaged) was in 2018. The git repository has seen no commit since 2019. Debian decided to [remove all `libatlas` packages](https://lists.debian.org/debian-science/2023/07/msg00010.html), including `libatlas-base-dev` from `trixie`.
`libatlas-base-dev` provides a unique `cblas` package with `pkg-config`. Debian provides [`blas`](https://lists.debian.org/debian-science/2023/07/msg00012.html) to cover all the feature in `cblas`. `go-face` already depends on [`blas`](0c14797b4d/face.go (L4)), and it's safe to remove `cblas`.
Maybe we should fork `go-face` and put those changes in the foked repo.
- Renaming `exiftool`
In `trixie`, `exiftool` package is renamed as `libimage-exiftool-perl`.
* Migrate GolangCI config to the latest version; fix nll-pointer exception in the external EXIF parser and order of GPS coords in the internal one; updated links in Readme and added missing LibHeif exports
* Improve GPS error handling
---------
Co-authored-by: Konstantin Koval
* 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>
* 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
* 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>
I found that I have to add these two ppas for libheif and libde265
sudo add-apt-repository ppa:strukturag/libheif
sudo add-apt-repository ppa:strukturag/libde265
- Add @Revorge to sponsors section <3
- Update logo to use light text in dark mode
- Update API dependencies install guide
- Update introduction section