Initial commit - SoundWave v1.0
- Full PWA support with offline capabilities - Comprehensive search across songs, playlists, and channels - Offline playlist manager with download tracking - Pre-built frontend for zero-build deployment - Docker-based deployment with docker compose - Material-UI dark theme interface - YouTube audio download and management - Multi-user authentication support
This commit is contained in:
commit
51679d1943
254 changed files with 37281 additions and 0 deletions
51
docker_assets/run.sh
Normal file
51
docker_assets/run.sh
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "Starting SoundWave..."
|
||||
|
||||
# Wait for ElasticSearch
|
||||
echo "Waiting for ElasticSearch..."
|
||||
until curl -s -u elastic:$ELASTIC_PASSWORD $ES_URL/_cluster/health > /dev/null; do
|
||||
echo "ElasticSearch is unavailable - sleeping"
|
||||
sleep 3
|
||||
done
|
||||
echo "ElasticSearch is up!"
|
||||
|
||||
# Wait for Redis
|
||||
echo "Waiting for Redis..."
|
||||
until python -c "import redis; r = redis.Redis(host='${REDIS_HOST}', port=6379); r.ping()" 2>/dev/null; do
|
||||
echo "Redis is unavailable - sleeping"
|
||||
sleep 3
|
||||
done
|
||||
echo "Redis is up!"
|
||||
|
||||
# Create migrations
|
||||
echo "=== Creating migrations ==="
|
||||
python manage.py makemigrations
|
||||
|
||||
# Run migrations
|
||||
echo "=== Running migrations ==="
|
||||
python manage.py migrate
|
||||
|
||||
# Create superuser if it doesn't exist
|
||||
python manage.py shell << END
|
||||
from user.models import Account
|
||||
if not Account.objects.filter(username='$SW_USERNAME').exists():
|
||||
Account.objects.create_superuser('$SW_USERNAME', 'admin@soundwave.local', '$SW_PASSWORD')
|
||||
print('Superuser created')
|
||||
else:
|
||||
print('Superuser already exists')
|
||||
END
|
||||
|
||||
# Collect static files
|
||||
python manage.py collectstatic --noinput
|
||||
|
||||
# Start Celery worker in background
|
||||
celery -A config worker --loglevel=info &
|
||||
|
||||
# Start Celery beat in background
|
||||
celery -A config beat --loglevel=info &
|
||||
|
||||
# Start Django server
|
||||
python manage.py runserver 0.0.0.0:8888
|
||||
Loading…
Add table
Add a link
Reference in a new issue