ed551500e7
We can directly access the artifacts from the latest release, rather than needing to get the tag from the API first.
80 lines
2.3 KiB
Bash
Executable file
80 lines
2.3 KiB
Bash
Executable file
echo "Starting Immich installation..."
|
|
|
|
ip_address=$(hostname -I | awk '{print $1}')
|
|
|
|
RED='\033[0;31m'
|
|
GREEN='\032[0;31m'
|
|
NC='\033[0m' # No Color
|
|
|
|
create_immich_directory() {
|
|
echo "Creating Immich directory..."
|
|
mkdir -p ./immich-app/immich-data
|
|
cd ./immich-app
|
|
}
|
|
|
|
download_docker_compose_file() {
|
|
echo "Downloading docker-compose.yml..."
|
|
curl -L https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml -o ./docker-compose.yml >/dev/null 2>&1
|
|
}
|
|
|
|
download_dot_env_file() {
|
|
echo "Downloading .env file..."
|
|
curl -L https://github.com/immich-app/immich/releases/latest/download/example.env -o ./.env >/dev/null 2>&1
|
|
}
|
|
|
|
replace_env_value() {
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
sed -i '' "s|$1=.*|$1=$2|" ./.env
|
|
else
|
|
sed -i "s|$1=.*|$1=$2|" ./.env
|
|
fi
|
|
}
|
|
|
|
populate_upload_location() {
|
|
echo "Populating default UPLOAD_LOCATION value..."
|
|
upload_location=$(pwd)/immich-data
|
|
replace_env_value "UPLOAD_LOCATION" $upload_location
|
|
}
|
|
|
|
start_docker_compose() {
|
|
echo "Starting Immich's docker containers"
|
|
|
|
if docker compose &>/dev/null; then
|
|
docker_bin="docker compose"
|
|
elif docker-compose &>/dev/null; then
|
|
docker_bin="docker-compose"
|
|
else
|
|
echo 'Cannot find `docker compose` or `docker-compose`.'
|
|
exit 1
|
|
fi
|
|
|
|
if $docker_bin up --remove-orphans -d; then
|
|
show_friendly_message
|
|
exit 0
|
|
else
|
|
echo "Could not start. Check for errors above."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
show_friendly_message() {
|
|
echo "Succesfully deployed Immich!"
|
|
echo "You can access the website at http://$ip_address:2283 and the server URL for the mobile app is http://$ip_address:2283/api"
|
|
echo "The library location is $upload_location"
|
|
echo "---------------------------------------------------"
|
|
echo "If you want to configure custom information of the server, including the database, Redis information, or the backup (or upload) location, etc.
|
|
|
|
1. First bring down the containers with the command 'docker-compose down' in the immich-app directory,
|
|
|
|
2. Then change the information that fits your needs in the '.env' file,
|
|
|
|
3. Finally, bring the containers back up with the command 'docker-compose up --remove-orphans -d' in the immich-app directory"
|
|
|
|
}
|
|
|
|
# MAIN
|
|
create_immich_directory
|
|
download_docker_compose_file
|
|
download_dot_env_file
|
|
populate_upload_location
|
|
start_docker_compose
|