~andrewzah/gollum-basic-auth

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

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~andrewzah/gollum-basic-auth
read/write
git@git.sr.ht:~andrewzah/gollum-basic-auth

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. andrew: 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.

Sample :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

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 \
  andrewzah/gollum

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

docker-compose

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: bash 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.

License

MIT License