Gollum wiki with Basic Auth
Move to ./config, update readme, add git lfs/ports
update readme
initial commit


browse  log 



You can also use your local clone with git send-email.

Gollum wiki with Basic Auth and crontab to push to a git repo.

The docker image is andrewzah/gollum.

User authentication is done by reading a YAML file. Create a users.yml.

  name: Andrew Zah
  email: email@email.com
  pass: password

Turn on bcrypt by setting BCRYPT to true. However live preview takes 10+ seconds to load with bcrypt enabled.

Edit config.yml to your liking. Make sure to put a colon before the names.


:live_preview: false
:universal_toc: true

and generate a cert to add to github/etc. don't use a passphrase.

ssh-keygen -t RSA -b 4096 -C "email@email.com" -f ./id_rsa.pub

If you want to push to git, set GIT_REPO to the ssh url of your repo. Otherwise nothing happens.

The default is to push every 5 minutes. Set GIT_CRONTAB to change this, the default is: */5 * * * *.


docker run \
  --rm \
  -e BCRYPT=false \
  -e GIT_LFS_ENABLED=true \
  -e GIT_HOST=git.yourhost.com \
  -e GIT_PORT=22 \
  -e GIT_REPO=git@git.yourhost.com:username/reponame.git \
  -e GIT_CRONTAB="*/5 * * * *" \
  -v $(realpath ./config/id_rsa):/root/.ssh/id_rsa \
  -v $(realpath ./config/id_rsa.pub):/root/.ssh/id_rsa.pub \
  -v $(realpath ./config/users.yml):/app/config/users.yml \
  -v $(realpath ./config/config.yml):/app/config/config.yml \
  -v $(realpath ./config/ssh-config):/root/.ssh/config \
  -p 4567:4567 \

A ssh-config isn't necessary if you're using the default 22 port.


See docker-compose.yml for a sample.

#git lfs

Git LFS is supported, I think. Due to the way gollum commits pictures once they're uploaded, I don't think it interacts with git lfs correctly. TODO: investigate.

That's why the gitpush.sh script includes:

git diff-index --quiet HEAD -- || \
  git rm -r --cached uploads &&
  git add uploads && git commit -m "Index untracked git LFS files."

If you want lfs, set GIT_LFS_ENABLED to true.


MIT License