indy-wp/README.md

141 lines
5.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## indy-wp - indymedia codebase on wordpress
**Independent Media Center** a readytorun WordPress codebase that recreates the archived[indymedia.org](https://web.archive.org/web/*/indymedia.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.
![Indymedia on Wordpress](https://codeberg.org/radioparalelo/indy-wp-theme/raw/branch/main/screenshot.png)
**Included Plugins**
When you build this project the plugins below are fetched from WPackagist (a Composer mirror of the WordPress.org plugin directory) and installed.
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/
---
### Get it running in three steps
1. **Clone the repository**
git clone https://github.com/RadioParalelo/indy-wp.git indymedia-wp
cd indymedia-wp
3. **Build the Docker image**
docker build -t indymedia:test .
4. **Start the container**
docker compose up --build -d
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** | Indymedia custom theme (built and ready to use). |
| **config/php.ini** | Optional PHP tweaks (upload limits, memory, etc.). |
| **dockercompose.yml** | Docker 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.:
```json
"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 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).
The theme repository is available at:
https://codeberg.org/radioparalelo/indy-wp-theme
This repository is mirrored at:
https://unite.openworlds.info/indymedia/indy-wp
Support the indymedia network being rebuilt:
https://unite.openworlds.info/indymedia
---
### Contributing
1. Fork the repo.
2. Make your changes (code, docs, plugin list, etc.).
3. Submit a pull request.
---