diff --git a/distrib/systemd/oragono.service b/distrib/systemd/oragono.service new file mode 100644 index 00000000..6af6ad6f --- /dev/null +++ b/distrib/systemd/oragono.service @@ -0,0 +1,19 @@ +[Unit] +Description=oragono +After=network.target +# If you are using MySQL for history storage, comment out the above line +# and uncomment these two instead: +# Requires=mysql.service +# After=network.target mysql.service + +[Service] +Type=simple +User=oragono +WorkingDirectory=/home/oragono +ExecStart=/home/oragono/oragono run --conf /home/oragono/ircd.yaml +ExecReload=/bin/kill -HUP $MAINPID +Restart=on-failure +LimitNOFILE=1048576 + +[Install] +WantedBy=multi-user.target diff --git a/docs/MANUAL.md b/docs/MANUAL.md index 8f8fd901..7da3c2c5 100644 --- a/docs/MANUAL.md +++ b/docs/MANUAL.md @@ -22,6 +22,7 @@ _Copyright © Daniel Oaks , Shivaram Lingamneni /`). -3. Here are how the config file keys map to LE files: - - `cert: tls.crt` is `live//fullchain.pem` - - ` key: tls.key` is `live//privkey.pem` -4. You may need to copy the `pem` files to another directory so Oragono can read them, or similarly use a script like [this one](https://github.com/darwin-network/slash/blob/master/etc/bin/install-lecerts) to automagically do something similar. -5. By default, `certbot` will automatically renew your certificates. Oragono will only reread certificates when it is restarted, or during a rehash (e.g., on receiving the `/rehash` command or the `SIGHUP` signal). You can add an executable script to `/etc/letsencrypt/renewal-hooks/post` that can perform the rehash. Here's one example of such a script: - -```bash -#!/bin/bash -pkill -HUP oragono -``` - -The main issues you'll run into are going to be permissions issues. This is because by default, certbot will generate certificates that non-root users can't (and probably shouldn't) read. If you run into trouble, look over the script in step **4** and/or make sure you're copying the files to somewhere else, as well as giving them correct permissions with `chown`, `chgrp` and `chmod`. - -On other platforms or with alternative ACME tools, you may need to use other steps or the specific files may be named differently. +IRC has traditionally been available over both plaintext (on port 6667) and SSL/TLS (on port 6697). We recommend that you make your server available exclusively via TLS, since exposing plaintext access allows for unauthorized interception or modification of user data or passwords. The default config file no longer exposes a plaintext port, so if you haven't modified your `listeners` section, you're good to go. +For a quickstart guide to obtaining valid TLS certificates from Let's Encrypt, see the "productionizing" section of the manual above. ## How can I "redirect" users from plaintext to TLS?