Blob


1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>gmid | contrib</title>
5 <meta charset="utf8" />
6 <meta name="viewport" content="width=device-width, initial-scale=1" />
7 <style>
8 body {
9 font-family: monospace;
10 font-size: 14px;
11 max-width: 780px;
12 margin: 0 auto;
13 padding: 20px;
14 padding-bottom: 80px;
15 }
17 h1::before {
18 content: "# ";
19 }
21 h2 {
22 margin-top: 40px;
23 }
25 h2::before {
26 content: "## ";
27 }
29 h3::before {
30 content: "### ";
31 }
33 blockquote {
34 margin: 0;
35 padding: 0;
36 }
38 blockquote::before {
39 content: "> ";
40 }
42 blockquote p {
43 font-style: italic;
44 display: inline;
45 }
47 p.link::before {
48 content: "→ ";
49 }
51 strong::before { content: "*" }
52 strong::after { content: "*" }
54 hr {
55 border: 0;
56 height: 1px;
57 background-color: #222;
58 width: 100%;
59 display: block;
60 margin: 2em auto;
61 }
63 img {
64 border-radius: 5px;
65 }
67 pre {
68 overflow: auto;
69 padding: 1rem;
70 background-color: #f0f0f0;
71 border-radius: 3px;
72 }
74 pre.banner {
75 display: flex;
76 flex-direction: row;
77 justify-content: center;
78 }
80 code, kbd {
81 color: #9d109d;
82 }
84 img {
85 display: block;
86 margin: 0 auto;
87 max-width: 100%;
88 }
90 @media (prefers-color-scheme: dark) {
91 body {
92 background-color: #222;
93 color: white;
94 }
96 a {
97 color: aqua;
98 }
100 hr {
101 background-color: #ddd;
104 pre {
105 background-color: #353535;
108 code, kbd {
109 color: #ff4cff;
113 @media (max-width: 400px) {
114 pre.banner { font-size: 9px; }
117 @media (max-width: 500px) {
118 pre.banner { font-size: 10px; }
120 </style>
121 </head>
122 <body>
123 <header>
124 <nav>
125 <a href="/">Home</a> | contrib | <a href="gmid.1.html">docs</a>
126 </nav>
127 </header>
128 <h1>contrib</h1>
129 <p>
130 This directory is for additional contributed files which may be
131 useful.
132 </p>
133 <p>Contents:</p>
134 <ul>
135 <li><a href="#dockerfile">Dockerfile</a></li>
136 <li><a href="#openbsd-rc">OpenBSD rc file</a></li>
137 <li><a href="#systemd-unit-file">Systemd unit file</a></li>
138 <li><a href="#vim-syntax-files">Vim syntax files</a></li>
139 </ul>
140 <hr />
141 <h2 id="dockerfile">Dockerfile</h2>
142 <p>
143 <a href="https://git.omarpolo.com/gmid/tree/contrib/Dockerfile">
144 <code>contrib/Dockerfile</code></a>
145 is a simple Dockerfile. The resulting image is a classic alpine
146 linux image with a statically linked gmid installed as
147 <code>/bin/gmid</code>.
148 </p>
149 <p>To build the image:</p>
150 <pre># docker build -f contrib/Dockerfile -t gmid .</pre>
151 <p>and then run it with something along the lines of:</p>
152 <pre># docker run --rm -it -p 1965:1965 \
153 -v gmid.conf:/etc/gmid.conf:ro \
154 -v path/to/keys:/tls:ro \
155 -v /var/gemini:/var/gemini:ro \
156 gmid -c /etc/gmid.conf</pre>
157 <h2 id="openbsd-rc">OpenBSD rc file</h2>
158 <p>
159 <a href="https://git.omarpolo.com/gmid/tree/contrib/gmid">contrib/gmid</a>
160 is a sample service file for OpenBSD <code>rc(8)</code>.
161 To install it:
162 </p>
163 <pre># cp contrib/gmid /etc/rc.d</pre>
164 <p>
165 then the usual
166 <code>rcctl [start|stop|enable|restart] gmid</code>
167 are available.
168 </p>
169 <h2 id="systemd-unit-file">Systemd unit file</h2>
170 <p>
171 <a href="https://git.omarpolo.com/gmid/tree/contrib/gmid.service">
172 <code>contrib/gmid.service</code></a>
173 is a simple service file for
174 systemd. To install it:
175 </p>
176 <pre># cp contrib/gmid.service /lib/systemd/system/gmid.service</pre>
177 <p>
178 then the usual
179 <code>systemctl [status|start|enable|stop] gmid</code>
180 commands can be used to manage the server.
181 </p>
182 <p>Some things to keep in mind:</p>
183 <ul>
184 <li>
185 the <code>ExecStart</code> path may depend on the installation.
186 </li>
187 <li>
188 a <code>gmid</code> user needs to be created for e.g. with:
189 <pre># useradd --system --no-create-home -s /bin/nologin -c "gmid Gemini server" gmid</pre>
190 </li>
191 <li>
192 logs can be inspected with <code>journalctl(1)</code>:
193 <pre># journalctl -t gmid</pre>
194 </li>
195 </ul>
196 <h2 id="vim-syntax-files">Vim syntax files</h2>
197 <p>
198 <a href="https://git.omarpolo.com/gmid/tree/contrib/vim">
199 <code>contrib/vim</code></a>
200 contains a syntax highlighting for vim. To install it, just
201 copy the files to <code>~/.vim</code>
202 or <code>/usr/share/vim/vimfiles</code>, e.g.
203 </p>
204 <pre>$ mkdir -p ~/.vim
205 $ cp -R contrib/vim/* ~/.vim/</pre>
206 <p>To enable Syntastic checker, add to your vimrc:</p>
207 <pre>let g:syntastic_gmid_checkers = ['gmid']</pre>
208 <p>The end result is something like this:</p>
209 <a href="vim-screenshot.png">
210 <img src="vim-screenshot.png" alt="Screenshot of vim editing gmid.conf with syntax highlighting" />
211 </a>
212 </body>
213 </html>