Files
pictshare-browse/README.md
2025-07-23 21:04:38 +00:00

114 lines
3.0 KiB
Markdown

# 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://<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:
```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.