selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

opodsync logo

Self-host opodsync

0.6.0

Minimalist GPodder-compatible podcast sync server

BetaOpen SourceAGPL-3.0
Updated11 hours ago
LanguagePHP
Setup difficultyModerate
Stars
330
Requires
PHP, SQLite3

What is opodsync?

oPodSync is a lightweight podcast sync server you host yourself. It speaks the GPodder and NextCloud gPodder Sync APIs so apps like AntennaPod, gPodder, Kasts, PinePods, Music Assistant and Rhythmbox can keep subscriptions, play positions and download status in sync across devices. Data lives in a SQLite database (JSON1 extension required) and the code runs on PHP 7.4 or newer behind Apache, Nginx or Caddy. Community Docker images exist but are not official. The first visitor can register an account; afterwards registration is closed unless the admin enables it. A simple web UI shows your subscriptions and history, and an optional cron job can pull feed metadata. Licensed AGPL-3.0.

Should you self-host opodsync?

opodsync scores 46/100 on selfhost.directory (how scoring works) and ranks #8 of 18 in Podcasts. It has 330 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is AGPL-3.0-licensed and written mostly in PHP.

Its closest alternative on selfhost.directory is Pinepods (61/100, 1 032 stars). It scores higher overall, so compare the two before you pick. See opodsync vs Pinepods side by side.

Features

  • Device synchronization
  • Feed metadata fetching
  • gpodder API compatibility
  • KaraDAV Integration
  • NextCloud gPodder Sync API
  • OPML Import/Export
  • Self-registration
  • Subscription history tracking
  • Web Interface

opodsync README

How to configure opodsync

  • BASE_URLauto-detectedURL where the server is hosted (auto-detected if not set)

    URL where the server is hosted (auto-detected if not set)

    values: URL string

  • CACHE_ROOTDATA_ROOT/cachePath of directory where cache will be stored

    Path of directory where cache will be stored

    values: path string

  • DATA_ROOTROOT/dataPath of directory where data will be stored

    Path of directory where data will be stored

    values: path string

  • DB_FILEDATA_ROOT/data.sqliteSQLite3 database file path

    SQLite3 database file path

    values: path string

  • DEBUG_LOGDATA_ROOT/debug.logFile to log API calls for development

    File to log API calls for development

    values: path string or null

  • DISABLE_USER_METADATA_UPDATEfalseForbid users from updating feed metadata to reduce server load

    Forbid users from updating feed metadata to reduce server load

    values: true/false

  • ENABLE_SUBSCRIPTIONSfalseOpen subscriptions to anyone (true) or close after first account (false)

    Open subscriptions to anyone (true) or close after first account (false)

    values: true/false

  • ERRORS_EMAILEmail address to send PHP errors to

    Email address to send PHP errors to

    values: email string or null

  • ERRORS_LOGDATA_ROOT/error.logFile to log PHP errors

    File to log PHP errors

    values: path string

  • ERRORS_REPORT_URLErrbit/Airbrake compatible API endpoint for error reports

    Errbit/Airbrake compatible API endpoint for error reports

    values: URL string or null

  • ERRORS_SHOWtrueShow PHP error details to users

    Show PHP error details to users

    values: true/false

  • KARADAV_URLnull (disabled)URL of external KaraDAV server to use oPodSync as an app inside KaraDAV

    URL of external KaraDAV server to use oPodSync as an app inside KaraDAV

    values: URL string with API key

  • SQLITE_JOURNAL_MODETRUNCATESQLite3 journaling mode (TRUNCATE or WAL)

    SQLite3 journaling mode (TRUNCATE or WAL)

    values: TRUNCATE/WAL

  • TITLEMy oPodSync serverInstance name displayed in the UI

    Instance name displayed in the UI

    values: string

opodsync releases & version history

More in Podcasts

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…