Your personal locally hosted smart gallery manager.
View this Trello Board for the TODO items.
Please note that this is a personal project, that is still in the pre-alpha stage, so it should only be used for development purposes.
- Gallery of images [Note: Currently it will scan and add ALL files inside the folders you specify, so add folders that only contain images]
- Filter the images by type, date taken or created & tags (if labelling via Amazon Rekognition is enabled)
- Search images by path, location (if reverse geolocation via HERE Geocoding is enabled), tags, extension and more
- Detailed modal view with information about the image
- A map view to show whey you took the images
- Processor: dual core or higher
- Memory: 1 GB RAM or more
May work on lower specs, but it has to be tested first.
- It runs on Nginx with PHP-FPM
- The main app (API & admin) is written in Symfony with MySQL as the database
- Frontend is written in React
- It uses webpack as the bundler via Symfony Webpack Encore
- There is also a python micro service for converting & reading exif data from
.dng
files and for face detection on images
- Prepare the environment
- Create your own
.env
file (copy the contents from.env.example
)- All the variables in
.env
, will automatically be forwarded to thesgm_php_fpm
,sgm_node
& thesgm_python
container. - This is the most convenient way to set the web app variables all in one place. Alternatively you can duplicate the
web/.env
intoweb/.env.local
and set your the values for your custom variables there - particularly those, inside theProject
block.
- All the variables in
- Create a
docker-compose.override.yml
file and set your custom volumes there - just copy the contents fromdocker-compose.override.example.yml
- (optional) Create a
settings.yml
file and add your file folders in - just copy the contents fromsettings.example.yml
- Those will be your default folders that will be used when manually triggering the files scan with
docker exec -i sgm_php_fpm php bin/console app:files:scan
and the files that will per default always show up in the dashboard, when triggering the scan via the web UI
- Those will be your default folders that will be used when manually triggering the files scan with
- Create your own
- Build the app
- Run:
docker-compose build
- Run:
docker-compose up
- This may take a while, especially for the first time, as the
sgm_node
container will install all the dependencies.
- This may take a while, especially for the first time, as the
- Run:
docker exec -i sgm_php_fpm composer install
- Run:
docker exec -i sgm_php_fpm php bin/console doctrine:schema:update -f
- Run:
- Start scanning for new files
- Go to http://localhost:81/dashboard (or whichever port you set in
.env
) and start scanning for files
- Go to http://localhost:81/dashboard (or whichever port you set in
- To run the tests, you simply execute:
docker exec -i sgm_php_fpm php bin/phpunit
Smart Gallery Manager is licensed under the MIT license.