Skip to content

Latest commit

 

History

History
147 lines (105 loc) · 6.68 KB

README.md

File metadata and controls

147 lines (105 loc) · 6.68 KB

gPodder Docker

GitHub Workflow Status (event) Docker Pulls Docker Image Size (tag) Docker Image Size (tag) GitHub release (latest by date) GitHub

A dockerized version of the gPodder podcast client with a built-in browser-based GUI.

gPodder is a simple, open source podcast client written in Python using GTK+. In development since 2005 with a proven, mature codebase.

Application Setup

This image sets up the gPodder desktop app and makes its interface available via Guacamole in your web browser. The interface is available at http://your-ip:3000.

By default, there is no password set for the main gui. Optional environment variable PASSWORD will allow setting a password for the user abc.

You can access advanced features of the Guacamole remote desktop using ctrl+alt+shift enabling you to use remote copy/paste and different languages.

gPodder Themes

Two versions of this image are available, one with gPodder running with a light GTK theme and one with a dark theme. There are tagged light and dark versions of the image, and light and dark version of each SemVer tagged release. Using the latest tag or no tag at all will default to the the lasest version of image and the light theme.

Theme Tag
Light latest/light
Light v*..-light
Dark dark
Dark v*..-dark

Supported Architectures

This image supports multiple architectures, specifically x86-64 and arm64, through the use of a docker manifest for multi-platform awareness. You can read more about docker manifests here.

There is a tagged light and dark version of the image for each supported architecture. Simply pulling xthursdayx/gpodder-docker:<tag> should retrieve the correct image for your arch, but you can also pull specific arch images via tags.

The architectures supported by this image, and the associated tags are:

Architecture Tag
x86-64 latest/light
x86-64 dark
x86-64 light-amd64
x86-64 dark-amd64
arm64 light-arm64v8
arm64 dark-arm64v8

Usage

Here are some examples to help you get started creating a container. If you are an UNRAID user you can access my UNRAID gPodder template in Community Apps.

docker-compose

Compatible with docker-compose v2 schemas.

---
version: "2.1"
services:
  gpodder:
    image: xthursdayx/gpodder-docker
    container_name: gPodder
    environment:
      - PUID=99
      - PGID=100
      - TZ=America/New_York
      - PASSWORD= #optional
    volumes:
      - /path/to/config:/config
      - /path/to/downloads:/downloads
    ports:
      - 3000:3000
    restart: unless-stopped

docker cli

docker run -d \
  --name=gPodder \
  -e PUID=99 \
  -e PGID=100 \
  -e TZ=America/new_York \
  -e PASSWORD= `#optional` \
  -p 3000:3000 \
  -v /path/to/config:/config \
  -v /path/to/downloads:/downloads \
  --restart unless-stopped \
  xthursdayx/gpodder-docker

Parameters

Container images are configured using parameters passed at runtime (such as those listed above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container. You can change the external/host port and volume mappings to suit your needs.

Parameter Function
-p 3000 HTTP access to the gPodder WebUI.
-e PUID=99 for UserID - see below for more information.
-e PGID=100 for GroupID - see below for more information.
-e TZ=America/New_York Specify a timezone to use, e.g. America/New_York.
-e PASSWORD= Optionally set a password for the gui.
-v /config Directory where gPodder's configuration and database files will reside, so you won't lose data when you update, reinstall, etc.
-v /downloads The directory gPodder will download your podcasts to.

Environment variables from files (Docker secrets)

You can set any environment variable from a file by using a special prepend FILE__.

As an example:

-e FILE__PASSWORD=/run/secrets/mysecretpassword

Will set the environment variable PASSWORD based on the contents of the /run/secrets/mysecretpassword file.

User / Group Identifiers

When using volumes (-v flags) permissions issues can arise between the host OS and the container, you can avoid this by specifying the user PUID and group PGID.

Ensure any mapped volume directories on your host machine are owned by the same user you specify and you will avoid any permissions issues.

In this instance PUID=1000 and PGID=1000, to find yours using the following command:

  $ id <username> # Replace with your username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

Versions

  • 31.01.24: - Rebase to KasmVNC Alpine baseimage, Update GPodder to 3.11.4 and update dependencies.

  • 06.04.23: - Update GPodder to 3.11.1 and update dependencies.

  • 19.06.21: - Rebase to rdesktop-web Alpine baseimage.

If you appreciate my work please consider buying me a coffee, cheers! 😁

Donate