ophiel 3 Posted 18 hours ago Posted 18 hours ago (edited) Artwork Studio is a "Homelab" grade tool designed to take your Emby server's visual experience to the next level. Through a sleek, modern UI built with Next.js, it allows you to scan your library, preview movie posters, apply gorgeous overlays (Dolby Vision, HDR10+, etc.), and search/apply widescreen backdrops from TMDb easily. How it Connects to Emby The application interacts directly with your Emby server's official REST API: Libraries and Content: Retrieves available media collections and maps items via the /emby/Library/SelectableMediaFolders and /emby/Items endpoints. Poster and Banner Processing: When applying an overlay, the application downloads the base poster from TMDb, resizes and layers the selected overlay badge using the sharp image library, and uploads the final output as a Base64-encoded string to /emby/Items/{Id}/Images/Primary. Widescreen Backdrops: Downloads backdrop layouts from TMDb and posts them as movie backdrops to Emby via the /emby/Items/{Id}/Images/Backdrop/0 endpoint using Base64. Security & Hardening Features the following security measures have been built-in: Separation of Environment (.env & .env.example): Real API keys and IP addresses are handled via local environment variables. The repository only tracks .env.example containing generic placeholders. Hardened .gitignore: Blocks files containing real configurations (.env, .env.local, .env.production) and build directories (.next/) to prevent accidental leaks. Secure Image Proxy (/api/image-proxy): The frontend never communicates directly with your Emby server when loading movie images. Instead, all images pass through an internal Next.js proxy route. Consequently, your local IPs and Emby API Keys are never exposed in the client's image HTML tags or browser network requests. Decoupled Client Config (LocalStorage & Cookies): Stores connection tokens locally in your browser (localStorage) and sends them to server actions dynamically via cookies only when required, keeping code files completely stateless and clean of secrets. Prerequisites To get the app working, you need to grab these keys and have your server URL ready: Emby Server URL: The local address where your server runs (e.g., http://192.168.1.100:8096). Emby API Key: Generated from the Emby Dashboard (Settings > API Keys > New API Key). TMDb API Key (Optional but recommended): Used to enrich movie metadata, get it by registering for free at The Movie Database. Link Edited 18 hours ago by ophiel 1 2
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now