frametv-art-gallery is an independent, open-source, self-hosted gallery manager for Samsung Frame TVs. Not affiliated with Samsung. It lets you create and manage a personal gallery of images, photos, or artworks locally on your TV.
frametv-art-gallery is an unofficial, fun, open-source project and is not affiliated with, endorsed by, or sponsored by Samsung (or any other company). It is provided "as is" and use is entirely at your own risk.
This project uses local websocket APIs provided by the TVs.
⚠️ Security Warning: This application does not implement authentication, authorization, or other hardening controls. It is intended for private, local network use only.
- Do not expose this service to the public internet.
- Do not run it on a publicly reachable IP/host without adding your own security layer (VPN, reverse proxy auth, firewall rules, etc.).
- If you want to access it remotely, put it behind a secure tunnel or VPN and ensure only trusted devices can reach it.
You can use any kind of image! Either upload your own personal photos or import them from Immich. Or download copyright-free artwork from the internet and import it into Frame TV Gallery.
Example images from https://pixabay.com/docker volume create frametv_uploads docker volume create frametv_db
docker run -d
--name frametv
-v frametv_uploads:/app/uploads
-v frametv_db:/app/instance
-p 8000:8000
frametvartgallery:latest
Or use the docker-compose.yml file: https://github.com/mrtncode/frametv-art-gallery/blob/main/docker-compose.yml
Pull the latest image and restart the container while keeping your data (persists in volumes)
Docker Compose (recommended):
docker compose pulldocker compose up -d
-> Check that the TV is on and has enough free storage space. When the storage space for art images is full, the upload fails.
-> Try uploading an image with the SmartThings App. There will appear a more specific error message.
Some TVs are asking for permission every time, to avoid this, go to:
Device Connection Manager > Access Notification Settings > First Time Only
Frontend:
- React.js
- TailwindCSS
- Shadcn/ui
- Lottie Animation
https://lottiefiles.com/free-animation/image-VXYNYReCmq -> Thanks!
Backend:
- Flask (Python)
Speical thanks to https://github.com/xchwarze/samsung-tv-ws-api and https://github.com/billyfw/frame-art-shuffler


