magdev df3b8a7ec2
All checks were successful
Create Release Package / build-release (push) Successful in 1m0s
feat: Add Prometheus metrics integration
- Add includes/Prometheus/Integration.php with metrics collection
- Expose content, engagement, user, WooCommerce, and ActivityPub metrics
- Add settings toggle in Integrations tab
- Requires WP Prometheus plugin to be active
- Bump version to 0.5.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:46:22 +01:00
2026-01-28 23:23:05 +01:00
2026-01-28 23:23:05 +01:00
2026-01-28 23:23:05 +01:00
2026-01-28 23:23:05 +01:00
2026-01-28 23:23:05 +01:00

WP FediStream

Stream music over ActivityPub - Build your own music streaming platform for Musicians and Labels.

Version PHP WordPress License CI/CD

Description

WP FediStream is a WordPress plugin that enables musicians, bands, and labels to create their own music streaming platform. It leverages the ActivityPub protocol to connect with the Fediverse, allowing artists to share their music with followers across Mastodon, Pixelfed, and other federated platforms.

This project is proudly "vibe-coded" using Claude AI - the entire codebase was created through AI assistance.

Key Features

  • Artist Management - Create profiles for solo artists, bands, duos, and collectives
  • Album/Release Management - Organize music into albums, EPs, singles, and compilations
  • Track Management - Upload and manage individual tracks with full metadata support
  • Playlist Creation - Curate playlists with drag-and-drop track ordering
  • Audio Player - Full-featured player with queue, shuffle, repeat, and volume controls
  • Genre & Mood Taxonomies - Organize music by genre and mood for easy discovery
  • Licensing Options - Support for Creative Commons and traditional copyright
  • ActivityPub Integration - Share releases to the Fediverse with full actor support
  • WooCommerce Integration - Sell music directly from your site with custom product types
  • User Library - Favorites, artist follows, and listening history
  • Notifications - In-app and email notifications for new releases and interactions

Requirements

  • PHP 8.3 or higher
  • WordPress 6.4 or higher
  • Valid license key (required for frontend features)

Optional

License Key

WP FediStream requires a valid license key for frontend functionality (player, shortcodes, ActivityPub). The admin dashboard works without a license, allowing you to configure the plugin before activation.

To obtain a license key, contact the author or purchase from the official website.

Installation

  1. Download the latest release from the Releases page

  2. Upload the ZIP file via Plugins > Add New > Upload Plugin in WordPress admin

  3. Activate the plugin under Plugins > Installed Plugins

  4. Navigate to FediStream > Settings and enter your license key

  5. Start using the plugin via the FediStream admin menu

From Source (Development)

  1. Clone the repository to your WordPress plugins directory:

    cd wp-content/plugins/
    git clone --recurse-submodules https://src.bundespruefstelle.ch/magdev/wp-fedistream.git
    
  2. Install Composer dependencies:

    cd wp-fedistream
    composer install
    
  3. Activate the plugin in WordPress admin under Plugins > Installed Plugins

  4. Navigate to FediStream in the admin menu to get started

Usage

Getting Started

  1. Add Artists - Create profiles for your artists or bands
  2. Create Albums - Set up albums and assign them to artists
  3. Upload Tracks - Add tracks to albums with audio files
  4. Create Playlists - Curate collections of tracks
  5. Share via ActivityPub - Publish releases to the Fediverse and gain followers

Custom Post Types

Post Type Description URL Slug
Artist Musicians, bands, collectives /artists/
Album Albums, EPs, singles, compilations /albums/
Track Individual audio tracks /tracks/
Playlist Curated track collections /playlists/

Taxonomies

Taxonomy Type Description
Genre Hierarchical Music genres (Rock > Indie Rock)
Mood Non-hierarchical Track/playlist moods (Energetic, Calm)
License Hierarchical Copyright and Creative Commons licenses

Shortcodes

Shortcode Description
[fedistream_artist id="123"] Display artist profile
[fedistream_album id="456"] Display album with tracklist
[fedistream_track id="789"] Display track with player
[fedistream_playlist id="101"] Display playlist with tracks
[fedistream_latest_releases] Recent releases grid
[fedistream_popular_tracks] Popular tracks list
[fedistream_player] Audio player widget
[fedistream_library] User library page

User Roles

Role Capabilities
FediStream Artist Manage own content, upload files, view stats
FediStream Label Manage all content, manage taxonomies, view all stats

File Structure

wp-fedistream/
├── assets/
│   ├── css/           # Stylesheets
│   ├── js/            # JavaScript
│   └── images/        # Images
├── includes/
│   ├── ActivityPub/   # ActivityPub integration
│   ├── Admin/         # Admin interface classes
│   ├── Frontend/      # Frontend components
│   ├── PostTypes/     # Custom post type classes
│   ├── Taxonomies/    # Custom taxonomy classes
│   ├── Roles/         # User roles and capabilities
│   ├── User/          # User library and notifications
│   ├── WooCommerce/   # WooCommerce integration
│   ├── Plugin.php     # Main plugin singleton
│   └── Installer.php  # Activation/deactivation
├── languages/         # Translation files
├── templates/         # Twig templates
├── vendor/            # Composer dependencies
├── CHANGELOG.md       # Version history
└── wp-fedistream.php  # Plugin entry point

Releases

Release packages are automatically built via Gitea Actions when a version tag is pushed. Each release includes:

  • Production-ready ZIP package with all dependencies
  • SHA256 checksum for verification
  • Changelog notes extracted from CHANGELOG.md

Download releases from: https://src.bundespruefstelle.ch/magdev/wp-fedistream/releases

Contributing

This project is in early development. Contributions, bug reports, and feature requests are welcome.

License

This project is licensed under the GPL v2 or later.

Author

Marco Graetsch


Built with Claude AI

Description
Enhance Wordpress to create your own Music-Platform using ActivityPub. Suitable for Musicians, Label or similar Professions.
Readme 311 KiB
Release 0.6.0 Latest
2026-02-02 21:55:53 +00:00
Languages
PHP 87.1%
JavaScript 8.1%
CSS 4.8%