204 lines
6.7 KiB
Markdown
204 lines
6.7 KiB
Markdown
## indy-wp - staging an indymedia wordpress site on docker for development
|
||
|
||
**Independent Media Center** – a ready‑to‑run WordPress codebase that recreates the archived [indymedia.org](https://web.archive.org/web/*/indymedia.org).
|
||
The stack runs inside Docker and pulls all required plugins via Composer.
|
||
|
||
## Indy WordpressP on Docker
|
||
|
||
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
|
||
|
||
Other indymedia open code projects:
|
||
https://unite.openworlds.info/indymedia
|
||
|
||
About security:
|
||
This code does not, as of now, contain security modifications.
|
||
Wordpress usually runs with internal logs which are to be considered unsafe. This code needs to be modified to run safely on a server.
|
||
Plugins on wordpress are also a vector of potencial attack.
|
||
|
||
If you are able to modify the code, or have any other ideas, join the Open Media Network project:
|
||
https://unite.openworlds.info/indymedia
|
||
|
||
Contribute:
|
||
https://unite.openworlds.info/indymedia/indy-wp
|
||
|
||
Wiki:
|
||
https://unite.openworlds.info/indymedia/indy-wp/wiki
|
||
|
||
Issues:
|
||
https://unite.openworlds.info/indymedia/indy-wp/issues
|
||
|
||
## Alternatives!
|
||
This is an experimental codebase, for development purposes.
|
||
|
||
There are several alternatives for hosting indymedia websites, created by indymedia collectives.
|
||
See:
|
||
|
||
- IMC Press
|
||
https://0xacab.org/imcpress
|
||
|
||
- Oscailt CMS
|
||
http://www.indymedia.ie/oscailt/
|
||
https://sourceforge.net/projects/oscailt/
|
||
|
||
- Epycion
|
||
https://unite.openworlds.info/indymedia/epicyon
|
||
|
||
- Drupal
|
||
https://linksunten.indymedia.org/de/node/770/index.html
|
||
|
||
- Indybay
|
||
https://gitlab.com/indybay
|
||
|
||
- MIR
|
||
https://web.archive.org/web/20050308225521/http://mir.indymedia.de/en/2001/08/5.shtml
|
||
https://web.archive.org/web/20080512092418/http://mir.indymedia.org/
|
||
|
||
- Active
|
||
https://web.archive.org/web/20050308055010/http://www.active.org.au/doc/
|
||
|
||
- IMC Slash
|
||
https://sourceforge.net/projects/indymedia/
|
||
|
||
- Sandstorm
|
||
https://sstorm.sourceforge.net/
|
||
|
||
- Dada IMC
|
||
https://web.archive.org/web/20020910064521/http://docs.indymedia.org/twiki/bin/view/Devel/DadaImc
|
||
|
||
|
||
|
||
|
||
**Features**
|
||
|
||
Newswire – Publish and aggregate short news items.
|
||
Open Publishing – Front‑end submission for articles, podcasts, and videos.
|
||
Media Archive – Store and browse images, audio, and video with searchable metadata.
|
||
|
||
|
||

|
||
|
||
|
||
**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 – Privacy‑friendly 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 – Front‑end post submission handling.
|
||
Source: https://wordpress.org/plugins/frontend-post-submission-manager-lite/
|
||
- indieweb – IndieWeb micro‑formats, 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 paste‑bin functionality.
|
||
Source: https://wordpress.org/plugins/safe-paste/
|
||
- syndication-links – Auto‑generates 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 – Page‑caching to improve performance.
|
||
Source: https://wordpress.org/plugins/wp-super-cache/
|
||
|
||
|
||
---
|
||
|
||
### Get it running in three steps
|
||
|
||
1. **Clone the repository**
|
||
|
||
git clone https://codeberg.org/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, WP‑CLI, and copies your custom theme. |
|
||
| **composer.json / composer.lock** | Lists the 18 plugins (WPackagist mirror) that are installed into `wp-content/plugins/`. |
|
||
| **indy‑wp** | Indymedia custom theme (built and ready to use). |
|
||
| **config/php.ini** | Optional PHP tweaks (upload limits, memory, etc.). |
|
||
| **docker‑compose.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. Re‑build the image (step 2 above).
|
||
Composer will fetch the new versions and place them in the image.
|
||
|
||
---
|
||
|
||
### About
|
||
|
||
The core theme is **Twenty Twenty‑Five**, licensed under **GPL v2 or later**.
|
||
All other code in this repository is also distributed under the GPL v2+ (see individual plugin licenses).
|
||
|
||
|
||
---
|
||
### Contributing
|
||
|
||
1. Fork the repo.
|
||
2. Make your changes (code, docs, plugin list, etc.).
|
||
3. Submit a pull request.
|
||
---
|
||
|
||
|