# pictshare-browse ...existing content... ## Credits Favicon by [SmashIcons](https://smashicons.com/) # pictshare-browse **Intended as a sidecar service for [pictshare](https://github.com/HaschekSolutions/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: ```bash 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: ```bash 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`: ```yaml 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:/// ``` 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: ```bash 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](https://placehold.co/) for test images). 2. Place your sample `sha1.csv` and images in `./uploads`. 3. Run: ```bash 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.