Poke

A privacy-friendly YouTube front-end, with its own Invidious inside.

  • ghcr.io/hsinghhira/poke:latest
  • v20.25
  • Updated 28 Oct 2026
  • port 6133
  • amd64 · arm64
  • Media

Screenshots

Poke screenshot 1: HomePoke screenshot 2: NewsPoke screenshot 3: MusicPoke screenshot 4: Gaming

Open the app

Web App

http://localhost:6133/

About Poke

Poke is a YouTube front-end that keeps Google out of your browser. Watch videos, follow channels and listen to music without ads or tracking. This is Poke in a single container, with one port and one data folder. It brings its own Invidious, Invidious companion and PostgreSQL, so it does not lean on poketube.fun's video servers. Thumbnails and dislike counts still come from Poke's and Return YouTube Dislike's public services.

Features

  • Watch YouTube without ads, tracking or a Google account
  • Videos stream through your own server
  • Return YouTube Dislike counts built in
  • Accounts to follow channels, without Google
  • Captions, ambient mode and audio boost
  • Installs like an app (PWA)

How to use

  1. Open Poke from your dashboard.
  2. Search for a video or a channel.
  3. Make an account to follow channels.

Before you install

There is nothing to set: Poke works from whatever address you open it at, like http://[ZIMAOS-IP-ADDRESS]:6133. Every setting is optional and listed in the Variables tab. To use one, add it in the app settings with your value; a setting you leave out keeps its default. If videos stop playing, YouTube may be blocking your address: add POKE_YOUTUBE_PROXY. The first start takes about four minutes while Invidious sets up its database.

The settings in the first table are already in the app settings. To use any other one, open the app settings, add the variable with your value, save, and the app restarts with it. A setting you leave out uses its default.

In the app settings

VariableDefault valueDescription
TZ$TZYour time zone. It is filled in from your ZimaOS time zone. Leave it unless you need another.

Server

VariableDefault valueDescription
POKE_BANNERwelcome to poke!The short message shown on Poke's landing page.
POKE_ALWAYS_HTTPSfalseSet to true when you open Poke through your own https:// domain, so it always makes https links.
POKE_WORKERS—How many Poke processes to run. Blank picks one for each CPU core. Lower it to use less memory.
POKE_CLUSTERonSet to off to run Poke as a single process.
POKE_MEDIA_PROXYhttps://image-proxy.poketube.funThe image proxy for thumbnails and banners. Point it at your own copy of Poke's image proxy if you run one.

YouTube

VariableDefault valueDescription
POKE_YOUTUBE_PROXY—A proxy for talking to YouTube, like http://user:pass@proxy:8080. Use it if YouTube blocks your address and videos stop playing.
YOUTUBE_SESSION_COOKIES—YouTube cookies for the Invidious companion, if YouTube asks it to sign in. Most people leave this out.
CAPTIONS_ENABLEDtrueSet to false to turn captions off, if YouTube blocks your address for fetching them.
docker-compose.yml
name: poke

services:
  poke:
    image: ghcr.io/hsinghhira/poke:latest
    container_name: poke
    restart: unless-stopped
    stop_grace_period: 90s
    privileged: true
    environment:
      - TZ=$TZ
    ports:
      - target: 8080
        published: "6133"
        protocol: tcp
    volumes:
      - type: bind
        source: /DATA/AppData/$AppID/data
        target: /data
        bind:
          create_host_path: true
    healthcheck:
      test: ["CMD", "curl", "-fsS", "-o", "/dev/null", "http://127.0.0.1:8080/api/version.json"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 240s
    deploy:
      resources:
        limits:
          cpus: "2.00"
          memory: 3072M
        reservations:
          cpus: "0.00"
          memory: 512M
    labels:
      icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/poke/icon.png
    x-casaos:
      id: com.icestore.poke
      envs:
        - container: TZ
          description:
            en_US: >-
              Your time zone. It is filled in from your ZimaOS time zone.
              Leave it unless you need another.
      ports:
        - container: "8080"
          description:
            en_US: Poke web app and video streams, published on host as 6133
      volumes:
        - container: /data
          description:
            en_US: >-
              Poke accounts and subscriptions (poke/json.sqlite), the
              Invidious database and the secret keys (state/secrets.env).

x-casaos:
  id: com.icestore.poke
  architectures:
    - amd64
    - arm64
  main: poke
  author: HSinghHira
  category: Media
  developer: ashleyirispuppy
  icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/poke/icon.png
  thumbnail: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/poke/screenshot-1.webp
  screenshot_link:
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/poke/screenshot-1.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/poke/screenshot-2.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/poke/screenshot-3.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/poke/screenshot-4.webp
  title:
    en_US: Poke
  tagline:
    en_US: A privacy-friendly YouTube front-end, with its own Invidious inside.
  description:
    en_US: >-
      Poke is a YouTube front-end that keeps Google out of your browser.
      Watch videos, follow channels and listen to music without ads or
      tracking. This is Poke in a single container, with one port and one
      data folder. It brings its own Invidious, Invidious companion and
      PostgreSQL, so it does not lean on poketube.fun's video servers.
      Thumbnails and dislike counts still come from Poke's and Return
      YouTube Dislike's public services.


      **Features**


      - Watch YouTube without ads, tracking or a Google account

      - Videos stream through your own server

      - Return YouTube Dislike counts built in

      - Accounts to follow channels, without Google

      - Captions, ambient mode and audio boost

      - Installs like an app (PWA)


      **How to use?**


      1. Open Poke from the Zima OS dashboard.


      2. Search for a video or a channel.


      3. Make an account to follow channels.
  tips:
    before_install:
      en_US: >-
        1. There is nothing to set before you install. Poke works from any
           address.


        2. More settings, like a proxy for YouTube or your own image proxy,
           are listed on the Poke page at
           https://icestore.hsinghhira.me/app/poke/ (Variables tab). You can
           add them now or later in the app settings.


        3. Start the installation.


        4. Wait about four minutes for all parts to start.


        5. Open http://[ZIMAOS-IP-ADDRESS]:6133 in your browser.


        6. If videos stop playing, YouTube may be blocking your address. Add
           POKE_YOUTUBE_PROXY in the app settings.
  index: /
  port_map: "6133"
  scheme: http
  is_uncontrolled: false
  version: "20.25"
  update_at: "2026-10-28"
  release_notes:
    en_US: |-
      - Single-container Poke with one port (6133) and one data folder
      - Poke 20.25, built from commit a623457 of its main branch (the stable-2026a tag refuses every self-hosted address)
      - quay.io/invidious/invidious 2026.10.26-1c4b41f
      - quay.io/invidious/invidious-companion 2026.10.18-fcb0456
      - PostgreSQL 17 inside
      - The database passwords, Invidious keys and Poke's account secret are made on first start, so each install gets its own
      - Poke's usage ping stays inside the container
      - Thumbnails, static files and dislike counts still use Poke's and Return YouTube Dislike's public services
  repo: "https://codeberg.org/ashleyirispuppy/poke"
  support: "https://codeberg.org/ashleyirispuppy/poke/issues"
  docs: "https://codeberg.org/ashleyirispuppy/poke#readme"

Install Poke

Something not working with Poke? Report a problem or request another app.

More Media apps

See all