Skip to content

v1.2.0 — image-based host setup + fullscreen watch-page polish

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Jun 00:37
· 6 commits to main since this release

This release makes self-hosting a two-file affair and ships the nginx config
as a published image, plus a round of fullscreen polish on the watch page.

Host setup is now just two files

Setting up a host no longer requires cloning the repo or building anything.
The nginx routing config is baked into a new published image
(ghcr.io/bukowskaii/discordwatchparty-nginx), so a host only needs:

curl -O https://raw.githubusercontent.com/Bukowskaii/DiscordWatchParty/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/Bukowskaii/DiscordWatchParty/main/.env.example
docker compose up -d
  • No source checkout, no local build. Both the bot and nginx run from
    published GHCR images.
  • Encryption key generation moved from npm run generate-key (which
    required Node) to openssl rand -hex 32 — no extra toolchain on the host.
  • HTTPS exposure is now provider-neutral. The docs no longer prescribe
    Cloudflare Tunnel; exposing nginx over HTTPS (reverse proxy, tunnel, etc.)
    is left to the host. PUBLIC_URL just needs to be the public https:// URL
    that reaches nginx.

Watch page: fullscreen polish

  • The fullscreen control bar and cursor auto-hide after the mouse goes
    idle, and reappear on any movement (or when a public action fires).
  • A fullscreen volume slider kept in lockstep with the page slider.
  • Action-attribution toasts now show in fullscreen (routed into the
    fullscreen layer, which the page-level toast container couldn't reach).

Under the hood

  • CI builds and pushes both images (bot + nginx), multi-arch
    (amd64/arm64), on each tagged release.

Upgrading an existing host

Re-fetch docker-compose.yml (the nginx service now points at the published
image and the bind-mount is gone), then:

docker compose pull
docker compose up -d

If you previously hand-edited nginx/default.conf on the host, note that the
config now lives in the image — local edits no longer apply.

Full Changelog: v1.1.0...v1.2.0

This release makes self-hosting a two-file affair and ships the nginx config
as a published image, plus a round of fullscreen polish on the watch page.

Setting up a host no longer requires cloning the repo or building anything.
The nginx routing config is baked into a new published image
(ghcr.io/bukowskaii/discordwatchparty-nginx), so a host only needs:

curl -O https://raw.githubusercontent.com/Bukowskaii/DiscordWatchParty/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/Bukowskaii/DiscordWatchParty/main/.env.example
docker compose up -d
  • No source checkout, no local build. Both the bot and nginx run from
    published GHCR images.

  • Encryption key generation moved from npm run generate-key (which
    required Node) to openssl rand -hex 32 — no extra toolchain on the host.

  • HTTPS exposure is now provider-neutral. The docs no longer prescribe
    Cloudflare Tunnel; exposing nginx over HTTPS (reverse proxy, tunnel, etc.)
    is left to the host. PUBLIC_URL just needs to be the public https:// URL
    that reaches nginx.

  • The fullscreen control bar and cursor auto-hide after the mouse goes
    idle, and reappear on any movement (or when a public action fires).

  • A fullscreen volume slider kept in lockstep with the page slider.

  • Action-attribution toasts now show in fullscreen (routed into the
    fullscreen layer, which the page-level toast container couldn't reach).

  • CI builds and pushes both images (bot + nginx), multi-arch
    (amd64/arm64), on each tagged release.

Re-fetch docker-compose.yml (the nginx service now points at the published
image and the bind-mount is gone), then:

docker compose pull
docker compose up -d

If you previously hand-edited nginx/default.conf on the host, note that the
config now lives in the image — local edits no longer apply.

Full Changelog: v1.1.0...v1.2.0