<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Podhound</title><link>https://podhound.github.io/</link><description>Recent content on Podhound</description><generator>Hugo</generator><language>en</language><atom:link href="https://podhound.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://podhound.github.io/docs/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/api/</guid><description>&lt;h1 id="gpodder-api-v2-endpoints"&gt;gPodder API v2 Endpoints&lt;a class="anchor" href="#gpodder-api-v2-endpoints"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Podhound implements the essential gPodder API v2 endpoints to allow synchronization with standard podcatchers.&lt;/p&gt;
&lt;p&gt;All API endpoints require &lt;strong&gt;HTTP Basic Auth&lt;/strong&gt; (username + password).&lt;/p&gt;
&lt;h2 id="authentication"&gt;Authentication&lt;a class="anchor" href="#authentication"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;Method&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Endpoint&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/api/2/auth/&amp;lt;username&amp;gt;/login.json&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Authenticate and receive a session cookie. Also accepts JSON body &lt;code&gt;{ &amp;quot;password&amp;quot;: &amp;quot;...&amp;quot; }&lt;/code&gt;.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="devices"&gt;Devices&lt;a class="anchor" href="#devices"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;Method&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Endpoint&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/api/2/devices/&amp;lt;username&amp;gt;.json&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;List registered devices for the user.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/api/2/devices/&amp;lt;username&amp;gt;/&amp;lt;device_id&amp;gt;.json&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Register or update a device.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="subscriptions"&gt;Subscriptions&lt;a class="anchor" href="#subscriptions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;Method&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Endpoint&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/api/2/subscriptions/&amp;lt;username&amp;gt;/&amp;lt;device&amp;gt;.json&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Get the list of podcast subscriptions.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/api/2/subscriptions/&amp;lt;username&amp;gt;/&amp;lt;device&amp;gt;.json&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Update subscriptions. Body: &lt;code&gt;{ &amp;quot;add&amp;quot;: [...], &amp;quot;remove&amp;quot;: [...] }&lt;/code&gt;.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="episode-actions"&gt;Episode Actions&lt;a class="anchor" href="#episode-actions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;Method&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Endpoint&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/api/2/episodes/&amp;lt;username&amp;gt;.json&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Get episode actions. Supports &lt;code&gt;?since=&amp;lt;timestamp&amp;gt;&lt;/code&gt; and &lt;code&gt;?podcast=&amp;lt;url&amp;gt;&lt;/code&gt; query params.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/api/2/episodes/&amp;lt;username&amp;gt;.json&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Upload episode actions. Body: array of &lt;code&gt;EpisodeActionPayload&lt;/code&gt; objects.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="health-check"&gt;Health Check&lt;a class="anchor" href="#health-check"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;Method&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Endpoint&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;/&lt;/code&gt; or &lt;code&gt;/health&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Returns service status and API version info.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title/><link>https://podhound.github.io/docs/cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/cli/</guid><description>&lt;h1 id="command-line-interface-cli"&gt;Command Line Interface (CLI)&lt;a class="anchor" href="#command-line-interface-cli"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Podhound provides a CLI for server management.&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;a class="anchor" href="#usage"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Via Bun (development)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun run src/main.ts &amp;lt;domain&amp;gt; &amp;lt;action&amp;gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;args...&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Via compiled binary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./dist/podhound &amp;lt;domain&amp;gt; &amp;lt;action&amp;gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;args...&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="user-management"&gt;User Management&lt;a class="anchor" href="#user-management"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="list-all-users"&gt;List all users&lt;a class="anchor" href="#list-all-users"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Via Bun (development)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun run src/main.ts users list
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Via compiled binary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./dist/podhound users list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Displays a table of all registered users.&lt;/p&gt;
&lt;h3 id="create-a-new-user"&gt;Create a new user&lt;a class="anchor" href="#create-a-new-user"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Via Bun (development)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun run src/main.ts users create &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Via compiled binary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./dist/podhound users create &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Manually creates a new user account.&lt;/p&gt;</description></item><item><title/><link>https://podhound.github.io/docs/development/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/development/</guid><description>&lt;h1 id="developer-guide"&gt;Developer Guide&lt;a class="anchor" href="#developer-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="anchor" href="#prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bun.sh"&gt;Bun&lt;/a&gt; installed (v1.x or newer).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps-to-run"&gt;Steps to Run&lt;a class="anchor" href="#steps-to-run"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Clone the repository and navigate into the directory:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/svyatoslav-kubakh/podhound.git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd podhound&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Install dependencies:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Start the server in development mode (with hot-reloading):&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun start:dev&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The server will start listening at &lt;code&gt;http://localhost:8080&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Run automated test suite:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun test&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lint and auto-fix code style:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun run lint &lt;span style="color:#75715e"&gt;# check only&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun run lint:fix &lt;span style="color:#75715e"&gt;# auto-fix&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Build a standalone executable binary:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bun run build
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./dist/podhound&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="project-structure"&gt;Project Structure&lt;a class="anchor" href="#project-structure"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;src/
├── config/ # App configuration (env variables)
├── db/ # Database client, migrations
│ └── migrations/ # SQL migration files
├── routes/ # HTTP and CLI routing
│ ├── api/ # API sub-routers (auth, devices, subscriptions, episodes)
│ └── cli/ # CLI sub-routers (user management)
├── services/ # Business logic (auth, users, subscriptions, episodes)
├── types/ # Shared TypeScript interfaces
└── main.ts # Application entry point&lt;/code&gt;&lt;/pre&gt;&lt;blockquote class='book-hint note'&gt;
&lt;p&gt;For a full list of available settings, please refer to the &lt;strong&gt;&lt;a href="environment.md"&gt;Environment Variables&lt;/a&gt;&lt;/strong&gt; documentation.&lt;/p&gt;</description></item><item><title/><link>https://podhound.github.io/docs/environment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/environment/</guid><description>&lt;h1 id="configuration--environment-variables"&gt;Configuration / Environment Variables&lt;a class="anchor" href="#configuration--environment-variables"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Podhound is configured entirely via environment variables.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;Variable&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Default Value&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;PORT&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;HTTP port the server listens on&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;8080&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;DATABASE_PATH&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Path to the SQLite database file&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;data/podhound.db&lt;/code&gt; (or &lt;code&gt;/app/data/podhound.db&lt;/code&gt; in Docker)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;AUTO_REGISTER&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Automatically register new users upon first login (&lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;)&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;false&lt;/code&gt; (&lt;code&gt;true&lt;/code&gt; in Docker)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;LOG_LEVEL&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Minimum log level (&lt;code&gt;debug&lt;/code&gt;, &lt;code&gt;info&lt;/code&gt;, &lt;code&gt;warn&lt;/code&gt;, &lt;code&gt;error&lt;/code&gt;, &lt;code&gt;silent&lt;/code&gt;)&lt;/td&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;info&lt;/code&gt; (&lt;code&gt;silent&lt;/code&gt; in test)&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title/><link>https://podhound.github.io/docs/setup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/setup/</guid><description>&lt;h1 id="antennapod-setup-guide"&gt;AntennaPod Setup Guide&lt;a class="anchor" href="#antennapod-setup-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;AntennaPod&lt;/strong&gt; ➔ &lt;strong&gt;Settings&lt;/strong&gt; ➔ &lt;strong&gt;Synchronization&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;gPodder.net&lt;/strong&gt; (or Custom Server) as the provider.&lt;/li&gt;
&lt;li&gt;Enter your server URL: &lt;code&gt;http://&amp;lt;YOUR-SERVER-IP&amp;gt;:8080&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Enter your username and password (on first login, if &lt;code&gt;AUTO_REGISTER&lt;/code&gt; is enabled, Podhound will automatically create your account).&lt;/li&gt;
&lt;li&gt;Done! Your podcast subscriptions and playback positions will now sync seamlessly across devices.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Compatible Clients</title><link>https://podhound.github.io/docs/clients/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/clients/</guid><description>&lt;h1 id="-compatible-podcast-clients"&gt;📱 Compatible Podcast Clients&lt;a class="anchor" href="#-compatible-podcast-clients"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Podhound is compatible with any podcast player that supports the &lt;strong&gt;gPodder API v2&lt;/strong&gt; protocol.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="-antennapod-android"&gt;📱 AntennaPod (Android)&lt;a class="anchor" href="#-antennapod-android"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;AntennaPod&lt;/strong&gt; is an open-source, feature-rich podcast manager for Android with built-in gPodder API v2 support.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Platform:&lt;/strong&gt; Android&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; Open Source (GPLv3)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Downloads:&lt;/strong&gt; &lt;a href="https://play.google.com/store/apps/details?id=de.danoeh.antennapod"&gt;Google Play&lt;/a&gt; | &lt;a href="https://f-droid.org/packages/de.danoeh.antennapod/"&gt;F-Droid&lt;/a&gt; | &lt;a href="https://antennapod.org/"&gt;Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup Guide:&lt;/strong&gt; See our &lt;a href="../setup/"&gt;AntennaPod Setup Guide&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="-gpodder-desktop"&gt;💻 gPodder Desktop&lt;a class="anchor" href="#-gpodder-desktop"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The original cross-platform podcast aggregator.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Platform:&lt;/strong&gt; Windows, macOS, Linux&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; Open Source (GPLv3)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Downloads:&lt;/strong&gt; &lt;a href="https://gpodder.github.io/"&gt;gPodder Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup:&lt;/strong&gt; In gPodder preferences, choose &lt;strong&gt;gPodder.net&lt;/strong&gt;, click &lt;strong&gt;Advanced&lt;/strong&gt;, and set the Custom Server URL to your Podhound server.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="-kasts-kde--linux"&gt;🐧 Kasts (KDE / Linux)&lt;a class="anchor" href="#-kasts-kde--linux"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A modern podcast player for Linux desktop and mobile devices built with Kirigami.&lt;/p&gt;</description></item><item><title>Docker Deployment Guide</title><link>https://podhound.github.io/docs/docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/docker/</guid><description>&lt;h1 id="docker-deployment-guide"&gt;Docker Deployment Guide&lt;a class="anchor" href="#docker-deployment-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Deploy Podhound using Docker or Docker Compose in seconds.&lt;/p&gt;
&lt;blockquote class='book-hint tip'&gt;
&lt;p&gt;Use our &lt;strong&gt;&lt;a href="../../config/"&gt;Interactive Config Generator&lt;/a&gt;&lt;/strong&gt; to generate a custom &lt;code&gt;docker-compose.yml&lt;/code&gt; or &lt;code&gt;docker run&lt;/code&gt; command with 1 click.&lt;/p&gt;&lt;/blockquote&gt;&lt;hr&gt;
&lt;h2 id="option-a-via-docker-run"&gt;Option A: Via &lt;code&gt;docker run&lt;/code&gt;&lt;a class="anchor" href="#option-a-via-docker-run"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Run the container by mapping the HTTP port and persisting the database volume:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --name podhound &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -p 8080:8080 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v podhound_data:/app/data &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -e PORT&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;8080&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -e DATABASE_PATH&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/app/data/podhound.db &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -e AUTO_REGISTER&lt;span style="color:#f92672"&gt;=&lt;/span&gt;true &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --restart unless-stopped &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; skubakh/podhound:latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="option-b-via-docker-composeyml"&gt;Option B: Via &lt;code&gt;docker-compose.yml&lt;/code&gt;&lt;a class="anchor" href="#option-b-via-docker-composeyml"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Create a &lt;code&gt;docker-compose.yml&lt;/code&gt; file:&lt;/p&gt;</description></item><item><title>FAQ &amp; Troubleshooting</title><link>https://podhound.github.io/docs/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://podhound.github.io/docs/faq/</guid><description>&lt;h1 id="-frequently-asked-questions-faq"&gt;❓ Frequently Asked Questions (FAQ)&lt;a class="anchor" href="#-frequently-asked-questions-faq"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Find quick answers to common questions about running, configuring, and maintaining Podhound.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="-how-do-i-connect-antennapod-on-android"&gt;📱 How do I connect AntennaPod on Android?&lt;a class="anchor" href="#-how-do-i-connect-antennapod-on-android"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;AntennaPod&lt;/strong&gt; -&amp;gt; Settings -&amp;gt; Synchronization.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;gPodder.net / Custom Server&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter your Podhound server URL (e.g. &lt;code&gt;http://192.168.1.100:8080&lt;/code&gt; or &lt;code&gt;https://podhound.yourdomain.com&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Enter your username and password.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Log In&lt;/strong&gt; and select your device name.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="-how-do-i-disable-new-user-registrations"&gt;🔒 How do I disable new user registrations?&lt;a class="anchor" href="#-how-do-i-disable-new-user-registrations"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Set the &lt;code&gt;AUTO_REGISTER&lt;/code&gt; environment variable to &lt;code&gt;false&lt;/code&gt; in your Docker or binary setup:&lt;/p&gt;</description></item></channel></rss>