VLC
Media player for nearly every audio and video format
VLC is a media player that handles nearly every container and codec without extra plugins, streamed here in a remote desktop session and backed by remote compute. It builds on the Void Desktop image — VLC launches maximized with the window decorations and taskbar hidden, so the player fills the screen.
Usage
1. Deploy
dxflow workflow create --identity vlc hub://vlc
# Start with defaults, or tune per run with --override
dxflow workflow start vlc
dxflow workflow start vlc \
--override env.app.VNC_PASSWORD=my-strong-pass \
--override env.app.TASKBAR=show
# Publish the web port on an HTTPS link
dxflow workflow start vlc --link
2. Open the app
Open your browser at http://localhost:6082/vnc.html and enter the password you set in VNC_PASSWORD. VLC is already running and maximized. Port 5901 is also exposed for connecting a native VNC client. A start given --link publishes port 6082 at an HTTPS URL printed on the start line — open it at /vnc.html to reach VLC from anywhere.
3. Persist data
Anything under /volume persists across restarts — save your work there to keep it.
Configuration
name: vlc
tags:
- media
steps:
- name: app
runtime: docker
mode: parallel
image: ghcr.io/dxflow-ai/vlc:latest
volumes:
- name: volume
host: ./volume
container: /volume
ports:
- name: web
host: "6082"
container: "6082"
- name: vnc
host: "5901"
container: "5901"
- name: audio
host: "6100"
container: "6100"
env:
- VNC_PASSWORD=dxflow
- WALLPAPER=show
- PANEL=hide
- TASKBAR=hide
- AUDIO=on
- AUDIO_PORT=6100
- AUDIO_CHANNELS=1
- AUDIO_RATE=22050
resources:
cpu: "2"
memory: 4G
link: web
[volume]
app.volume = ./volume
[port]
app.web = 6082
app.vnc = 5901
app.audio = 6100
[env]
app.VNC_PASSWORD = dxflow
app.WALLPAPER = show
app.PANEL = hide
app.TASKBAR = hide
app.AUDIO = on
app.AUDIO_PORT = 6100
app.AUDIO_CHANNELS = 1
app.AUDIO_RATE = 22050
[resource]
app.cpu = 2
app.memory = 4G
{
"arch": ["amd64", "arm64"],
"image": "ghcr.io/dxflow-ai/vlc:latest",
"version": "3.0.23",
"size": {
"amd64": "416M",
"arm64": "414M"
},
"minimum": {
"cpu": 2,
"memory": "2G",
"storage": "20G"
}
}
Notes
- Set a strong
VNC_PASSWORD; it defaults todxflow, which every reader of this page knows. - The panel and taskbar are hidden by default so the player fills the screen. Set
PANEL=showorTASKBAR=showto bring back the window decorations and taskbar. - Audio: on by default, since this is a media app — desktop sound is streamed to the browser over
AUDIO_PORT(default6100). Tune it withAUDIO_CHANNELS(1 or 2) andAUDIO_RATE(8000/16000/22050/32000/44100), or setAUDIO=offto drop it. To run two sessions on one host, give each its ownAUDIO_PORTand matchingaudioport mapping. - VLC refuses to run as root, so this entry runs it as the image's unprivileged
appuser, handing it the desktop's X credentials and PulseAudio socket. Files it reads or writes have to be readable by that user —/volumeis.