Nextcloud-App/podman-run.sh

72 lines
2.2 KiB
Bash
Executable file

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
DIR="${0%/*}"
# replace containers
podman rm -if synapse
podman rm -if nextcloud
podman run -d --name=nextcloud -p 8080:80 -v "$DIR:/var/www/html/custom_apps/upschooling" docker.io/nextcloud
podman exec nextcloud chown -R 33 /var/www/html/custom_apps
"$DIR/podman-reown.sh"
podman exec --user 33 nextcloud bash -c 'cd /var/www/html/custom_apps/upschooling && make composer'
podman exec --user 33 nextcloud php occ maintenance:install --database sqlite --admin-user admin --admin-pass admin
podman exec --user 33 nextcloud php occ config:system:set --value=true --type=boolean debug
podman exec --user 33 nextcloud php occ app:enable --force upschooling
if podman volume exists synapse-data; then
echo "Found existing synapse-data volume"
else
podman run -d --rm \
--name=synapse \
--hostname synapse \
"--mount=type=volume,src=synapse-data,dst=/data" \
-e SYNAPSE_SERVER_NAME=synapse \
-e SYNAPSE_REPORT_STATS=no \
docker.io/matrixdotorg/synapse \
generate
echo "Generated fresh synapse-data volume"
fi
podman run -d \
--name=synapse \
"--mount=type=volume,src=synapse-data,dst=/data" \
"--network=container:$(podman inspect --format "{{.Id}}" nextcloud)" \
--hostname synapse \
docker.io/matrixdotorg/synapse
# wait for synapse to start
MAX_TRIES=15
for ((i = 0 ; i < $MAX_TRIES ; i++)); do
if podman logs synapse 2>&1 | grep -q "Synapse now listening on TCP port 8008"; then
echo -e "Synapse has started. \e[1;38;5;2mOK\033[0m"
break
fi
sleep 1
done
if [[ $i -ge $MAX_TRIES ]]; then
echo "Synapse did not start in time! Use \`podman logs synapse\` to investigate"
exit 1
fi
set +e
REGISTER_USER_OUTPUT="$(podman exec synapse register_new_matrix_user -u upschooling -p secret -a -c /data/homeserver.yaml http://localhost:8008)"
REGISTER_USER_SUCCESS=$?
set -e
if [[ "$REGISTER_USER_SUCCESS" != "0" ]]; then
if echo $REGISTER_USER_OUTPUT | grep -q "User ID already taken."; then
echo -e "User @upschooling:synapse already exists. \e[1;38;5;2mOK\033[0m"
else
echo "Could not create user @upschooling:synapse"
echo $REGISTER_USER_OUTPUT
exit 1
fi
else
echo -e "Matrix user @upschooling:synapse created. \e[1;38;5;2mOK\033[0m"
fi