Skip to content

Instantly share code, notes, and snippets.

@emacswatcher
Created July 18, 2018 23:36
Show Gist options
  • Save emacswatcher/c784f43b581d4c3140e87c4a04ed030f to your computer and use it in GitHub Desktop.
Save emacswatcher/c784f43b581d4c3140e87c4a04ed030f to your computer and use it in GitHub Desktop.
# /etc/systemd/system/weechat@.service
[Unit]
Description=Weechat bouncer for user %i
After=network-online.target
[Service]
User=%i
Environment=SOCKET_NAME=%p
Environment=LC_CERT_FILE=/etc/letsencrypt/live/%H/all.pem
Environment=LOCAL_CERT_PATH=/home/%i/.weechat/ssl
Environment=LOCAL_CERT_FILE=relay.pem
Type=forking
Restart=on-failure
PermissionsStartOnly=true
WorkingDirectory=/home/%i
ExecStartPre=/bin/mkdir -p ${LOCAL_CERT_PATH}
ExecStartPre=/bin/cp -f ${LC_CERT_FILE} ${LOCAL_CERT_PATH}/${LOCAL_CERT_FILE}
ExecStartPre=/bin/bash -c '/bin/chown -R --quiet %i: $${LOCAL_CERT_PATH%/*}'
ExecStartPre=/bin/bash -c '/sbin/restorecon -RF $${LOCAL_CERT_PATH%/*}'
ExecStart=/usr/bin/tmux -L ${SOCKET_NAME} new-session -d -s %i weechat
ExecStartPost=/bin/bash -c "echo '*/relay port $(expr 7000 + $(id -u %i))' > /home/%i/.weechat/weechat_fifo_*"
ExecStartPost=/bin/bash -c "echo '*/relay start' > /home/%i/.weechat/weechat_fifo_*"
#ExecStop=/usr/bin/tmux -L ${SOCKET_NAME} kill-session -t %i
ExecReload=/bin/bash -c 'cat < ${LC_CERT_FILE} > ${LOCAL_CERT_PATH}/${LOCAL_CERT_FILE}'
ExecReload=/bin/bash -c "echo '*/relay sslcertkey' > /home/%i/.weechat/weechat_fifo_*"
ExecReload=/bin/bash -c "echo '*/reload' > /home/%i/.weechat/weechat_fifo_*"
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment