6 Commits

4 changed files with 67 additions and 3 deletions

View File

@ -2,6 +2,11 @@
> Self-hosted Docker web app for browsing, playing & practicing interactive full-band music notation, with an extensive plugin system
Preinstalled plugins:
- Find More
- NAM Tone Engine
- Note Detection
<!-- metadata -->
* **Category**: Apps
@ -17,8 +22,7 @@
## Quick start
* `abra app new slopsmith --secrets`
* `abra app config <app-name>`
* `abra app new slopsmith`
* `abra app deploy <app-name>`
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).

View File

@ -1,2 +1,3 @@
# Set any config versions here
# Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs
export APP_ENTRYPOINT_VERSION=v4

48
app-entrypoint.sh.tmpl Normal file
View File

@ -0,0 +1,48 @@
#!/bin/sh
set -eu
apt-get update && apt-get install -y --no-install-recommends git
clone_or_checkout() {
REPO_URL="$1"
REVISION="$2"
TARGET_DIR="$3"
if [ ! -d "$TARGET_DIR/.git" ]; then
echo "Cloning $REPO_URL into $TARGET_DIR"
git clone --depth=1 "$REPO_URL" "$TARGET_DIR"
else
echo "Repository already exists at $TARGET_DIR"
fi
cd "$TARGET_DIR"
# Fetch the target revision if it is not already available
if ! git cat-file -e "${REVISION}^{commit}" 2>/dev/null; then
echo "Fetching revision $REVISION"
git fetch --depth=1 origin "$REVISION"
fi
echo "Checking out $REVISION"
git checkout --force "$REVISION"
cd - >/dev/null
}
clone_or_checkout \
"https://github.com/byrongamatos/slopsmith-plugin-notedetect.git" \
"c6d69e04c49410b186466bc895d7b4b2bd3add0a" \
"/app/plugins/slopsmith-plugin-notedetect"
clone_or_checkout \
"https://github.com/byrongamatos/slopsmith-plugin-nam-tone.git" \
"9bc981220635686ca2bcee8e65b990472cdb1037" \
"/app/plugins/slopsmith-plugin-nam-tone"
clone_or_checkout \
"https://github.com/masc0t/slopsmith-plugin-find-more.git" \
"e726c5b0e36d85f43994b216265331c8e370d9e1" \
"/app/plugins/slopsmith-plugin-find-more"
python main.py

View File

@ -14,6 +14,11 @@ services:
- DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
networks:
- proxy
configs:
- source: app_entrypoint
target: /app/app-entrypoint.sh
mode: 0555
entrypoint: ["/app/app-entrypoint.sh"]
deploy:
restart_policy:
condition: on-failure
@ -33,7 +38,7 @@ services:
# - "traefik.http.middlewares.${STACK_NAME}-redirectscheme.redirectscheme.scheme=https"
# - "traefik.http.middlewares.${STACK_NAME}-redirectscheme.redirectscheme.permanent=true"
## When you're ready for release, run "abra recipe sync <name>" to set this
- "coop-cloud.${STACK_NAME}.version="
- "coop-cloud.${STACK_NAME}.version=0.1.0+0.2.9-alpha.4"
## Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore
# - "backupbot.backup=true"
# - "backupbot.backup.path=/some/path"
@ -51,3 +56,9 @@ volumes:
networks:
proxy:
external: true
configs:
app_entrypoint:
name: ${STACK_NAME}_app_entrypoint_${APP_ENTRYPOINT_VERSION}
file: app-entrypoint.sh.tmpl
template_driver: golang