1
0

8 Commits 03375c3097 ... d4aa60a4f5

Autor SHA1 Nachricht Datum
  Lukas Angerer d4aa60a4f5 Delayed service restart to avoid hammering the logs with errors vor 8 Monaten
  Lukas Angerer 2ff5947aa3 Explicitly using ARM32 build for running on musicbox Raspberry Pi vor 8 Monaten
  Lukas Angerer 6d55a30eea Running cron trigger scripts in situ vor 8 Monaten
  Lukas Angerer ae1c83df00 Added missing cron trigger scripts vor 8 Monaten
  Lukas Angerer a9f83e882a Setting executable flag on mopidy init script vor 8 Monaten
  Lukas Angerer 5d61803d90 Update to .NET 9 vor 1 Jahr
  Lukas Angerer 03375c3097 Setting executable flag on mopidy init script vor 8 Monaten
  Lukas Angerer 5b66b9785e Update to .NET 9 vor 1 Jahr

+ 1 - 0
.gitignore

@@ -1,3 +1,4 @@
+*.log
 *.swp
 *.*~
 project.lock.json

+ 3 - 3
Dockerfile

@@ -1,11 +1,11 @@
 #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
 
-FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
+FROM mcr.microsoft.com/dotnet/aspnet:9.0-bookworm-slim AS base
 WORKDIR /app
 EXPOSE 80
 EXPOSE 443
 
-FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:9.0-bookworm-slim AS build
 WORKDIR /src
 COPY ["CronAlarm/CronAlarm.csproj", "CronAlarm/"]
 RUN dotnet restore "CronAlarm/CronAlarm.csproj"
@@ -19,4 +19,4 @@ RUN dotnet publish "CronAlarm.csproj" -c Release -o /app/publish
 FROM base AS final
 WORKDIR /app
 COPY --from=publish /app/publish .
-ENTRYPOINT ["dotnet", "CronAlarm.dll"]
+ENTRYPOINT ["dotnet", "CronAlarm.dll"]

+ 1 - 1
data/settings.json

@@ -3,7 +3,7 @@
     "BaseUri": "http://172.17.0.1:5000"
   },
   "Alerts": {
-    "Command": "/home/pi/mpc-alarm-cron.sh",
+    "Command": "/home/pi/projects/CronAlarm/scripts/mpc-alarm-cron.sh",
     "Groups": [
       {
         "Name": "Weekdays",

+ 2 - 2
docker-compose.yml

@@ -1,11 +1,11 @@
 version: "2.0"
 services:
   web:
-    image: executry/cronalarm:latest
+    image: executry/cronalarm:arm32
     build:
       context: .
       dockerfile: ./Dockerfile
     ports:
-      - "7080:80"
+      - "7080:8080"
     volumes:
       - ./data:/app/wwwroot/data

+ 9 - 0
scripts/mpc-alarm-cron.sh

@@ -0,0 +1,9 @@
+#!/bin/bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null 2>&1 && pwd )"
+LOG="$DIR/mpc-alarm.log"
+
+date -Iseconds >> $LOG
+$DIR/mpc-alarm.sh >> $LOG 2>&1
+echo "" >> $LOG
+

+ 15 - 0
scripts/mpc-alarm.sh

@@ -0,0 +1,15 @@
+#!/bin/bash
+
+mpc --quiet volume 0
+sleep 1
+
+mpc play
+
+for i in {10..70}
+do
+	mpc --quiet volume $i
+	sleep 0.5
+done
+
+echo "wakeup sequence complete"
+

+ 1 - 0
service-units/cron-alarm.service

@@ -6,6 +6,7 @@ Description=CronAlarm Web UI
 
 [Service]
 Restart=always
+RestartSec=10
 # Shutdown container (if running) when unit is stopped
 ExecStartPre=/usr/bin/docker compose -f %h/projects/CronAlarm/docker-compose.yml down -v
 # Start container when unit is started

+ 1 - 0
service-units/cron-api.service

@@ -4,6 +4,7 @@ Description=CronAlarm Host API
 [Service]
 Type=simple
 Restart=always
+RestartSec=10
 ExecStart= %h/projects/CronAlarm/scripts/cron-api.py
 
 # Hardening

+ 1 - 0
service-units/mopidy.service

@@ -4,6 +4,7 @@ Description=Mopidy Server
 [Service]
 Type=simple
 Restart=always
+RestartSec=10
 ExecStart= %h/projects/CronAlarm/scripts/mopidy-init.sh
 
 # No hardening since Mopidy has to load plugins and such