Skip to content

garvageart/viz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,565 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Viz

License: AGPLv3

Viz is a self-hosted image management and processing platform designed for photographers and media teams. It provides a modern API-driven backend (Go) and a web interface (SvelteKit) for organizing, searching, and sharing image collection

Home Page Screenshot

Warning

This project is in active development. Features and APIs may change frequently. Feedback and contributions are welcome!


Features

  • Image Upload & Organization: Upload and automatically process images with thumbnails, EXIF extraction.
  • Collections: Group images into collections for better organization.
  • Search: Fast semantic and keyword search.
  • Background Processing: Robust job queue (Watermill + Redis) for non-blocking image operations.
  • Modern UI: Built with SvelteKit 5, featuring a responsive image grid, metadata view and editing, and drag-and-drop uploads.
  • Deployment: Docker Compose support for easy set up (API, Frontend, Postgres, Redis).

Quick Start (Docker)

Get started quickly using Docker Compose.

Clone & Configure:

git clone https://github.com/garvageart/viz.git
cd viz

# Configure environment variables
cp .env.example .env

Run:

docker compose -f docker/docker-compose.yml up --build -d

Use:

- Frontend & API: `http://localhost:7770`

See docs/BUILDING.md for detailed setup instructions, including Manual/Non-Docker development guides (Windows/Linux/macOS).


Architecture

Backend

  • Framework: go-chi Router
  • Database: PostgreSQL (via GORM)
  • Queue: In-Memory or Redis (via Watermill)
  • Search: Full-Text Token-Based Search
  • Image Processing: libvips
  • Framework: Svelte 5
  • Styling: SCSS
  • Icons: Material Design

Monorepo Structure

  • Go Workspace: Managed via go.work for the backend.
  • PNPM Workspaces: Frontend (viz/) and internal tools (scripts/js/) are managed as pnpm workspaces.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for details.


Questions or Feedback?

We welcome questions, feedback, and contributions! Here is how you can get in touch:

  • Bugs & Feature Requests: If you find a bug or have a new feature idea, please search the existing issues or open a new one.
  • Support & Discussions: For setup help, general questions, or architectural ideas, please start a thread in the repository discussions.
  • Contributions: Pull requests are welcome! If you are interested in contributing code or documentation, feel free to open a pull request or start a discussion to align on changes.

Copyright (c) 2026 Les

About

Viz is a self-hosted image management and processing platform designed for photographers and media teams

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages