1
Fork 0
Photo gallery for self-hosted personal servers
Go to file
viktorstrate c3d65c66ea Change license to GPL v3
All further development of this project
will be licensed uner the general public license v. 3
2019-08-12 16:22:54 +02:00
api Change license to GPL v3 2019-08-12 16:22:54 +02:00
docker/neo4j Add docker support 2019-07-29 23:39:38 +02:00
ui Change license to GPL v3 2019-08-12 16:22:54 +02:00
.gitignore Secure photos with header, rather than cookies. Now docker-compose works 2019-08-09 17:41:25 +02:00
LICENSE.txt Change license to GPL v3 2019-08-12 16:22:54 +02:00
README.md Add notion link to readme 2019-08-12 16:16:08 +02:00
docker-compose.example.yml Change env variables in API 2019-08-10 17:47:53 +02:00
now.json Work towards authentication 2019-07-05 00:36:32 +02:00
screenshot.png Update readme + add screenshot 2019-08-12 16:08:44 +02:00

README.md

PhotoView

NOTE: This software should not be used in production yet, since it is in early development, and still contains security holes.

Follow the development progress here

screenshot

Aim of the project

The aim of this project is to make a simple and user-friendly photo gallery application, that is easy to host on a personal server, to easily view the photos located on that server.

Main features

The software is still in early development, and many of the following features, have not been implemented yet.

  • Closely tied to the file system. The website presents the images found on the local filesystem of the server, directories are mapped to albums.
  • User management. Each user is created along with a path on the local filesystem, photos within that path can be accessed by that user.
  • Photo sharing. Photos and albums can easily be shared with other users or publicly with a unique URL.
  • Made for photography. The website is ment as a way to present photographies, and thus supports RAW file formats, and EXIF parsing.

Setup development environment

This projected is based of the GrandStack starter project.

Local setup

  1. Download Neo4j Desktop
  2. Install and open Neo4j Desktop.
  3. Create a new DB by clicking "New Graph", and clicking "create local graph".
  4. Set password to "letmein" (as suggested by api/.env), and click "Create".
  5. Make sure that the default credentials in api/.env are used. Leave them as follows: NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=letmein
  6. Click "Manage".
  7. Click "Plugins".
  8. Find "APOC" and click "Install".
  9. Click the "play" button at the top of left the screen, which should start the server. (screenshot 2)
  10. Wait until it says "RUNNING".
  11. Proceed forward with the rest of the tutorial.

/api

Install dependencies

(cd ./ui && npm install)
(cd ./api && npm install)

Start API server

cd ./api && npm start

/ui

This will start the GraphQL API in the foreground, so in another terminal session start the UI development server:

Start UI server

cd ./ui && npm start

The site can now be accessed at localhost:1234. And the graphql playground at localhost:4001/graphql

Docker Compose

Not written yet