indy-wp/README.md

5.5 KiB
Raw Blame History

indymedia

Independent Media Center a readytorun WordPress codebase that recreates the archivedindymedia.org hub.
The stack runs inside Docker and pulls all required plugins via Composer.

Features

Newswire  Publish and aggregate short news items.
Open Publishing  Frontend submission for articles, podcasts, and videos.
Media Archive  Store and browse images, audio, and video with searchable metadata.

Included Plugins

When you run composer install the plugins below are fetched from WPackagist (a Composer mirror of the WordPress.org plugin directory) and installed into wpcontent/plugins/{$name}/.

indymedia/indymedia-wordpress  Core IndyMedia functionality.
activitypub  Federated social publishing (ActivityPub).
    Source: https://wordpress.org/plugins/activitypub/
antispam-bee  Spam protection for comments/forms.
    Source: https://wordpress.org/plugins/antispam-bee/
archiveo-importer-wayback  Import Wayback Machine archives.
    Source: https://wordpress.org/plugins/archiveo-importer-wayback/
easyfonts  Simple font management.
    Source: https://wordpress.org/plugins/easyfonts/
embed-privacy  Privacyfriendly embeds (YouTube, etc.).
    Source: https://wordpress.org/plugins/embed-privacy/
exif-remover  Strips EXIF data from uploaded images.
    Source: https://wordpress.org/plugins/exif-remover/
frontend-post-submission-manager-lite  Frontend post submission handling.
    Source: https://wordpress.org/plugins/frontend-post-submission-manager-lite/
indieweb  IndieWeb microformats, endpoints, webmentions.
    Source: https://wordpress.org/plugins/indieweb/
lh-wayback-machine  Wayback Machine integration.
    Source: https://wordpress.org/plugins/lh-wayback-machine/
og  Adds Open Graph meta tags.
    Source: https://wordpress.org/plugins/og/
pretty-rss-feeds  Cleaner RSS feed output.
    Source: https://wordpress.org/plugins/pretty-rss-feeds/
remove-ip  Anonymizes IP addresses in comments.
    Source: https://wordpress.org/plugins/remove-ip/
safe-paste  Secure pastebin functionality.
    Source: https://wordpress.org/plugins/safe-paste/
syndication-links  Autogenerates syndication links (Twitter, Mastodon, etc.).
    Source: https://wordpress.org/plugins/syndication-links/
unpredictable-image-filenames  Randomizes uploaded image filenames for privacy.
    Source: https://wordpress.org/plugins/unpredictable-image-filenames/
webmention  Webmention support (IndieWeb).
    Source: https://wordpress.org/plugins/webmention/
wp-super-cache  Pagecaching to improve performance.
    Source: https://wordpress.org/plugins/wp-super-cache/

Quick start get it running in three steps

  1. Clone the repository

    git clone https://github.com/RadioParalelo/indymedia.org.git indymedia-wp
    cd indymedia-wp
    
  2. Build the Docker image

    docker build -t indymedia:test .
    
  3. Start the container

    docker run -d \
      --name indymedia \
      -p 8080:80 \
      -v "$(pwd)/wp-data:/var/www/html/wp-content" \
      indymedia:test
    

    Then open http://localhost:8080/wp-admin in a browser, run the WordPress installer, and activate the plugins you need.


What the project contains

Component Description
Dockerfile Builds a clean wordpress:php8.2-apache image, installs Composer, WPCLI, and copies your custom theme.
composer.json / composer.lock Lists the 18 plugins (WPackagist mirror) that are installed into wp-content/plugins/.
indywp/indywp/ Your custom theme (built and ready to use).
config/php.ini Optional PHP tweaks (upload limits, memory, etc.).
dockercompose.yml (optional) Example compose file for a full stack (MySQL, phpMyAdmin, etc.).
README.md This file.

Installing the plugins

After the container is running, open the WordPress admin, go to Plugins → Installed Plugins, and click Activate for each plugin you want.
All plugins are already present in wp-content/plugins/ thanks to composer install that runs during the image build.


Adding or updating plugins

  1. Edit composer.json add or change a package from WPackagist, e.g.:

    "require": {
        "wpackagist-plugin/wp-super-cache": "^2.0",
        "wpackagist-plugin/new-plugin": "^1.2"
    }
    
  2. Rebuild the image (step2 above).
    Composer will fetch the new versions and place them in the image.


About the plugins

Custom muplugins

If you have PHP files that must always run (e.g., security hardening), place them in the local src/ directory before building.
Docker copies everything from src/ into wp-content/mu-plugins/, and WordPress loads them automatically—no activation required.


License

The core theme is Twenty TwentyFive, licensed under GPLv2 or later.
All other code in this repository is also distributed under the GPLv2+ (see individual plugin licenses).


Contributing

  1. Fork the repo.
  2. Make your changes (code, docs, plugin list, etc.).
  3. Submit a pull request.

All contributions are accepted under the same GPL license.


For deeper developer notes, see the docs/ folder.