This container provides Ikiwiki with:
- Actiontabs theme
- Some useful default plugins
- Config of useful options via environment variables
- Import of an initial git repo with content
- Update content via git + SSH using key auth
For a better idea see the wiki setup script.
This Docker image is intended to be used with:
Other reverse-proxies could be used, but SSL is assumed!
$ docker pull abopen/ikiwiki
- VIRTUAL_HOST
- WIKI_NAME
- ADMIN_EMAIL
- ADMIN_USER
- LOCKED_PAGES
Note that the admin user can be created after the wiki is set up.
Set a variable to any value, e.g. yes
, to activate.
- RSS
- ATOM
- SEARCH
- LOGO (expects a logo to be at
images/logo.png
)
- NO_DISCUSSION
- NO_EDIT
- NO_RECENTCHANGES
- NO_CGI (editing via git only and no preferences link in the UI)
Any custom templates should be placed in templates/
in wikivol.
A custom page template is provided that configures a site logo.
Setting environment variable LOGO
configures this to be used.
This creates symlink page.tml
-> page.tmpl.LOGO
.
A PNG file must be present at images/logo.png
in the content
git repository.
First volume is a bind mount to an existing working copy git repo.
If starting out with new content, initialise a repo with git init
.
$ docker run \
--name ikiwiki \
-v /path/to/repo:/import \
-v wikivol:/wiki \
-d \
-e VIRTUAL_HOST=domain.wiki \
-e LETSENCRYPT_HOST=domain.wiki \
-e WIKI_NAME=myWiki \
-p 80 \
-p 2222:22 \
abopen/ikiwiki
Once you have a container with wiki content being managed via the web interface and/or git+SSH, you no longer need the bind mount to /import.
$ docker run \
--name ikiwiki \
-v wikivol:/wiki \
-d \
-e VIRTUAL_HOST=domain.wiki \
-e LETSENCRYPT_HOST=domain.wiki \
-e WIKI_NAME=myWiki \
-p 80 \
-p 2222:22 \
abopen/ikiwiki
Copy authorized_keys into the wiki volume.
$ docker cp authorized_keys wikivol:authorized_keys
Clone the repo as www-data
and using the appropriate port, e.g.:
$ $ git clone ssh://[email protected]:2222/wiki/wiki.git myWiki
Make changes, commit and push.
This container is based in part on: