Photonix Photo Manager
Community and Social
Please join in the discussion and help us gain visibility by following us on social media. Much appreciated :)
Installing & Running
The easiest way to run it is with Docker Compose using the pre-built image following these steps.
Create a new directory to run inside and download the example Docker Compose file.
curl https://raw.githubusercontent.com/photonixapp/photonix/master/docker/docker-compose.example.yml > docker-compose.yml
Make volume directories for data stored outside the container.
Bring up Docker Compose which will pull and run the required Docker images.
A few seconds after starting you should be able to go to http://localhost:8888/ in your browser.
You'll need to create a username, password and library. Right now this needs to be done on the command-line so run this in a new terminal window. Replace
USERNAME with your own username.
docker-compose run photonix python photonix/manage.py createsuperuser --username USERNAME --email email@example.com
docker-compose run photonix python photonix/manage.py create_library USERNAME "My Library"
You can move some photos into the folder
data/photos and they should get detected and imported immediately. Once you have finished trying out the system you can edit the volume in the
docker-compose.yml file where it says
./data/photos to mount wherever you usually keep photos. System database, thumbnails and other cache data is stored separately from the photos so shouldn't pollute the area. You are responsible for keeping your own backups in case of error.
If you are using the pre-built Docker image you can use kill, pull and bring back up using the following:
# Ctrl-C to kill
There is a
Makefile and separate Docker Compose file
docker-compose.dev.yml that you should use if you want to work on the project. Check out the repo and this setup will build the image, mount the code as volumes, hot-reload JS changes to the browser and reload the Python server for most changes.
git clone firstname.lastname@example.org:damianmoore/photonix.git
mkdir -p data/photos
If you get errors such as
Error starting userland proxy: listen tcp 0.0.0.0:5432: bind: address alerady in use then you probably have an existing server such as Postgres listening on the standard port. You can change Photonix's services to use alternative port numbers by editing
docker/docker-compose.dev.yml and setting
'5432:5432' to be
'5433:5432' for example. This is for Postgres but is it a similar solution for Redis or the webserver ports.
If you want to access the Bash or Python shells for development, you can use the following command.
PyTest is used as a test runner and for creating fixtures. The easiest way to run the tests is within the Docker container like this: