Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Was fehlt?

Es liegt in der Natur der Sache: Ein Wiki ist niemals fertig. Wir geben uns große Mühe, mit der Entwicklung Schritt zu halten; lassen Supportanfragen direkt in neue Artikel einfließen … aber auch wir sind nicht perfekt. Wenn du hier nicht fündig wirst: Nicht schmollen - Bescheid sagen! Unter hallo@uberspace.de steht dir unser Team gerne bereit. Hand drauf!

system:collection_of_run_scripts

run-Skripte für die daemontools

Mit der Zeit haben wir schon so einiges an run-Skripten gesehen und bei nicht wenigen mitgeholfen. Auf dieser Seite wollen wir das erworbene Wissen sammeln und allgemein verfügbar machen.

murmur / mumble

Wichtig ist hier der Parameter -fg ohne den murmur in den Hintergrund geht und damit dann nicht richtig unter den daemontools funktioniert.

#!/bin/sh
cd ~/murmur
exec ~/murmur/murmur.x86 -fg -ini ~/murmur/murmur.ini 2>&1

prosody

Hier müssen in der Config die richtigen Einstellungen gesetzt werden. Zunächst muss im Module-Block das Modul posix geladen werden:

modules_enabled = {
                "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
};

Dann muss prosody angewiesen werden sich nicht von dem es kontrollierenden Prozess zu trennen:

daemonize = false; -- IMPORTANT for daemontools! DO NOT EDIT!

Außerdem sollten die Interfaces beschränkt werden, da sich dies sehr positiv auf die Performance und Erreichbarkeit auswirkt:

-- use the IP-addresses of your uberspace here!!
interfaces = { "95.143.172.58" , "2001:1a50:11:0:5f:8f:ac:3a" }

Und schließlich muss es angewiesen werden sich nicht selbst ums Logging zu kümmern, sondern das alles an stdout zu schicken, wo multilog es abgreift:

log = {
        "*console"; -- Log to the console, useful for debugging with daemonize=false -- IMPORTANT for daemontools! DO NOT EDIT!
}

Das run-Skript kann dann so aussehen (wenn prosody nach ~/prosody/ installiert wurde):

#!/bin/sh
 
# These environment variables are sometimes needed by the running daemons
export USER=xmpptest
export HOME=/home/xmpptest
 
# Include the user-specific profile
. $HOME/.bash_profile
 
# Now let's go!
cd $HOME/prosody/
exec $HOME/prosody/bin/prosody 2>&1

ngircd

#!/bin/sh
 
# These environment variables are sometimes needed by the running daemons
export USER=irctest
export HOME=/home/irctest
 
# Include the user-specific profile
. $HOME/.bash_profile
 
# Now let's go!
exec /$HOME/.toast/armed/bin/ngircd --nodaemon 2>&1

btsync

#!/bin/sh
 
# These environment variables are sometimes needed by the running daemons
export USER=btstest
export HOME=/home/$USER
 
# Include the user-specific profile
. $HOME/.bash_profile
 
# Now let's go!
exec $HOME/bin/btsync --nodaemon --config $HOME/bin/btsync.config 2>&1

git-daemon

Von einem unserer User gibt es auch ein run-Skript für git-daemon.

sidekiq

interessant in Verbindung mit gitlab

#!/bin/sh
 
# These environment variables are sometimes needed by the running daemons
export USER= gitlabtest
export HOME=/home/gitlabtest
 
# Include the user-specific profile
. $HOME/.bash_profile
 
export RAILS_ENV="production"
export GITLAB_PATH="$HOME/gitlab"
 
# Now let's go!
cd $GITLAB_PATH/
app_root=$(pwd)
sidekiq_pidfile="$app_root/tmp/pids/sidekiq.pid"
 
exec bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e $RAILS_ENV -P $sidekiq_pidfile 2>&1

unicorn

interessant in Verbindung mit gitlab

#!/bin/sh
 
# These environment variables are sometimes needed by the running daemons
export USER= gitlabtest
export HOME=/home/gitlabtest
 
# Include the user-specific profile
. $HOME/.bash_profile
 
# Now let's go!
export RAILS_ENV="production"
export GITLAB_PATH="$HOME/gitlab"
 
cd $GITLAB_PATH/
app_root=$(pwd)
unicorn_config="$app_root/config/unicorn.rb"
 
exec bundle exec unicorn_rails -c $unicorn_config -E $RAILS_ENV 2>&1

Teamspeak

Dieses Beispiel geht davon aus, dass der Teamspeak-Tarball direkt im Home-Verzeichnis entpackt wurde und teamspeak3-server_linux-amd64 heißt. Bei abweichenden Pfaden muss das natürlich angepasst werden. Der Username aus dem Beispiel muss selbstverständlich immer angepasst werden.

#!/bin/sh
 
# These environment variables are sometimes needed by the running daemons
export USER=foobar
export HOME=/home/foobar
 
# Include the user-specific profile
. $HOME/.bash_profile
 
# Now let's go!
export TSDIR=$HOME/teamspeak3-server_linux-amd64
export LD_LIBRARY_PATH="$TSDIR:$LD_LIBRARY_PATH"
cd $TSDIR
exec ./ts3server_linux_amd64 inifile=ts3server.ini 2>&1
system/collection_of_run_scripts.txt · Zuletzt geändert: 2016/06/06 15:31 von uber