Simple self-hosted image gallery
Go to file
Maksim Karasev 847198b3a8 Remove action on pull request 2021-04-12 16:34:17 +03:00
.github/workflows Remove action on pull request 2021-04-12 16:34:17 +03:00
.vscode Initial commit 2021-03-23 17:12:51 +03:00
.yarn/releases Updated Yarn 2021-03-23 18:08:37 +03:00
README Initial commit 2021-03-23 17:12:51 +03:00
packages Fix incorrect cors in production 2021-03-29 15:20:14 +03:00
.dockerignore Initial commit 2021-03-23 17:12:51 +03:00
.gitignore Remove yarn.lock from gitignore 2021-03-24 15:11:23 +03:00
.yarnrc.yml Updated Yarn 2021-03-23 18:08:37 +03:00
Dockerfile Initial commit 2021-03-23 17:12:51 +03:00
LICENSE Create LICENSE 2021-03-23 17:14:23 +03:00
README.md Fix typos in README.md 2021-03-29 12:27:20 +03:00
package.json Github Actions 2021-03-23 18:01:48 +03:00
yarn.lock Remove yarn.lock from gitignore 2021-03-24 15:11:23 +03:00

README.md

Personal image gallery

Run tests Docker CI

A simple to use, modern place to store your images. Perfect for storing large amounts of screenshots and screen recordings.

Uploading

After searching for a solution that would allow me to upload easily from every kind of device, I've decided to make my own. If you are using a relatively modern device, you probably can upload images from it.

Dialog

Click the upload icon and then click the upload area to trigger a system file pick dialog.

Drag-n-drop

Simply drag any file into the window, and the upload area should magically appear.

Paste

Got a screenshot in your clipboard, Ctrl-V and now you-ve got it online.

API

Want use your own uploader? You can. Get the API key, put it into the Authorization header and that's it.

ShareX

While we're on the topic of APIs, if you're using ShareX you can simply get a ready made custom uploader config.

Android

Sharing on mobile is easier than ever thanks to the PWA Share Target APIs.

Installation

Docker (Reccommended)

The image is available on dockerhub, you can start with an example docker-compose below:

version: "3"
services:
  gallery:
    image: karasevm/personal-gallery-node
    ports: 
      - 80:80
    volumes:
      - ./data:/images
      - ./db:/db

Environment Variables

All docker environment variables are optional

PORT - which port to listen on, by default set to 3001

PROXY - express proxy settings, by default set to true

USERNAME and PASSWORD - used to reset user credentials, if set, all sessions and API key are invalidated

BASE_URL - base directory if app isn't in root

To use Redis instead of built-it memory cache:

REDIS_HOST - Redis host

REDIS_PASSWORD - Redis password

On bare machine

You'll need node 14+ and yarn to complete the build. Copy the .env.example to .env, changing it according to your needs. In the root directory run yarn build then yarn start, if everything went well, you'll have the server running.

Develompent

Clone the repo, set the server environment with .env, install dependencies, start with yarn start-dev.

REST API documentation is available here

Contributing

Easiest way to contribute is to submit a translation, use ./packages/web/public/locales/en.json as a template and submit a pull request with your language.

License

MIT