{"id":15051304,"url":"https://github.com/nextcloud/files_photospheres","last_synced_at":"2026-01-29T22:09:08.808Z","repository":{"id":40455852,"uuid":"176719501","full_name":"nextcloud/files_photospheres","owner":"nextcloud","description":"Nextcloud app for viewing Google PhotoSphere 360° images (panorama-images)","archived":false,"fork":false,"pushed_at":"2026-01-24T22:14:30.000Z","size":16216,"stargazers_count":30,"open_issues_count":15,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-25T09:08:17.799Z","etag":null,"topics":["gallery","nextcloud","photo-sphere-viewer","photosphere-images"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextcloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-03-20T11:32:37.000Z","updated_at":"2025-10-03T10:04:06.000Z","dependencies_parsed_at":"2025-04-28T01:29:07.983Z","dependency_job_id":"8346a60c-d51a-4539-aff4-379f0f54169a","html_url":"https://github.com/nextcloud/files_photospheres","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/nextcloud/files_photospheres","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_photospheres","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_photospheres/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_photospheres/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_photospheres/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextcloud","download_url":"https://codeload.github.com/nextcloud/files_photospheres/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_photospheres/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28886977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gallery","nextcloud","photo-sphere-viewer","photosphere-images"],"created_at":"2024-09-24T21:33:09.843Z","updated_at":"2026-01-29T22:09:08.801Z","avatar_url":"https://github.com/nextcloud.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nextcloud - Files_PhotoSpheres\n\n![PHPUnit](https://github.com/nextcloud/files_photospheres/workflows/PHPUnit/badge.svg)\n[![codecov](https://codecov.io/gh/nextcloud/files_photospheres/branch/master/graph/badge.svg)](https://codecov.io/gh/nextcloud/files_photospheres)\n![Lint](https://github.com/nextcloud/files_photospheres/workflows/Lint/badge.svg)\n[![Generic badge](https://img.shields.io/github/v/release/nextcloud/files_photospheres)](https://github.com/nextcloud/files_photospheres/releases)\n[![Generic badge](https://img.shields.io/badge/Nextcloud-34-orange)](https://github.com/nextcloud/server)\n\n\nNextcloud app for viewing Google PhotoSphere 360° images (panorama-images). This app is based on \nthe [photo-sphere-viewer.js](https://photo-sphere-viewer.js.org/) library. For \n360° videos the library [marzipano](https://www.marzipano.net/) is used.\n\n## Table of contents\n\n- [Nextcloud - Files\\_PhotoSpheres](#nextcloud---files_photospheres)\n  - [Table of contents](#table-of-contents)\n  - [Features](#features)\n  - [Setup](#setup)\n    - [Install through the app store](#install-through-the-app-store)\n    - [Install manually](#install-manually)\n    - [Usage](#usage)\n    - [Caching](#caching)\n  - [Caveats](#caveats)\n  - [Report an issue](#report-an-issue)\n\n## Features\n* Interactive viewer to view PhotoSphere images in your Nextcloud instance\n* When clicking on an image it automaticlly detects the presence of XMP-data tags (which are used in photospheres).\n* Compatible with the \"normal\" user-view, single-file share and directory share.\n* Seamless integration with other file-viewer apps.\n* Supports viewing of 360° videos in \"normal\" user-view via context menu. \n\n## Setup\n### Install through the app store\nThe recommended way to install this app, is through the [Nextcloud app store](https://apps.nextcloud.com/apps/files_photospheres).\n\nOpen your Nextcloud instance -\u003e Settings -\u003e Apps -\u003e Multimedia -\u003e Photo Sphere Viewer -\u003e Download and Enable.\n\n### Install manually\nYou can manually install this app, by cloning the repository into your nextcloud installation:\n\n    cd \u003cyour-nextcloud-installation\u003e/apps/\n    git clone https://github.com/nextcloud/files_photospheres.git\n    chown www-data:www-data -R ./files_photospheres\n\n### Usage\nAfter installing the app you can view your PhotoSphere 360° images by clicking on the file in the Nextcloud file browser. Note that opening PhotoSpheres from the gallery is currently not supported.\n\n### Caching\nThis app uses the caching mechanism of Nextcloud to cache the XMP Metadata of the images. The cache is filled on demand when opening a directory for the first time and it will be valid for 24 hours. To get the full performance it's highly recommended to install a local caching backend like **APCu** or **Redis** like described [here](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html).\n\n## Caveats\n* It is not possible to open the photosphere viewer from the Gallery. You must use the file browser.\n* `WebGL`-support must be activated in your browser.\n* 360° videos can not be shown in shared views. It is only possible to open them by context menu \ntherefore the `files_rightclick` app has to be installed (see https://github.com/nextcloud/files_rightclick).\n\n## Report an issue\nI rely on all kind of feedback so feel free to open an issue if you encounter any problems with this app but please pay attention to the following points:\n* If there is a problem with some images which aren't opened in this app but rather in the regular image viewer, please provide them via downloadlink if possible. Otherwise debugging and error-checking becomes quite hard. Please also check if the image you provide has correct XMP-metadata for being detected as photosphere image (like specified [here](https://developers.google.com/streetview/spherical-metadata#gpano_parameter_reference)). The image is only detected as photosphere if the XMP-metadata contains the following data:\n    * `GPano:UsePanoramaViewer` is set explicitly to `true` *or*\n    * `GPano:ProjectionType` is set to `equirectangular` *or*\n    * `GImage:Mime` is set to `image/jpeg` (this is currently the only reliable way to detect Google VR180 images, see https://github.com/nextcloud/files_photospheres/issues/1)\n    \n   You can check these metadata information either with tools like [`exiftool`](https://exiftool.org/) or manually by opening the image with your favorite texteditor and scrolling throw the first few bytes. \n* In the frontend this app is only an integration of different external components like [photo-sphere-viewer.js](https://photo-sphere-viewer.js.org/) and [marzipano](https://www.marzipano.net/). Therefore problems regarding these libraries cannot be fixed in this app.\n\nThanks for your support :smiley:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Ffiles_photospheres","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextcloud%2Ffiles_photospheres","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Ffiles_photospheres/lists"}