Fussel logo

Fussel

  •  0 ratings
In category: Photo and Video Galleries

About Fussel

Fussel is a static photo gallery generator. Easily generate a reactive gallery and host the optimized static folder of assets.

  •   476  
  •   0  
  •   0  
  •   0  
Github stats:
  •  Commits: N/A  
  •   N/A  
  •   N/A  
  •  Latest commit: N/A  

Deploy this app to RackNerd for $0.99/mo only!

Languages/Platforms/Technologies:
Lincenses:

More about Fussel

Fussel

License Badge Version Badge

Fussel is a static photo gallery generator. It can build a simple static photo gallery site with nothing but a directory full of photos.

Demo Site

Features and Properties: - No server-side code to worry about once generated - Builds special "Person" gallery for people found in XMP face tags. - Adds watermarks - Mobile friendly - Automatic dark-mode - Uses EXIF hints to rotate photos - Predictable slug-basted urls

Common Use-cases: - Image Portfolios - Family Photos - Sharing Photo Archives - etc

Screenshots

Albums Screenshot Album Screenshot
People Screenshot Person Screenshot

Demo

Demo Gif

Setup

Requirements

  • Python 3.7+
  • node v18.14.0 LTS
  • npm v9.3.1
  • yarn 1.22

Install dependencies

  • ./setup.sh

Setup Site

Configure

  • Copy sample_config.yml to config.yml
  • Edit config.yml to your needs (minimal change is to set INPUT_PATH)

Curate photos

The folder you point gallery.input_path at must have subfolders inside it with the folder names as the name of the albums you want in the gallery.

Example

If you have your .env setup with:

gallery:
  input_path: "/home/user/Photos/gallery"

Then that path should look like this:

/home/user/Photos/gallery:
  - Album 1
  - Album 2
    - Sub Album 1
  - Album 3
    - Sub Album 2
  - ...

Generate your site

Run the following script to generate your site into the path you set in gallery.output_path folder. - ./generate_site.sh

Host your site

Point your web server at gallery.output_path folder or copy/upload the gallery.output_path folder to your web host HTTP root.

Quick setup

After running generate_site.sh

  • python -m http.server --directory <output_path> (go to localhost:8000 in browser)

Development setup

  • cd fussel/web
  • yarn start

Docker

If you don't want to fuss with anything and would like to use docker instead to generate your site...

Usage

Required: * <input_dir> is the absolute path to top-level photo folder * <output_dir> is the absolute path to where you want the generated site written to

Note: * The two -e env variables PGID and PUID tells the container what to set the output folder permissions to once done. Otherwise it is set to root permissions * For the label-based config to work you must mount /var/run/docker.sock into the container, eg: -v /var/run/docker.sock:/var/run/docker.sock fussel

Optional: You can provide any value found in the config.yml file in a docker label variable using --label item=value

docker run \
  -e PGID=$(id -g) \
  -e PUID=$(id -u) \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v <input_path>:/input:ro \
  -v <output_path>:/output \
  --label gallery.input_path="/input" \
  --label gallery.output_path="/output" \
  --label gallery.overwrite=False \
  --label gallery.parallel_tasks=4 \
  --label gallery.albums.recursive=True \
  --label gallery.albums.recursive_name_pattern="{parent_album} > {album}" \
  --label gallery.people.enable=True \
  --label gallery.watermark.enable=True \
  --label gallery.watermark.path="web/src/images/fussel-watermark.png" \
  --label gallery.watermark.size_ratio=0.3 \
  --label site.http_root="/" \
  --label site.title="Fussel Gallery" \
  ghcr.io/cbenning/fussel:latest 

Once complete you can upload the output folder to your webserver, or see what it looks like with python -m http.server --directory <output_path>

FAQ

I get an error 'JavaScript heap out of memory'

Try increasing your Node memory allocation: NODE_OPTIONS="--max-old-space-size=2048" yarn build

Reference: https://github.com/cbenning/fussel/issues/25

Comments (0)

Please login to join the discussion on this project.

Fussel Reviews (0)

Overall Rating

None

based on 0 ratings

Please login to review this project.

No reviews for this project yet.

↑ back to top

pCloud Lifetime

Popular Projects

FluxBB

in Social Networks and Forums
 34k    0    0    0  

Nextcloud

in File Transfer & Synchronization
 22k    1    1    0  

Libreddit

in Social Networks and Forums
 7k    0    1    0  

Dashboard

in Personal Dashboards
 7k    0    0    0  

Audiobookshelf

in Audio Streaming
 6k    0    1    0  

CasaOS

in Self-hosting Solutions
 6k    0    0    0  

Mediagoblin

in Photo and Video Galleries
 5k    0    0    0  

Most Discussed

Nextcloud

in File Transfer & Synchronization
 22k    1    1    0  

Tube Archivist

in Automation
 4k    0    1    0  

OneDev

in Project Management
 2k    0    0    0  

iodine

in Proxy
 2k    0    0    0  

Alf.io

in Booking and Scheduling
 2k    0    0    0  

sysPass

in Password Managers
 1k    0    0    0  

Misskey

in Social Networks and Forums
 2k    0    0    0  
Linux VPS from $11/yr.
RackNerd VPS for $11.38/mo

Top Rated Projects

Gitea

 1 rating
in Project Management

Bagisto

 1 rating
in E-commerce

LinkAce

 1 rating
in Bookmarks and Link Sharing

Pydio

 1 rating
in File Transfer & Synchronization

Audiobookshelf

 1 rating
in Audio Streaming

Nextcloud

 1 rating
in File Transfer & Synchronization

Seafile

 1 rating
in File Transfer & Synchronization

Categories

You May Also Be Interested In

PiGallery 2 logo
PiGallery 2 cover

PiGallery 2

A directory-first photo gallery website, with a rich UI, op…

Photo Stream logo
Photo Stream cover

Photo Stream

Minimalist self-hosted photo stream.

LibrePhotos logo
LibrePhotos cover

LibrePhotos

Self hosted wannabe Google Photos clone, with a slight focu…