Skip to content
Containerized MediaWiki parsoid service
Branch: master
Clone or download
Pull request Compare This branch is 53 commits ahead of pastakhov:master.

MediaWiki Parsoid with Docker

Docker Pulls Build Status

This repo contains a Docker image to run the Parsoid application. See the full Parsoid/Setup documentation for help.

Versions available

thenets/parsoid:0.8, thenets/parsoid:0.9, thenets/parsoid:0.10

What Is Included?

  • Alpine
  • Parsoid

How to deploy

To start Parsoid run the command below. Just pay attention to the MediaWiki version and choose a compatible Parsoid version.

# For MediaWiki <= 1.30
docker run -d -p 8080:8000 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.8

# For MediaWiki >= 1.31
docker run -d -p 8080:8000 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.10


How to add more than one domain:

docker run -d -p 8080:8000 \
            -e PARSOID_DOMAIN_foobar= \
            -e PARSOID_DOMAIN_example= \
            -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php \

How to expose on a specific port: (You can use arbitrary port numbers which are not already in use)

# Expose port 8081
docker run -d -p 8081:8000 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.10

# Expose port 8142
docker run -d -p 8142:8000 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.10

Settings (ENV vars)

  • PARSOID_DOMAIN_{domain} defines URI and domain for the Parsoid service. The value of {domain} should be the same as the MW_REST_DOMAIN parameter in the MediaWiki web container. You can specify such variables multiple times (one for each domain the service should run for)
  • PARSOID_NUM_WORKERS defines the number of worker processes to the parsoid service. Set to 0 to run everything in a single process without clustering. Use ncpu to run as many workers as there are CPU units.
  • PARSOID_LOGGING_LEVEL by default info
  • PARSOID_STRICT_SSL by default true [true, false]

For example, the environment variable PARSOID_DOMAIN_web=http://web/w/api.php creates following section in the Parsoid configuration:

    uri: 'http://web/w/api.php'
    domain: 'web'


You can’t perform that action at this time.