Overview
nextExplorer is packaged as a single Docker image that hosts both the API/backend (Express + SQLite + thumbnail/search workers) and the Vite-built frontend. This page walks you through the pieces you need to start it, what configuration matters early, and what happens on first launch.
What you need
- Docker Engine 24+ & Docker Compose v2. The official image targets modern platforms; use the Compose workflow shown below for reproducibility.
- Host folders to expose as volumes. Every
/host/path:/mnt/Labelmount becomes a top-level volume in the UI. A volume is the mount itself, so the application never renames, moves or deletes one, and never creates one: that is done where the server is configured. Keep the folder readable by the container user (usePUID/PGIDto match the host if needed). A volume mounted:ro, or one the container user may not write in, shows a lock on the home page and in the sidebar, and offers no writes to anyone. - Persistent config storage. Mount a directory to
/configsoapp.db— accounts, shares, settings — your logo and the session secret survive upgrades. Back this directory up before major changes. WithoutSESSION_SECRET, a secret is generated at the first start and kept in/config/session-secret, so sessions survive restarts as long as/configdoes. - Cache storage. Thumbnails, RAW previews, sessions and
index.db— the search index and folder sizes — go into/cache. Nothing in it needs a backup, but mount it persistently: clearing it signs everyone out and rebuilds the indexes with a pass over the volumes.
Sample Docker Compose (production focused)
services:
nextexplorer:
image: ghcr.io/cerede2000/explorer:latest
container_name: nextexplorer
restart: unless-stopped
ports:
- '3000:3000'
environment:
- NODE_ENV=production
- PUBLIC_URL=http://localhost:3000
# Optional: lock sessions to a known secret
# - SESSION_SECRET=please-change-me
# Optional host UID/GID mapping
# - PUID=1000
# - PGID=1000
volumes:
- /srv/nextexplorer/config:/config
- /srv/nextexplorer/cache:/cache
- /srv/data/Projects:/mnt/Projects
- /srv/data/Downloads:/mnt/DownloadsThe image bundles the frontend assets and backend together, so routing, search, thumbnails, OnlyOffice, and OIDC endpoints are all served from
localhost:3000inside the container.
Volume strategy
- Each
/mnt/Labelmount becomes a sidebar volume. Give folders human-friendly labels to avoid confusion, e.g.,/mnt/Projects,/mnt/Media. /config: Storesapp.db,logos/andsession-secret(seebackend/src/config/env.jsfor howCONFIG_DIRcan be overridden). Back this folder up before upgrades./cache: Holds thumbnails, RAW previews,sessions.db,index.dband uploads in progress. Deleting it loses no data, but signs everyone out and rebuilds the indexes.- Permission tip: The entrypoint chown’s
/configand/cacheto the container user (default1000:1000). Override withPUID/PGIDfor custom ownership.
First run checklist
- Apply
docker compose up -dfrom the directory with your Compose file. - (Optional) Set
AUTH_ADMIN_EMAIL+AUTH_ADMIN_PASSWORDto auto-create the first local admin on startup and skip the setup wizard. - Visit
http://localhost:3000(or yourPUBLIC_URL) to sign in. - Browse the Volumes sidebar and ensure each host mount is visible and readable.
- (Optional) Toggle OIDC via environment variables if your organization uses an identity provider (see the Integrations section for Keycloak, Authentik, and Authelia guides).
Signing in
- Local accounts: Use the username/password created during setup; additional local users can be added from Settings → Admin.
- OIDC SSO: When
OIDC_ENABLEDand related variables are configured, a “Continue with Single Sign-On” button appears. The backend exposes/login,/callback, and/logoutvia Express OpenID Connect.
Keeping the stack updated
docker compose pull
docker compose up -dPersistent state lives under your /config mount (app.db, logos/, session-secret) while /cache can be rebuilt. An installation that started on 1.1.7 or earlier kept app.db in /cache: nothing moves it any more, so copy it to /config by hand before upgrading it. The server warns at start when it finds such a file there.
What’s next
- Explore the Visual Tour to see the UI layout and controls.
- Read the Experience section for workflows (browsing, uploads, search, editor).
- Dive into Installation for reverse proxy tips and networking.
- Visit Configuration to understand every environment variable and Settings section.
- Check Integrations when adding OIDC or ONLYOFFICE.
