mirror of
https://github.com/serge-chat/serge.git
synced 2024-01-15 09:32:12 +03:00
* Fix llama-cpp-python build for Apple Silicon * Make ShellCheck happy * Make gaby happy --------- Co-authored-by: Juan Calderon-Perez <835733+gaby@users.noreply.github.com>
33 lines
694 B
Bash
33 lines
694 B
Bash
#!/bin/bash
|
|
|
|
set -x
|
|
|
|
# Handle termination signals
|
|
_term() {
|
|
echo "Received termination signal!"
|
|
kill -TERM "$redis_process" 2>/dev/null
|
|
kill -TERM "$serge_process" 2>/dev/null
|
|
}
|
|
|
|
# Install python bindings
|
|
UNAME_M=$(dpkg --print-architecture) pip install llama-cpp-python==0.1.78 || {
|
|
echo 'Failed to install llama-cpp-python'
|
|
exit 1
|
|
}
|
|
|
|
# Start Redis instance
|
|
redis-server /etc/redis/redis.conf &
|
|
redis_process=$!
|
|
|
|
# Start the API
|
|
cd /usr/src/app/api || exit 1
|
|
uvicorn src.serge.main:app --host 0.0.0.0 --port 8008 || {
|
|
echo 'Failed to start main app'
|
|
exit 1
|
|
} &
|
|
serge_process=$!
|
|
|
|
# Set up a signal trap and wait for processes to finish
|
|
trap _term TERM
|
|
wait $redis_process $serge_process
|