Installation

De Wiki de Jordan LE NUFF
< Outillage‎ | Mercure
Révision datée du 15 décembre 2021 à 17:28 par Jordan (discussion | contributions) (Page créée avec « ==Page à l'état de brouillon (à finaliser)== <syntaxhighlight lang="bash"> mkdir -p /opt/mercure/{mercure-0.13.0,conf,run,log} useradd -r -s /sbin/nologin -d /opt/mercu… »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

Page à l'état de brouillon (à finaliser)

mkdir -p /opt/mercure/{mercure-0.13.0,conf,run,log}
useradd -r -s /sbin/nologin -d /opt/mercure/conf mercure
usermod -g www mercure
ln -s mercure-0.13.0 /opt/mercure/current
wget https://github.com/dunglas/mercure/releases/download/v0.13.0/mercure_0.13.0_Linux_x86_64.tar.gz
tar -zxf mercure_0.13.0_Linux_x86_64.tar.gz -C /opt/mercure/mercure-0.13.0
cd /opt/mercure/conf
ssh-keygen -t rsa -b 4096 -m PEM -f publisher.key -q -N ""
openssl rsa -in publisher.key -pubout -outform PEM -out publisher.key.pub
ssh-keygen -t rsa -b 4096 -m PEM -f subscriber.key -q -N ""
openssl rsa -in subscriber.key -pubout -outform PEM -out subscriber.key.pub
MERCURE_PUBLISHER_JWT_KEY=$(cat publisher.key.pub|sed 's/$/\\/')
MERCURE_SUBSCRIBER_JWT_KEY=$(cat subscriber.key.pub|sed 's/$/\\/')

cat <<EOF> EnvironmentFile
GLOBAL_OPTIONS="admin :2019"
SERVER_NAME=":2020"
MERCURE_PUBLISHER_JWT_KEY=${MERCURE_PUBLISHER_JWT_KEY}
MERCURE_PUBLISHER_JWT_ALG=RS256
MERCURE_SUBSCRIBER_JWT_KEY=${MERCURE_SUBSCRIBER_JWT_KEY}
MERCURE_SUBSCRIBER_JWT_ALG=RS256
MERCURE_EXTRA_DIRECTIVES="ui"
EOF
chown -R mercure /opt/mercure

cat <<EOF> /etc/systemd/system/mercure.service
[Unit]
Description=Mercure.Rocks service
After=network.target

[Service]
UMask=0007
User=mercure
WorkingDirectory=/opt/mercure/current
EnvironmentFile=/opt/mercure/conf/EnvironmentFile
ExecStart=/opt/mercure/current/mercure run
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
chmod o+r /etc/systemd/system/mercure.service
systemctl daemon-reload