Sign inSign up

foalyy/niobium

By foalyy

•Updated over 1 year ago

Modern, high-performance, web-based photo gallery viewer

Image
Integration & delivery
0

713

foalyy/niobium repository overview

⁠Niobium

⁠More info on the GitHub project page⁠

Niobium is an open-source, self-hosted photo gallery viewer that features :

  • a clean, full-screen, responsive grid with subtle animations to showcase your best images
    • great for including your galleries in other webpages as iframes !
  • recursive indexing of photos and progressive loading for a highly efficient "infinite scroll" display
  • automatic generation of lightweight previews of each photo and a high-performance Rust backend for blazingly fast loading of each page
  • enlarged (full-screen) display of photos with slideshow mode
  • an optional navigation panel to explore sub-directories
  • custom collections, to create independant galleries each with a customizable URL pointing to a curated selections of photos
  • fine-grained password protection and control over the indexing of each directory and collection

⁠How to use this image

In order to use this image, you will need 2 persistent directories :

  • the directory where you store your photos (read-only access is enough), for instance /srv/niobium/photos/, which must be mounted into /app/photos inside the container
  • a data directory (which must be mounted into /app/data inside the container) where the config, database, and cache will be stored, for instance /srv/niobium/data/ (write access is required)

Then simply download and run Niobium using :

$ docker run -v /srv/niobium/photos:/app/photos:ro -v /srv/niobium/data:/app/data -p 8000:8000 niobium

This will expose Niobium on the port 8000.

The Docker image has a startup script which copies the default config file into the data directory the first time the container is launched, and overrides the default value of some environment variables to point to this directory (see docker-entrypoint.sh for more information). In order to customize the configuration, launch the app a first time, then edit the newly-created niobium.config inside the data directory, and finally restart the app to reload the config. There is also a niobium_collections.config.sample that can be customized and renamed to niobium_collections.config in order to create collections (see the Collections documentation on Github⁠).

If you prefer to use docker-compose, here is a sample script :

version: "3"

services:
  niobium:
    image: niobium
    container_name: niobium
    restart: always
    ports:
      - "8000:8000"
    volumes:
      - /srv/niobium/photos:/app/photos:ro
      - /srv/niobium/data:/app/data
    environment:
      - NIOBIUM_LOADING_WORKERS=4 # Example of config override using environment variables

Tag summary

Content type

Image

Digest

sha256:ec909be01…

Size

54.2 MB

Last updated

over 1 year ago

docker pull foalyy/niobium