# Splash for Nextcloud: random login backgrounds from six image providers

> Splash is a Nextcloud app that swaps the login screen background daily, pulling images from Unsplash, WallhavenCC, Wikimedia, Bing and Nextcloud's own background service. It is small, it is a server-side app, and the README is thin in places.

**nextcloud/unsplash** — 📸🔀☁️ Random Nextcloud log in background from Unsplash

- Repository: https://github.com/nextcloud/unsplash
- Website: https://apps.nextcloud.com/apps/unsplash
- Stars: 101 · Forks: 25
- Language: JavaScript
- License: AGPL-3.0
- Published: 2026-08-17 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/nextcloud-unsplash

## What Splash changes on a Nextcloud instance

A stock Nextcloud login page shows the same background image to everyone, every day. Splash replaces that image with a random one, refreshed on a daily cadence according to the README's one-line promise: "Show a new colorful image on your Loginscreen every day!" The audience is instance administrators, not end users. Nothing appears in the file manager, there is no per-user setting described, and the app's own description says "Random background image app for Nextcloud". If you run a self-hosted instance for a family, a club or a company and the login page is the first thing people see, that page is the entire product surface.

The interesting part is that Splash is not an Unsplash client with a Nextcloud wrapper. The README lists six providers: Nextcloud Background, the Unsplash API, WallhavenCC, Wikimedia, Wikimedia Picture of the Day, and Bing Wallpaper Picture of the Day. The repository is named after Unsplash, but the app is a rotating background picker with several sources behind it. That distinction matters when you evaluate it: you are not betting on one image service staying available.

## How the provider rotation works

The repository layout is a conventional Nextcloud app: appinfo/ for the manifest and routes, lib/ for PHP classes, js/ and css/ for the front end, l10n/ for translations, templates/ for markup, and img/ for static assets. The README's feature table is a flat list of providers rather than a description of selection logic, so the exact rotation strategy is not documented there. What the layout does tell you is that the app ships PHP that runs inside the Nextcloud server process, not a separate service you deploy alongside it.

Two of the providers have different shapes from the rest. Nextcloud Background is the instance's own background service, which means Splash can work without any third-party API at all. The Unsplash provider is the only one the README links to a developer page, which is consistent with Unsplash's API requiring an access key for most endpoints. The Wikimedia, WallhavenCC and Bing entries are picture-of-the-day style sources, where the pool of images is small and changes once per day upstream. If you want variety, the API-backed providers give you more; if you want predictability and no external key, the Nextcloud Background provider is the one to pick. The README does not spell out how a provider is chosen, so treat configuration as something to verify against the app's settings page after install rather than something you can plan from the README.

## Installing Splash and setting a first background

The README does not contain install instructions for administrators. The repository's homepage field points at the Nextcloud app store listing, so the supported path is the app store. The README's developing section assumes you already have a Nextcloud installation running and shows how to link a source checkout into the app folder. That is the only command the repository gives:

```bash
# Link
ln ./ /var/www/html/nextcloud
# Or wherever your cloud is.
```

The README notes that the path is an example and that you should point it at wherever your cloud is. After the app is present, the README has a Settings heading but no content under it, so the exact toggle names are not documented in the repository. Expect to choose a provider and, for the Unsplash provider, to supply whatever credential the Unsplash developer page issues. Then log out and load the login page; the background should come from the configured provider rather than the default Nextcloud image.

The package.json is for development, not for running the app. Its scripts start a throwaway Nextcloud server and drive Playwright tests, and the names come straight from that file:

```bash
npm run start:nextcloud
npm run test:e2e
```

Those scripts require Node ^20.0.0 and npm ^10.0.0 per the engines field. They are useful if you intend to patch the app, and irrelevant if you just want a rotating login background.

## Where Splash is the wrong tool

Splash has no documented offline behaviour. Every provider except Nextcloud Background depends on an external service responding when the login page is rendered. If that request fails, the README does not say what the user sees. There is no mention of a local cache of previously fetched images, no fallback description, and no rollback procedure. On an instance that is intentionally air-gapped, only the Nextcloud Background provider is plausible, and even then the README does not confirm how that provider behaves without outbound access.

Caching is the second gap. The app promises a new image every day, which implies a daily fetch, but the README does not describe where the image is stored or whether it is served from the Nextcloud server or hotlinked. If you operate under a policy that forbids your login page from making requests to third-party hosts, that policy cannot be satisfied by the Unsplash, WallhavenCC, Wikimedia or Bing providers as documented.

Third, this is a cosmetic app. It does not add image search, a media library, or any way for users to pick their own background. If what you actually want is for each user to choose a login image, Splash is not that product and the README does not suggest it is.

## Splash versus pulling images directly from the Unsplash API

The obvious alternative is to skip the app and call the Unsplash API from your own theme or reverse proxy. The difference is scope. A direct integration gives you control over which endpoint you hit, what query parameters you send, and where the response is cached; it also means you own the credential handling, the daily refresh job, and the failure path when Unsplash is unreachable. Splash packages that work as a Nextcloud app with a settings page and several providers behind one switch.

Going direct also changes the licensing surface. The Unsplash API is governed by Unsplash's own terms, which the README links to but does not restate, while the Splash code itself is AGPL-3.0. If your legal review already covers the Unsplash API for another part of your stack, going direct adds no new agreement. If it does not, adding Splash adds the app's AGPL obligations on top of whatever the image providers require. Neither path removes the provider terms.

The third option is to do nothing and keep the stock Nextcloud login background. That is a legitimate choice for an internal instance where the login page is seen by a handful of people who already know what the server is.

## Maintenance, licence and the upgrade question

The last push to the repository was on 2025-05-20, which is the same date as the v3.1.0 release. Before that, v3.0.2 and v3.0.3 both carried the label "Nextcloud 30" and were described as maintenance updates, in October and November 2024. The pattern is a small number of releases per year, mostly tied to Nextcloud major versions. The repository is not archived, but the release cadence means you should not expect a fix for a provider breaking within days.

That cadence is the real upgrade cost. Nextcloud apps declare supported server versions in appinfo/, and when your Nextcloud instance moves to a new major version, an app that has not been updated for it may be disabled or refuse to enable. The README does not state a supported Nextcloud version range, so the app store listing is the place to check compatibility before you upgrade the server. Budget for the possibility that a Nextcloud upgrade and a Splash upgrade have to happen together.

The licence is AGPL-3.0, stated in both the README and the LICENSE.md file, and the package.json records the license field as "agpl". For a self-hosted instance where you are not distributing modified code, the practical effect is usually limited to the obligation to make source available to users interacting with the app over a network if you modify it. That is a general description of the AGPL, not legal advice, and it applies to the Splash code, not to the images the providers serve.

## Conclusion

Adopt Splash if you run a Nextcloud instance whose login page is seen by people outside your admin team and you want it to change without manual work. Skip it if you need per-user background control, an audited image pipeline, or any guarantee that the same image will not appear twice; the README documents none of those. Before installing, open the app entry on apps.nextcloud.com and check which Nextcloud versions the current release declares, because the repository README does not list them and v3.0.2 and v3.0.3 were both labelled maintenance updates for Nextcloud 30.

## FAQ

### How do I install Splash on my Nextcloud server?

The README points administrators at the Nextcloud app store listing rather than giving manual install steps. The developing section assumes a Nextcloud installation is already running and shows linking a source checkout with ln into the app folder.

### Which image providers does Splash support besides Unsplash?

The README's feature table lists Nextcloud Background, the Unsplash API, WallhavenCC, Wikimedia, Wikimedia Picture of the Day, and Bing Wallpaper Picture of the Day. Only the Unsplash entry links to a developer page for an API key.

### What licence is Splash released under?

The README states the app is released under the terms of the AGPLv3 license, and the repository includes a LICENSE.md file. The package.json also records the license field as "agpl".

### Does Splash work without an internet connection?

The README does not document offline behaviour or a local image cache. Of the listed providers, Nextcloud Background is the one that does not depend on a third-party image service, but the README does not describe how it behaves without outbound access.

## Sources

- [Official documentation](https://apps.nextcloud.com/apps/unsplash)
- [Official README](https://github.com/nextcloud/unsplash#readme)
- [Project repository](https://github.com/nextcloud/unsplash)
- [Release notes](https://github.com/nextcloud/unsplash/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/nextcloud-unsplash
