]> Untitled Git - lemmy.git/blob - docker/docker_update.sh
add enable_federated_downvotes site option
[lemmy.git] / docker / docker_update.sh
1 #!/bin/sh
2 set -e
3
4 Help()
5 {
6   # Display help
7   echo "Usage: ./docker_update.sh [OPTIONS]"
8   echo ""
9   echo "Start all docker containers required to run Lemmy."
10   echo ""
11   echo "Options:"
12   echo "-u Docker username. Only required if managing Docker via Docker Desktop with a personal access token."
13   echo "-h Print this help."
14 }
15
16 while getopts ":hu:" option; do
17   case $option in
18     h) Help
19        exit;;
20     u) DOCKER_USER=$OPTARG
21        ;;
22     *) echo "Invalid option $OPTARG."
23        exit;;
24   esac
25 done
26
27 LOG_PREFIX="[🐀 lemmy]"
28 ARCH=$(uname -m 2>/dev/null || echo 'unknown') # uname may not exist on windows machines; default to unknown to be safe.
29
30 mkdir -p volumes/pictrs
31
32 echo "$LOG_PREFIX Please provide your password to change ownership of the pictrs volume."
33 sudo chown -R 991:991 volumes/pictrs
34
35 if [ "$ARCH" = 'arm64' ]; then
36   echo "$LOG_PREFIX WARN: If building from images, make sure to uncomment 'platform' in the docker-compose.yml file!"
37
38   # You need a Docker account to pull images. Otherwise, you will get an error like: "error getting credentials"
39   if [ -z "$DOCKER_USER" ]; then
40       echo "$LOG_PREFIX Logging into Docker Hub..."
41       docker login
42   else
43       echo "$LOG_PREFIX Logging into Docker Hub. Please provide your personal access token."
44       docker login --username="$DOCKER_USER"
45   fi
46
47   echo "$LOG_PREFIX Initializing images in the background. Please be patient if compiling from source..."
48   docker compose up -d --build
49 else
50   sudo docker compose up -d --build
51 fi
52
53 echo "$LOG_PREFIX Complete! You can now access the UI at http://localhost:1236."