diff --git a/conf/uwsgi-app@.service b/conf/uwsgi-app@.service deleted file mode 100644 index f61228d..0000000 --- a/conf/uwsgi-app@.service +++ /dev/null @@ -1,20 +0,0 @@ -[Unit] -Description=%i uWSGI app -After=syslog.target - -[Service] -RuntimeDirectory=%i -ExecStart=/usr/bin/uwsgi \ - --ini /etc/uwsgi/apps-available/%i.ini \ - --socket /var/run/%i/app.socket \ - --logto /var/log/uwsgi/%i/%i.log -User=%i -Group=www-data -Restart=on-failure -KillSignal=SIGQUIT -Type=notify -StandardError=syslog -NotifyAccess=all - -[Install] -WantedBy=multi-user.target diff --git a/conf/uwsgi-app@override.service b/conf/uwsgi-app@override.service new file mode 100644 index 0000000..eac7a8f --- /dev/null +++ b/conf/uwsgi-app@override.service @@ -0,0 +1,2 @@ +[Unit] +After=mysql.service diff --git a/scripts/_common.sh b/scripts/_common.sh index 6d7e3bb..d8fdb5a 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -6,7 +6,28 @@ ynh_check_global_uwsgi_config () { uwsgi --version || ynh_die "You need to add uwsgi (and appropriate plugin) as a dependency" - cp ../conf/uwsgi-app@.service /etc/systemd/system/uwsgi-app@.service + cat >> /etc/systemd/system/uwsgi-app@.service < uwsgi-app@app` @@ -70,6 +94,11 @@ ynh_add_uwsgi_service () { chown $app:root /var/log/uwsgi/$app chmod -R u=rwX,g=rX,o= /var/log/uwsgi/$app + # Setup specific Systemd rules if necessary + test -e ../conf/uwsgi-app@override.service && \ + mkdir /etc/systemd/system/uwsgi-app@$app.service.d && \ + cp ../conf/uwsgi-app@override.service /etc/systemd/system/uwsgi-app@$app.service.d/override.conf + systemctl daemon-reload systemctl stop "uwsgi-app@$app.service" systemctl enable "uwsgi-app@$app.service" @@ -91,5 +120,6 @@ ynh_remove_uwsgi_service () { ynh_secure_remove "$finaluwsgiini" ynh_secure_remove "/var/log/uwsgi/$app" + ynh_secure_remove "/etc/systemd/system/uwsgi-app@$app.service.d" fi }