From b6d21c2c229109c8e15ff8d587bfa93dc332a092 Mon Sep 17 00:00:00 2001
From: mr-vercetti <87.milewski@gmail.com>
Date: Mon, 10 Feb 2025 22:32:08 +0100
Subject: [PATCH] Update docker compose syntax, move slskd to media stack

---
 docker/mgmt.sh                              | 23 ++++++++++++---------
 docker/stacks/bitwarden/bitwarden.yml       |  4 ++--
 docker/stacks/collabora/collabora.yml       |  4 ++--
 docker/stacks/media/media.yml               | 21 +++++++++++++++++--
 docker/stacks/mrvercetticc/mrvercetticc.yml |  4 ++--
 docker/stacks/nextcloud/nextcloud.yml       |  4 ++--
 docker/stacks/slskd/slskd.yaml              | 17 ---------------
 docker/stacks/softdev/softdev.yml           |  4 ++--
 docker/stacks/widmocc/widmocc.yml           |  4 ++--
 9 files changed, 44 insertions(+), 41 deletions(-)
 delete mode 100644 docker/stacks/slskd/slskd.yaml

diff --git a/docker/mgmt.sh b/docker/mgmt.sh
index 5841599..fc7d2e0 100755
--- a/docker/mgmt.sh
+++ b/docker/mgmt.sh
@@ -13,24 +13,27 @@ case "$command" in
   "up")
     for stack in "$BASE_DIR"/stacks/*/*
     do
-      docker-compose -f "${stack}" --env-file "$BASE_DIR/.env" up -d
+      docker compose -f "${stack}" --env-file "$BASE_DIR/.env" up -d
     done
     ;;
   "stop" | "restart")
     for stack in "$BASE_DIR"/stacks/*/*
     do
-      docker-compose -f "${stack}" --env-file "$BASE_DIR/.env" $command
+      docker compose -f "${stack}" --env-file "$BASE_DIR/.env" $command
     done
     ;;
-  "recreate")
-    if [ $# -lt 3 ]; then
-      echo "Please provide both the stack name and the service to recreate"
+"recreate")
+    if [ $# -eq 2 ]; then
+      stack_name="$2"
+      service_name="$2"
+    elif [ $# -eq 3 ]; then
+      stack_name="$2"
+      service_name="$3"
+    else
       echo "Usage: $0 recreate <stack_name> <service_name>"
       exit 1
     fi
 
-    stack_name="$2"
-    service="$3"
     stack_file="$BASE_DIR/stacks/${stack_name}/${stack_name}.yml"
 
     if [ ! -f "$stack_file" ]; then
@@ -38,9 +41,9 @@ case "$command" in
       exit 1
     fi
 
-    docker-compose -f "${stack_file}" --env-file "$BASE_DIR/.env" stop "$service"
-    docker-compose -f "${stack_file}" --env-file "$BASE_DIR/.env" rm -f "$service"
-    docker-compose -f "${stack_file}" --env-file "$BASE_DIR/.env" up -d "$service"
+    docker compose -f ${stack_file} --env-file "$BASE_DIR/.env" stop ${service_name}
+    docker compose -f ${stack_file} --env-file "$BASE_DIR/.env" rm -f ${service_name}
+    docker compose -f ${stack_file} --env-file "$BASE_DIR/.env" up -d ${service_name}
     ;;
   *)
     echo "Wrong command. Please use 'up', 'stop', 'restart', or 'recreate'"
diff --git a/docker/stacks/bitwarden/bitwarden.yml b/docker/stacks/bitwarden/bitwarden.yml
index 3cca903..5087f9b 100644
--- a/docker/stacks/bitwarden/bitwarden.yml
+++ b/docker/stacks/bitwarden/bitwarden.yml
@@ -22,7 +22,7 @@ services:
 
 networks:
    proxy:
-      external:
-         name: proxy
+      name: proxy
+      external: true
    bitwarden:
       name: bitwarden
diff --git a/docker/stacks/collabora/collabora.yml b/docker/stacks/collabora/collabora.yml
index e2ca5b1..08dccaf 100644
--- a/docker/stacks/collabora/collabora.yml
+++ b/docker/stacks/collabora/collabora.yml
@@ -16,7 +16,7 @@ services:
 
 networks:
    proxy:
-      external:
-         name: proxy
+      name: proxy
+      external: true
    collabora:
       name: collabora
diff --git a/docker/stacks/media/media.yml b/docker/stacks/media/media.yml
index 6ec6d78..f3cccce 100644
--- a/docker/stacks/media/media.yml
+++ b/docker/stacks/media/media.yml
@@ -165,9 +165,26 @@ services:
          - "8998:17442"
       restart: unless-stopped
 
+   slskd:
+    image: slskd/slskd
+    container_name: slskd
+    user: ${PUID}:${PGID}
+    environment:
+      - TZ=${TIMEZONE}
+      - SLSKD_REMOTE_FILE_MANAGEMENT=true
+      - SLSKD_SLSK_USERNAME=${SLSKD_SLSK_USERNAME}
+      - SLSKD_SLSK_PASSWORD=${SLSKD_SLSK_PASSWORD}
+      - SLSKD_SHARED_DIR=/app/downloads
+    network_mode: "container:gluetun"
+    volumes:
+      - ${APPS_DIR}/slskd:/app/data
+      - ${DATA_DIR}/downloads/slskd/incomplete:/app/incomplete
+      - ${DATA_DIR}/media/music:/app/downloads
+    restart: unless-stopped
+
 networks:
    proxy:
-      external:
-         name: proxy
+      name: proxy
+      external: true
    media:
       name: media
diff --git a/docker/stacks/mrvercetticc/mrvercetticc.yml b/docker/stacks/mrvercetticc/mrvercetticc.yml
index 47e1f60..24de30c 100644
--- a/docker/stacks/mrvercetticc/mrvercetticc.yml
+++ b/docker/stacks/mrvercetticc/mrvercetticc.yml
@@ -9,7 +9,7 @@ services:
 
 networks:
    proxy:
-      external:
-         name: proxy
+      name: proxy
+      external: true
    mrvercetticc:
       name: mrvercetticc
diff --git a/docker/stacks/nextcloud/nextcloud.yml b/docker/stacks/nextcloud/nextcloud.yml
index b2c2e82..b3d20c2 100644
--- a/docker/stacks/nextcloud/nextcloud.yml
+++ b/docker/stacks/nextcloud/nextcloud.yml
@@ -52,7 +52,7 @@ services:
 
 networks:
    proxy:
-      external:
-         name: proxy
+      name: proxy
+      external: true
    nextcloud:
       name: nextcloud
diff --git a/docker/stacks/slskd/slskd.yaml b/docker/stacks/slskd/slskd.yaml
deleted file mode 100644
index a8dc0c8..0000000
--- a/docker/stacks/slskd/slskd.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-services:
-  slskd:
-    image: slskd/slskd
-    container_name: slskd
-    user: ${PUID}:${PGID}
-    environment:
-      - TZ=${TIMEZONE}
-      - SLSKD_REMOTE_FILE_MANAGEMENT=true
-      - SLSKD_SLSK_USERNAME=${SLSKD_SLSK_USERNAME}
-      - SLSKD_SLSK_PASSWORD=${SLSKD_SLSK_PASSWORD}
-      - SLSKD_SHARED_DIR=/app/downloads
-    network_mode: "container:gluetun"
-    volumes:
-      - ${APPS_DIR}/slskd:/app/data
-      - ${DATA_DIR}/downloads/slskd/incomplete:/app/incomplete
-      - ${DATA_DIR}/media/music:/app/downloads
-    restart: unless-stopped
diff --git a/docker/stacks/softdev/softdev.yml b/docker/stacks/softdev/softdev.yml
index 1f600e4..e89d756 100644
--- a/docker/stacks/softdev/softdev.yml
+++ b/docker/stacks/softdev/softdev.yml
@@ -87,7 +87,7 @@ services:
 
 networks:
    proxy:
-      external:
-         name: proxy
+      name: proxy
+      external: true
    softdev:
       name: softdev
diff --git a/docker/stacks/widmocc/widmocc.yml b/docker/stacks/widmocc/widmocc.yml
index 251aed3..c5e49f4 100644
--- a/docker/stacks/widmocc/widmocc.yml
+++ b/docker/stacks/widmocc/widmocc.yml
@@ -11,7 +11,7 @@ services:
 
 networks:
    proxy:
-      external:
-         name: proxy
+      name: proxy
+      external: true
    widmocc:
       name: widmocc