39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
# Mischkomposition Photography Portfolio
|
|
|
|
This is the code repository for the photography portfolio of Tom Misch ("Mischkomposition").
|
|
The project features a fast static frontend (based on HTML5 UP Multiverse) powered by a robust **Node.js + SQLite backend** and **Nextcloud integration**.
|
|
|
|
## Features
|
|
- **Nextcloud Integration:** Photos placed into the Nextcloud directory are automatically detected.
|
|
- **Client Separation:** Guests see the public portfolio, while logged-in clients see their designated, private sub-folders.
|
|
- **Auto-Thumbnails:** Automatic resizing and EXIF extraction (shutter speed, ISO, aperture) for fast loading times.
|
|
- **Admin Dashboard:** Manage users, assign private folders, and trigger One-Click container updates directly from the browser.
|
|
- **Light/Dark Mode:** Dynamic theme toggle saving preferences in the browser.
|
|
|
|
## Deployment Setup (Docker)
|
|
This repository is automatically built into a Docker container via GitHub Actions.
|
|
|
|
To deploy on a NAS or Linux server, adjust the `docker-compose.yml` to match your Nextcloud mount:
|
|
|
|
```yaml
|
|
services:
|
|
photography-website:
|
|
image: ghcr.io/kroonk/photography:latest
|
|
container_name: photography-website
|
|
ports:
|
|
- "8090:8090"
|
|
volumes:
|
|
- /path/to/nextcloud/data:/app/public/images/fulls:ro
|
|
- thumbs:/app/public/images/thumbs
|
|
- database:/app/data
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ~/.docker/config.json:/root/.docker/config.json:ro
|
|
```
|
|
|
|
Run `docker compose up -d` to launch the site.
|
|
|
|
## Credits & License
|
|
- Originally based on a Jekyll template.
|
|
- UI Design by [AJ / HTML5 UP](https://html5up.net).
|
|
- Enhanced with Node.js authentication, SQLite database management, and Docker integrations by Tom Misch.
|