8 Commits 03375c3097 ... d4aa60a4f5

Author SHA1 Message Date
  Lukas Angerer d4aa60a4f5 Delayed service restart to avoid hammering the logs with errors 10 months ago
  Lukas Angerer 2ff5947aa3 Explicitly using ARM32 build for running on musicbox Raspberry Pi 10 months ago
  Lukas Angerer 6d55a30eea Running cron trigger scripts in situ 10 months ago
  Lukas Angerer ae1c83df00 Added missing cron trigger scripts 10 months ago
  Lukas Angerer a9f83e882a Setting executable flag on mopidy init script 10 months ago
  Lukas Angerer 5d61803d90 Update to .NET 9 1 year ago
  Lukas Angerer 03375c3097 Setting executable flag on mopidy init script 10 months ago
  Lukas Angerer 5b66b9785e Update to .NET 9 1 year ago

+ 1 - 0
.gitignore

@@ -1,3 +1,4 @@
+*.log
 *.swp
 *.swp
 *.*~
 *.*~
 project.lock.json
 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.
 #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
 WORKDIR /app
 EXPOSE 80
 EXPOSE 80
 EXPOSE 443
 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
 WORKDIR /src
 COPY ["CronAlarm/CronAlarm.csproj", "CronAlarm/"]
 COPY ["CronAlarm/CronAlarm.csproj", "CronAlarm/"]
 RUN dotnet restore "CronAlarm/CronAlarm.csproj"
 RUN dotnet restore "CronAlarm/CronAlarm.csproj"
@@ -19,4 +19,4 @@ RUN dotnet publish "CronAlarm.csproj" -c Release -o /app/publish
 FROM base AS final
 FROM base AS final
 WORKDIR /app
 WORKDIR /app
 COPY --from=publish /app/publish .
 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"
     "BaseUri": "http://172.17.0.1:5000"
   },
   },
   "Alerts": {
   "Alerts": {
-    "Command": "/home/pi/mpc-alarm-cron.sh",
+    "Command": "/home/pi/projects/CronAlarm/scripts/mpc-alarm-cron.sh",
     "Groups": [
     "Groups": [
       {
       {
         "Name": "Weekdays",
         "Name": "Weekdays",

+ 2 - 2
docker-compose.yml

@@ -1,11 +1,11 @@
 version: "2.0"
 version: "2.0"
 services:
 services:
   web:
   web:
-    image: executry/cronalarm:latest
+    image: executry/cronalarm:arm32
     build:
     build:
       context: .
       context: .
       dockerfile: ./Dockerfile
       dockerfile: ./Dockerfile
     ports:
     ports:
-      - "7080:80"
+      - "7080:8080"
     volumes:
     volumes:
       - ./data:/app/wwwroot/data
       - ./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]
 [Service]
 Restart=always
 Restart=always
+RestartSec=10
 # Shutdown container (if running) when unit is stopped
 # Shutdown container (if running) when unit is stopped
 ExecStartPre=/usr/bin/docker compose -f %h/projects/CronAlarm/docker-compose.yml down -v
 ExecStartPre=/usr/bin/docker compose -f %h/projects/CronAlarm/docker-compose.yml down -v
 # Start container when unit is started
 # Start container when unit is started

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

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

+ 1 - 0
service-units/mopidy.service

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