Do not use unless you know what you're doing - this project is a work in progress!
UPDATE March 2017
Sorry I haven't been working on this recently, been super busy. I'm hoping to pick this up around the end of April as I should have more time then, thanks!
Pix aims to be a self-hosted multi-user photo gallery solution similar to Google Photos. Give it a folder of photos and it will index them, so you get to stay in control of your photos on the file system.
Ongoing discussion on the future of this project at https://www.reddit.com/r/selfhosted/comments/5fwcvf/open_source_familypersonal_photo_gallery_software/
- Add folders of photos as libraries into Pix
- Basic viewing of folders with thumbnails
- Detail lightbox view for viewing photos
- Sorting photos by date and other sorting options
- Ability to add multiple users with access controls
- Responsive web frontend which works on mobile
- Index, generate thumbnails for, and display videos
- Native mobile app
- Intelligent image tagging and face recognition
Pix is not working software and is not finished, but if you still want to give it a try, it's best to install Docker and Docker Compose.
-
Get Docker Compose: https://docs.docker.com/compose/install/
-
Clone this repository:
git clone https://github.com/madjam002/pix.git
-
Run
docker-compose pull
-
Use your favorite text editing tool to change the following values in the docker-compose.yml file
-
Volume Mounts: In the
server
andworker
section add a mount for your photos:volumes: - "pix_data:/mnt/data" - "/YOURPHOTOSLOCATION:/YOURPHOTOSLOCATION"
-
Specify the IP address/domain you are running the server in the
PIX_URL:
section of theworker
andserver
-
Run
docker-compose up -d
-
Then go to
http://localhost:8080
to give it a try. You can scale theworker
service to spread indexing and thumbnail generation across multiple cores or servers.
Take a look at the Dockerfile
for what dependencies you need on your system:
libcairo2-dev libjpeg62-turbo-dev libpango1.0-dev libgif-dev build-essential g++
Make sure you have Node >= 6 installed too.
- Clone this repo
- Run
npm install
in the root cd
intopackages/pix-web
, runnpm install
andnpm run build
to build the static web assetscd
intopackages/pix-server
, runnpm install
andnpm run build
to compile the server side JS- Look at
packages/pix-server/src/config.js
to see what environment variables you need to set, ordocker-compose.yml
for examples. Make sure you haveNODE_ENV
set toproduction
. - Run server with
node server.js
and a worker instance withnode worker.js
- Profit?
Licensed under the AGPL License.