# contributed files This directory is for additional contributed files which may be useful. ## Dockerfile => TREE/contrib/Dockerfile contrib/Dockerfile A sample Dockerfile that builds an alpine linux-based image with a statically linked gmid installed as /bin/gmid. To build the image: ```instructions to build the image # docker build -f contrib/Dockerfile -t gmid . ``` and then run it with something along the lines of: ```instruction to run the image # docker run --rm -it -p 1965:1965 \ -v gmid.conf:/etc/gmid.conf:ro \ -v path/to/keys:/tls:ro \ -v /var/gemini:/var/gemini:ro \ gmid -c /etc/gmid.conf ``` ## gencert => TREE/contrib/gencert contrib/gencert contrib/gencert is a simple script to generate self-signed certificates. ## OpenBSD rc file => TREE/contrib/gmid contrib/gmid contrib/gmid is a sample service file for OpenBSD rc(8). To install it: ```command to install the rc file # cp contrib/gmid /etc/rc.d ``` then the usual ‘rcctl [start|stop|enable|restart] gmid’ are available. ## systemd unit file => TREE/contrib/gmid.service contrib/gmid.service => TREE/contrib/gmid.sysusers contrib/gmid.sysusers A simple service file for systemd. To install it ```instructions to install the system file # cp contrib/gmid.service /etc/systemd/system/gmid.service # systemctl daemon-reload ``` then the usual ‘systemctl [status|start|enable|stop] gmid’ commands can be used to manage the server. Some things to keep in mind: * the ExecStart path may depend on the installation * a ‘gmid’ user needs to be created with systemd-sysusers or useradd: ```how to create a dedicated user # systemd-sysusers contrib/gmid.sysusers or # useradd --system --no-create-home -s /bin/nologin -c "gmid Gemini server" gmid ``` * logs can be inspected with journalctl(1) ```reads gmid logs with journalctl # journalctl -t gmid ``` ## renew certificates automatically => TREE/contrib/renew-certs contrib/renew-certs NB: this script requires features that are currently available only in the master branch. contrib/renew-certs is a script meant to be run in a crontab that watch for certificate expiration. It can optionally renew the certs and restart gmid too. Read the documentation with: perldoc renew-certs ## vim syntax files => TREE/contrib/vim contrib/vim contrib/vim contains a syntax highlighting for vim. To install it, just copy the files to ~/.vim or to /usr/share/vim/vimfiles, e.g.: ```install the vim syntax highlight in your home $ mkdir -p ~/.vim $ cp -R contrib/vim/* ~/.vim/ ``` To enable Syntastic checker, add to your vimrc: ``` let g:syntastic_gmid_checkers = ['gmid'] ``` => vim-screenshot.png Screenshot of vim editing gmid.conf