This commit is contained in:
Paul Schneider 2026-02-28 14:22:33 +00:00
commit d000f77098
13 changed files with 77 additions and 220 deletions

37
contrib/Makefile Normal file
View file

@ -0,0 +1,37 @@
APP_PROJECTS=src/Org/Org.csproj src/Api/Api.csproj
SLNDIR=..
generated/%.service: template.service %.env .env
envsubst < template.service > $@
copy-service-Org: $(DESTDIR)/etc/systemd/system/Org.service
$(DESTDIR)/etc/systemd/system/%.service: generated/%.service
sudo cp $^ $@
sudo systemctl daemon-reload
build_publish:
for f in $(APP_PROJECTS); do \
ASPNETCORE_ENV=$(CONFIGURATION) dotnet publish $(SLNDIR)/$$f ; \
done
rmep: build_publish
sudo systemctl stop yavsc-api
sudo systemctl stop yavsc-org
for f in Api Org; do
pushd $(SLNDIR)/src/$$prj
SOURCE_DIR=bin/$(CONFIGURATION)/$(DOTNET_FRAMEWORK)/publish/
mv $(SOURCE_DIR)/appsettings.json $(SOURCE_DIR)/appsettings.new.json
sudo cp -a $(SOURCE_DIR)/* $(DESTDIR)
sudo chown -R $(USER_AND_GROUP) $(DESTDIR)
sudo sync
popd
done
sudo systemctl start yavsc-org
sudo systemctl start yavsc-api
showConfig:
@echo CONFIGURATION: $(CONFIGURATION)
@echo DESTDIR: $(DESTDIR)
reinstall: copy-service-Org copy-service-Api rmep

View file

@ -1,8 +0,0 @@
#!/bin/sh
dnx gen controller -async -outDir ApiControllers -api -dc ApplicationDbContext -m "$1" -name "$2ApiController"
# dnx gen controller -outDir Controllers -dc ApplicationDbContext -udl -m {model} -name {name}Controller
# dnx gen controller -outDir Controllers -dc ApplicationDbContext -udl -m Yavsc.Models.Booking.MusicianSettings -name InstrumentationController -async -scripts

View file

@ -1,8 +0,0 @@
#!/bin/sh
dnx gen controller -async -udl -outDir Controllers -dc ApplicationDbContext -m "$1" -name "$2Controller"
# dnx gen controller -outDir Controllers -dc ApplicationDbContext -udl -m {model} -name {name}Controller
# dnx gen controller -outDir Controllers -dc ApplicationDbContext -udl -m Yavsc.Models.Booking.MusicianSettings -name InstrumentationController -async -scripts

View file

@ -1,12 +0,0 @@
#!/bin/bash
# Dnx command for this web app
NAME=[myWebAppName]
# root path to the server assets
ROOT=[/srv/www/[myRootDir]]
# relative path to the project source tree,
# from the above root path
PROJECT=[approot/src/[projectName]]

View file

@ -1,5 +1,5 @@
[Unit]
Description=Yavsc
Description=yavsc-$APP_NAME
After=syslog.target
After=network.target
@ -11,17 +11,17 @@ RestartSec=5s
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/srv/www/yavsc/
ExecStart=/srv/www/yavsc/Yavsc
WorkingDirectory=$DESTDIR
ExecStart=$DESTDIR/$APP_NAME
Restart=always
Environment="HOME=/srv/www/yavsc"
Environment="HOME=$DESTDIR"
Environment="ASPNETCORE_ENVIRONMENT=Production"
Environment="ASPNETCORE_ConnectionStrings__DefaultConnection=YOUR Postgresql CONNECTION STRING"
Environment="ASPNETCORE_ConnectionStrings__YavscConnection=Server=$YAVSC_CONNECTION_HOST;Port=$YAVSC_CONNECTION_PORT;Database=$YAVSC_CONNECTION_DATABASE;Username=$YAVSC_CONNECTION_USERNAME;Password=$YAVSC_CONNECTION_PASSWORD;"
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=yavsc
SyslogIdentifier=$APP_NAME
[Install]
WantedBy=multi-user.target

View file

@ -1,111 +0,0 @@
#!/bin/bash
### BEGIN INIT INFO
# Provides: yavsc
# Required-Start: $local_fs $network $named $time $syslog $postgresql
# Required-Stop: $local_fs $network $named $time $syslog $postgresql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Script to run yavsc
### END INIT INFO
# Author: Ivan Derevianko aka druss <drussilla7@gmail.com>
# Modified by: Paul Schneider <redienhcs.luap@gmail.com>
. /lib/init/vars.sh
. /lib/lsb/init-functions
NAME=yavsc
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
TMP_SAVE_runlevel_VAR=$runlevel
unset runlevel
running() {
if [ -f $PIDFILE ]
then
PID=$(cat $PIDFILE)
if kill -0 $PID 2>/dev/null
then
return 0
fi
fi
return 1
}
export WWW_USER=www-data
export ROOT=/srv/www/${NAME}
export DESC="$NAME"
export PIDFILE=/var/run/kestrel-${NAME}.pid
export LOGDIR=/var/log
export DOTNET_CLI_HOME=$ROOT
export ASPDOTNETCORE_ENVIRONMENT=Production
export ASPDOTNETCORE_LOGLEVEL=Information
status() {
if running;
then
echo "Service running $DESC ($NAME; pid: $PID)"
else
echo "Service stopped $DESC ($NAME)"
fi
echo WWW_USER: $WWW_USER ROOT:$ROOT DESC: $DESC NAME: $NAME PIDFILE: $PIDFILE LOGDIR=$LOGDIR
}
start() {
if running; then
echo "Service already running $DESC" "$NAME"
log_end_msg 0
else
cd $ROOT
sleep 4
log_daemon_msg "Starting service $NAME for user $WWW_USER"
if ! start-stop-daemon -SbmCv -u $WWW_USER -p $PIDFILE -d $ROOT -g www-data -x yavsc > "${LOGDIR}/kestrel-${NAME}.log"
then
log_daemon_msg "Could not start $NAME : $?, see ${LOGDIR}/kestrel-${NAME}.log"
log_end_msg 2
else
log_daemon_msg "Service $DESC started ($NAME), logs: ${LOGDIR}/kestrel-${NAME}.log"
log_end_msg 0
fi
fi
}
stop() {
if running
then
log_daemon_msg "Stopping service $NAME"
start-stop-daemon -K -p "$PIDFILE"
log_daemon_msg "$DESC stopped"
log_end_msg 0
else
log_daemon_msg "$DESC Service not running"
log_end_msg 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac
export runlevel=$TMP_SAVE_runlevel_VAR