This repo contains a Docker image to run the Parsoid application. See the full Parsoid/Setup documentation for help.
thenets/parsoid:0.8
, thenets/parsoid:0.9
, thenets/parsoid:0.10
, thenets/parsoid:0.11
- Alpine
- Parsoid
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 & <= 1.32
docker run -d -p 8080:8000 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.10
# For MediaWiki >= 1.33
docker run -d -p 8080:8000 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.11
How to add more than one domain:
docker run -d -p 8080:8000 \
-e PARSOID_DOMAIN_foobar=http://foobar.com/w/api.php \
-e PARSOID_DOMAIN_example=http://example.com/w/api.php \
-e PARSOID_DOMAIN_localhost=http://localhost/w/api.php \
thenets/parsoid:0.11
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.11
# Expose port 8142
docker run -d -p 8142:8000 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.11
PARSOID_DOMAIN_{domain}
defines URI and domain for the Parsoid service. The value of{domain}
should be the same as theMW_REST_DOMAIN
parameter in the MediaWiki web container. You can specify such variables multiple times (one for each domain the service should run for). When the{domain}
contains 1 or multiple dot(.) character(s), replace it by underscore character(s), for i.e.: www.mediawiki.org results in the domain part bePARSOID_DOMAIN_www_mediawiki_org
PARSOID_NUM_WORKERS
defines the number of worker processes to the parsoid service. Set to0
to run everything in a single process without clustering. Usencpu
to run as many workers as there are CPU units.PARSOID_LOGGING_LEVEL
by defaultinfo
PARSOID_STRICT_SSL
by defaulttrue
[true
,false
]
For example, the environment variable PARSOID_DOMAIN_web=http://web/w/api.php
creates following section in the Parsoid configuration:
mwApis:
-
uri: 'http://web/w/api.php'
domain: 'web'
- pastakhov: Creator of the original code base.
- muellermartin: Improved the documentation.
- endoodev1: Helped with Kubernetes compatibility.
- sepastian: Added support to
strictSSL
using container ENV.