Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions MyMusicBoxApi/build.sh

This file was deleted.

1 change: 0 additions & 1 deletion MyMusicBoxApi/buildProd.sh

This file was deleted.

45 changes: 45 additions & 0 deletions MyMusicBoxApi/release
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/bash
set -e # Exit immediately if a command exits with a non-zero status

RELEASE_FOLDER="$HOME/mymusicbox_production"
DATABASE_FOLDER="$RELEASE_FOLDER/database"
SCRIPTS_FOLDER="$DATABASE_FOLDER/initscripts"
IMAGES_FOLDER="$RELEASE_FOLDER/music/images"
COOKIES_FOLDER="$RELEASE_FOLDER/selenium"

echo "=== Setting up release folder ==="
if [ ! -d "$RELEASE_FOLDER" ]; then
mkdir -p "$SCRIPTS_FOLDER"
mkdir -p "$IMAGES_FOLDER"
mkdir -p "$COOKIES_FOLDER"
echo "Created folder structure:"
echo " - $RELEASE_FOLDER"
echo " - $DATABASE_FOLDER"
echo " - $SCRIPTS_FOLDER"
echo " - $IMAGES_FOLDER"
echo " - $COOKIES_FOLDER"
else
echo "Release folder already exists."
fi

echo "=== Copying database files ==="
cp ../database/docker-compose-release.yml "$DATABASE_FOLDER/docker-compose.yml"
cp ../database/initscripts/* "$SCRIPTS_FOLDER"
cp default/default_playlist_cover.png "$IMAGES_FOLDER/default_playlist_cover.png"
cp selenium/* "$COOKIES_FOLDER"

echo "=== Building executable ==="
go build -buildvcs=false -o "$RELEASE_FOLDER"

echo "=== Starting Docker containers ==="
cd "$DATABASE_FOLDER"
sudo docker compose up -d

echo "=== Restarting mymusic service ==="
sudo systemctl stop mymusic || echo "Service 'mymusic' was not running."
sudo systemctl daemon-reload
sudo systemctl start mymusic

echo "=== Streaming logs ==="
sudo journalctl -u mymusic.service -f

5 changes: 5 additions & 0 deletions MyMusicBoxApi/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

sudo go run main.go -port=8081 -devurl -sourceFolder="music_dev" -outputExtension="opus" &

echo $! > go_program.pid
3 changes: 0 additions & 3 deletions MyMusicBoxApi/run.sh

This file was deleted.

5 changes: 0 additions & 5 deletions MyMusicBoxApi/runDev.sh

This file was deleted.

16 changes: 16 additions & 0 deletions MyMusicBoxApi/serviceTemplate.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[Unit]
Description=My Music Api
After=network.target

[Service]
ExecStart=/home/admin/mymusicbox_production/musicboxapi
WorkingDirectory=/home/admin/mymusicbox_production
Restart=always
RestartSec=5
User=root
Environment=ENV=production
Environment=POSTGRES_PASSWORD=
Environment=CORS_ORIGIN=

[Install]
WantedBy=multi-user.target
10 changes: 10 additions & 0 deletions MyMusicBoxApi/stop
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

if [ -f go_program.pid ]; then
PID=$(cat go_program.pid)
echo "Killing process with PID $PID"
sudo kill "$PID"
rm go_program.pid
else
echo "PID file not found. Process might not be running or already terminated."
fi
8 changes: 0 additions & 8 deletions MyMusicBoxApi/stopDev.sh

This file was deleted.

23 changes: 23 additions & 0 deletions MyMusicBoxApi/update
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

set -e # Exit on error
RELEASE_FOLDER="$HOME/mymusicbox_production"
DATABASE_FOLDER="$RELEASE_FOLDER/database"

echo "=== Updating executable ==="
go build -buildvcs=false -o "$RELEASE_FOLDER"

echo "=== Navigating to database folder ==="
cd "$DATABASE_FOLDER"

# Uncomment the following line if you want to restart Docker containers
# echo "=== Starting Docker containers ==="
# sudo docker compose up -d

echo "=== Restarting mymusic service ==="
sudo systemctl stop mymusic || echo "Service 'mymusic' was not running."
sudo systemctl daemon-reload
sudo systemctl start mymusic

echo "=== Streaming logs ==="
sudo journalctl -u mymusic.service -f
29 changes: 29 additions & 0 deletions database/docker-compose-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Use postgres/example user/password credentials
services:
db:
image: postgres
restart: always
env_file: "/home/admin/docker-env/database.env"
# set shared memory limit when using docker compose
shm_size: 128mb
volumes:
- "/home/admin/mymusicbox_production/database/data-production:/var/lib/postgresql/data"
- "/home/admin/mymusicbox_production/database/initscripts:/docker-entrypoint-initdb.d"
# /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*:q
#user: 1000:1000
ports:
- "127.0.0.1:5432:5432"
# or set shared memory limit when deploy via swarm stack
#volumes:
#dev_data:
# - type: tmpfs
# target: /dev/shm
# tmpfs:
# size: 134217728 # 128*2^20 bytes = 128Mb
#environment:
#POSTGRES_PASSWORD: example
adminer:
image: adminer
restart: always
ports:
- 8085:8080
2 changes: 1 addition & 1 deletion database/initscripts/init_script.sql
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ CREATE INDEX idx_playlistsong_song ON PlaylistSong(SongId);
-- Main playlist for all songs
-- Should not show up in playlist list, instead under tab all songs
INSERT INTO Playlist (Name, Description, ThumbnailPath, IsPublic) VALUES
('Library', 'Default playlist for all', '', FALSE);
('Library', 'Default playlist for all', 'default_playlist_cover.png', FALSE);

-- =============================================
-- SECTION 7: SAMPLE DATA
Expand Down