Sign inSign up

vinsdoe/mediachips

By vinsdoe

Updated 20 days ago

MediaChips is a desktop app for organizing, tagging, and browsing local media.

Image
Content management system
2

10K+

vinsdoe/mediachips repository overview

MediaChips on Docker / Synology / NAS

Self-host MediaChips as a single container. Browse from any device on your LAN.

Quick start (desktop Docker)

cp .env.docker.example .env   # optional: MEDIA_CHIPS_PUBLIC_HOST / PUID / PGID
docker compose up -d

This pulls vinsdoe/mediachips:latest and publishes http://localhost:12321 (port 12321).

To rebuild from source instead of pulling:

# in docker-compose.yml: uncomment `build: .` and set image: mediachips:local
docker compose up -d --build
Add media

Host folders must be mounted into the container (see docker-compose.yml):

Host pathPath inside container (use this in UI)
/Users/you/Movies/media/movies
/volume1/video/media/video
D:\Videos (Windows Docker Desktop)/media/videos

In Add media, click a mounted folder chip or paste an in-container path such as:

/media/movies/torrents/Some Folder

Do not paste Mac/Windows host paths (/Users/..., D:\...) — the container cannot see them.

Synology DSM

  1. Install Container Manager.
  2. Create folders, for example:
    • /volume1/docker/mediachips/data
    • ensure your library exists under /volume1/video (or edit the compose file).
  3. Copy docker-compose.synology.yml into a Project, then edit:
    • volume host paths
    • MEDIA_CHIPS_PUBLIC_HOST → NAS IP from Control Panel → Network
    • PUID / PGID → DSM user that owns the media folders (id youruser over SSH)
    • TZ
  4. Start the project, open http://NAS-IP:12321.

Pre-built images (after a release/CI push):

# Docker Hub (existing public repo)
vinsdoe/mediachips:latest
vinsdoe/mediachips:1.2.0

# GitHub Container Registry
ghcr.io/fupdec/mediachips:latest
ghcr.io/fupdec/mediachips:1.2.0

Image architectures: linux/amd64, linux/arm64.

Important environment variables

VariablePurpose
MEDIA_CHIPS_DATA_DIRPersistent data root (config.json, app_storage/)
MEDIA_CHIPS_ALLOW_LANBind 0.0.0.0 and allow LAN browser origins
MEDIA_CHIPS_PUBLIC_HOSTLAN/NAS IP used in the “open on other devices” link
MEDIA_CHIPS_MEDIA_ROOTSOptional comma-separated mount roots (default: directories under /media)
PUID / PGIDRun as this UID/GID (Synology permission match)
TZContainer timezone
FFMPEG_PATH / FFPROBE_PATHSystem ffmpeg binaries in the image

Backup

Back up the data volume (/dataconfig.json + app_storage). Media files are your mounted /volume1/... shares — back them up separately.

Reverse proxy (optional)

Point DSM reverse proxy / HTTPS to http://localhost:12321. Keep WebSocket support enabled for live tasks.

Troubleshooting

SymptomFix
File not found when addingPath is not mounted; use /media/... from the dialog chips
Share link shows 172.x.x.xSet MEDIA_CHIPS_PUBLIC_HOST to the NAS LAN IP
Permission denied writing DB/thumbsAlign PUID/PGID with folder owner
Build on NAS is slow/failsPull vinsdoe/mediachips (or ghcr.io/fupdec/mediachips) instead of building

Tag summary

Content type

Image

Digest

sha256:90193afc1

Size

2 GB

Last updated

20 days ago

docker pull vinsdoe/mediachips