Go to file
2025-07-23 21:04:38 +00:00
2025-07-23 18:15:03 +00:00
2025-07-23 18:15:03 +00:00
2025-07-23 18:15:03 +00:00
2025-07-23 18:15:03 +00:00
2025-07-23 18:15:03 +00:00
2025-07-23 18:15:03 +00:00

pictshare-browse

...existing content...

Credits

Favicon by SmashIcons

pictshare-browse

Intended as a sidecar service for pictshare: This project is designed to run alongside a pictshare instance, providing a simple gallery and API for images uploaded to pictshare. It reads the pictshare CSV file and displays the images in a user-friendly web interface. Can also be used standalone for testing/demo purposes.

Running in Production with Docker Compose

This project is designed to run as a containerized Node.js app that serves a gallery of images uploaded to PictShare. It reads a CSV file from a mounted volume and displays the images in a web gallery.

1. Using Docker Compose

Using the published image from Docker Hub

You can use the prebuilt image from Docker Hub:

docker compose up -d

This will pull and run ryanehamil/pictshare-browse:latest as defined in the provided compose.yml.

Building the image locally (optional)

If you want to build the image yourself, clone this repository and run:

docker compose build
docker compose up -d

The app will be available on port 3000.

The provided compose file (compose.yml) is for your convenience—feel free to use or modify it as needed, whether you build locally or pull from a registry.

3. Mount the PictShare Uploads

Make sure your pictshare uploads directory (with the sha1.csv file) is available in a local folder. The example compose.yml now mounts ./uploads from your host to /uploads in the container (read-only).

Example compose.yml:

services:
  pictshare-browse:
    container_name: pictshare-browse
    image: ryanehamil/pictshare-browse:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ./uploads:/uploads:ro
    environment:
      - CSV_FILE=/uploads/sha1.csv
      - IMAGE_BASE_URL=https://<URLHERE>/

Place your sha1.csv and images inside the ./uploads directory in your project root. The container will read from this folder at startup.

4. Updating the App

If you make changes to the code, rebuild the image:

docker compose build
docker compose up -d

Local Development

  1. Copy .env.example to .env and adjust as needed (by default, it uses placehold.co for test images).
  2. Place your sample sha1.csv and images in ./uploads.
  3. Run:
npm install
npm start

The app will be available at http://localhost:3000


Continuous Integration (CI)

This project includes a sample Gitea Actions workflow in .gitea/workflows/ci.yml that will:

  • Install dependencies
  • Run lint (if ESLint is configured)
  • Build the Docker image

You can customize this workflow to add tests or push images to your registry.


If you have questions or need help with your production setup, open an issue.

Description
No description provided
Readme 100 KiB
Languages
CSS 47.8%
JavaScript 45.2%
HTML 6.2%
Dockerfile 0.8%