ImageStore is a self-hosted photo gallery, that makes Google Photos users feel right at home.
This should give you a feeling of how everything works with images of cats. The demo is not very up to date or fast, but you can use it to see if you like the UI in general.
To upload your own images and use all features, you will need to self-host.
Requirements:
Download the docker-compose.yml: wget https://raw.githubusercontent.com/gregordr/ImageStore/main/docker-compose.yml
.
Run docker-compose up
. If you want any optional modules, use --profile module
to add them. Check below for a list of modules and explanations!
Example: docker-compose --profile search --profile face --profile import up
.
Go to http://localhost:3000. You can edit the used port in the dockerfile.
You can update to the newest version with docker-compose pull
. Again, use --profile module
if you also want to update a module.
Last, if you want to run the dev-branch, do TAG=:test docker-compose up
.
Requirements:
If you want to build yourself, then clone this repo and run docker-compose -f docker-compose-build.yml up
. Again, you can use --profile
to add features.
Requires a distribution with any of the four following packaging systems: pacman, yum, apt, apk and either systemd or OpenRC.
git clone https://github.com/gregordr/ImageStore
cd CLI-Install
If you're using systemd (most distros):
sudo ./install-systemd.sh
If you're using OpenRC (e.g. Artix, Void, Alpine; Gentoo is not supported – see above):
sudo ./install-openrc.sh
If you are using doas
, please use su -c
instead.
This will install and configure everything as needed in order to host ImageStore. PostgreSQL 13 (most Debian/Ubuntu based distros), on other distros it'll most likely be PostgreSQL 14, Nodejs and nginx will be installed. By default it hosts over port 8080. If it is already in use, it will ask for an alternate port. The created database user is seeded with a random 16 character string, so there is no default password to worry about.
The Imagestore service by default will start on boot. To stop Imagestore, on systemd run
sudo systemctl stop ImageStoreFRONT.service; sudo systemctl stop ImageStoreBACK.service;
on OpenRC run:
sudo rc-service ImageStoreFRONT stop && sudo rc-service ImageStoreBACK stop
To prevent the service from starting on boot, run
sudo systemctl disable ImageStoreFRONT.service; sudo systemctl disable ImageStoreBACK.service;
on OpenRC run:
sudo rc-update disable ImageStoreFRONT && sudo rc-update disable ImageStoreBACK
Incase you get an error with the backend saying unreachable code, you might have to run the following commands:
wget http://ftp.ch.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.5.1-1_armhf.deb
sha256sum libseccomp2_2.5.1-1_armhf.deb
# CONFIRM THAT THE OUTPUT MATCHES THE FOLLOWING LINE BEFORE YOU RUN THE LAST COMMAND:
# 7a4d09eea20f7e17a416825ae2be06ca08b9cb5072566045c545c74192e6fcca libseccomp2_2.5.1-1_armhf.deb
sudo dpkg -i libseccomp2_2.5.1-1_armhf.deb
These are the currently avaialable modules, or add-ons.
Feel free to open an issue if you want to see any new features.
If you would like to implement a feature, please create a PR to the test
branch.