From 6df10b77abfbe55a005ce6e0979226c629acb259 Mon Sep 17 00:00:00 2001 From: oct2pus Date: Sun, 7 Apr 2024 01:15:35 -0500 Subject: [PATCH] add mega --- docker-files/mega/Dockerfile | 43 ++++++++++++++--------- docker-files/mega/convert | 1 - flac2opus | 1 + service-files/convert.service | 10 ++++++ service-files/convert.timer | 11 ++++++ service-files/docker-files/mega/flac2opus | 1 + service-files/mega.service | 20 +++++++++++ 7 files changed, 70 insertions(+), 17 deletions(-) delete mode 160000 docker-files/mega/convert create mode 160000 flac2opus create mode 100644 service-files/convert.service create mode 100644 service-files/convert.timer create mode 160000 service-files/docker-files/mega/flac2opus create mode 100644 service-files/mega.service diff --git a/docker-files/mega/Dockerfile b/docker-files/mega/Dockerfile index 0518d89..7f5ce2d 100644 --- a/docker-files/mega/Dockerfile +++ b/docker-files/mega/Dockerfile @@ -1,25 +1,36 @@ FROM debian:stable-slim RUN dpkg --add-architecture armhf -RUN ["/bin/apt-get", "update"] +RUN apt-get update # get neccessary files -RUN apt-get -y install wget golang-go fish ffmpeg +RUN apt-get -y install wget golang-go fish opus-tools dbus +RUN dbus-uuidgen > /etc/machine-id RUN wget http://http.us.debian.org/debian/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_armhf.deb && apt-get -y install "$PWD/libssl1.1_1.1.1w-0+deb11u1_armhf.deb" RUN wget https://mega.nz/linux/repo/Raspbian_11/armhf/megacmd-Raspbian_11_armhf.deb && apt-get -y install "$PWD/megacmd-Raspbian_11_armhf.deb" # golf -RUN mkdir /root/golf -COPY convert/main.go main.go -COPY convert/go.mod go.mod +RUN mkdir -p /root/golf +WORKDIR /root/golf +ADD flac2opus/golf/main.go main.go +ADD flac2opus/golf/go.mod go.mod +RUN go mod tidy RUN go build . -ENV PATH "$PATH:root/golf" -# sync -RUN mkdir /root/sync -WORKDIR /root/sync -RUN mkdir .megaCmd +RUN cp golf /usr/bin/golf +# gold +RUN mkdir -p /root/gold +WORKDIR /root/gold +ADD flac2opus/gold/main.go main.go +ADD flac2opus/gold/go.mod go.mod +RUN go mod tidy +RUN go build . +RUN cp gold /usr/bin/gold +# sync files +WORKDIR / +RUN mkdir -p /root/.megaCmd ADD .megaCmd/* /root/.megaCmd -RUN mkdir music -RUN mkdir music-opus -# root -WORKDIR /root -COPY convert/convert.fish convert.fish +RUN mkdir -p /root/sync/music +RUN mkdir -p /root/sync/music-opus +COPY flac2opus/convert.fish /root/convert.fish +RUN mega-sync /root/sync/music Music/ +RUN mega-sync /root/sync/music-opus Music-opus/ +RUN chmod +x /root/convert.fish +WORKDIR /root/ CMD mega-cmd-server - diff --git a/docker-files/mega/convert b/docker-files/mega/convert deleted file mode 160000 index 0f016c3..0000000 --- a/docker-files/mega/convert +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0f016c305c39c397a288aec51b4b71899f90fcee diff --git a/flac2opus b/flac2opus new file mode 160000 index 0000000..1041495 --- /dev/null +++ b/flac2opus @@ -0,0 +1 @@ +Subproject commit 1041495f6a371fad2aaee33abb962a5a3c4c0d13 diff --git a/service-files/convert.service b/service-files/convert.service new file mode 100644 index 0000000..e7cfde6 --- /dev/null +++ b/service-files/convert.service @@ -0,0 +1,10 @@ +[Unit] +Description="runs a .flac to .opus conversion script in mega container" +Wants=convert.timer + +[Service] +Type=forking +ExecStart=/usr/bin/podman exec -i -d mega ./convert.fish sync/music sync/music-opus + +[Install] +WantedBy=multi-user.target diff --git a/service-files/convert.timer b/service-files/convert.timer new file mode 100644 index 0000000..c6f4ead --- /dev/null +++ b/service-files/convert.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Run convert.service 30 minutes after boot and daily. + +[Timer] +OnBootSec=30m +OnUnitActiveSec=1d +Persistent=true +Unit=convert.service + +[Install] +WantedBy=timers.target diff --git a/service-files/docker-files/mega/flac2opus b/service-files/docker-files/mega/flac2opus new file mode 160000 index 0000000..1041495 --- /dev/null +++ b/service-files/docker-files/mega/flac2opus @@ -0,0 +1 @@ +Subproject commit 1041495f6a371fad2aaee33abb962a5a3c4c0d13 diff --git a/service-files/mega.service b/service-files/mega.service new file mode 100644 index 0000000..52f6f50 --- /dev/null +++ b/service-files/mega.service @@ -0,0 +1,20 @@ +[Unit] +Description=mega.service +Wants=network-online.target +After=NetworkManager.service network.target network-online.target +RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage + +# %E is "the XDG_CONFIG path" + +[Service] +Environment=PODMAN_SYSTEMD_UNIT=%n +Restart=on-failure +TimeoutStopSec=70 +ExecStart=/usr/bin/podman run -d --name=mega -v mega-data:/root/sync localhost/mega +ExecStop=/usr/bin/podman stop mega +ExecStopPost=/usr/bin/podman rm mega +Type=oneshot +RemainAfterExit=yes + +[Install] +WantedBy=default.target