Photoview

Self-host a gallery for high-res photos and videos. Automatically organize media from your file system, view photos on a map, and share with secure links.

Create a personal photo gallery designed for photographers and anyone wanting to self-host their media library. It provides a fast and simple way to navigate thousands of high-resolution photos and videos directly from your own server.

The core principle is its direct integration with your file system. You simply point the software to your media directories, and it automatically organizes everything based on your folder structure. Directories become albums, and the gallery stays updated by automatically scanning for new files. This gives you complete control to organize your media using the tools you already know.

It's built for more than just one person. You can set up multiple user accounts, each with their own private media directory. Sharing is also straightforward, allowing you to generate public or password-protected links for specific albums, photos, or videos.

Key features include:

  • RAW & Video Support: Natively handles many RAW image formats and converts videos for optimal web playback.
  • EXIF Metadata & Maps: Automatically extracts photo metadata and uses GPS coordinates to display your photos on an interactive map.
  • High Performance: Generates thumbnails and lazy-loads images to ensure smooth browsing, even with large libraries.
  • Broad Compatibility: Runs on various platforms, including low-power ARM devices like the Raspberry Pi.
  • Private & Secure: Your media never leaves your server. All access is protected, and the software is completely free and open-source.

Directory Structure

photoview
api-cache
db-data
photos
.env
docker-compose.yml

docker-compose.yml

services:
  db:
    image: mariadb:10.5
    restart: always
    environment:
      - MYSQL_DATABASE=photoview
      - MYSQL_USER=photoview
      - MYSQL_PASSWORD=${DB_PASSWORD}
      - MYSQL_RANDOM_ROOT_PASSWORD=1
    volumes:
      - ./db-data:/var/lib/mysql

  photoview:
    image: viktorstrate/photoview:2
    restart: always
    ports:
      - "8000:80"
    depends_on:
      - db
    environment:
      - PHOTOVIEW_DATABASE_DRIVER=mysql
      - PHOTOVIEW_MYSQL_URL=photoview:${DB_PASSWORD}@tcp(db)/photoview
      - PHOTOVIEW_LISTEN_IP=photoview
      - PHOTOVIEW_LISTEN_PORT=80
      - PHOTOVIEW_MEDIA_CACHE=/app/cache
    volumes:
      - ./api-cache:/app/cache
      - ./photos:/photos:ro

.env

DB_PASSWORD=your_super_secret_database_password
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Photoview

Favicon

 

  
  
Favicon

 

  
  
Favicon