44 lines
1.4 KiB
Bash
44 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Script for creating or updating a linkding installation / Docker container
|
|
# The script uses a number of variables that control how the container is set up
|
|
# and where the application data is stored on the host
|
|
# The following variables are available:
|
|
#
|
|
# LD_CONTAINER_NAME - name of the Docker container that should be created or updated
|
|
# LD_HOST_PORT - port on your system that the application will use
|
|
# LD_HOST_DATA_DIR - directory on your system where the applications database will be stored
|
|
#
|
|
# Variables can be from your shell like this:
|
|
# export LD_HOST_DATA_DIR=/etc/linkding/data
|
|
|
|
# Provide default variable values
|
|
if [ -z "${LD_CONTAINER_NAME}" ]; then
|
|
LD_CONTAINER_NAME="linkding"
|
|
fi
|
|
if [ -z "${LD_HOST_PORT}" ]; then
|
|
LD_HOST_PORT=9090
|
|
fi
|
|
if [ -z "${LD_HOST_DATA_DIR}" ]; then
|
|
LD_HOST_DATA_DIR=/etc/linkding/data
|
|
fi
|
|
|
|
echo "Create or update linkding container"
|
|
echo "Container name: ${LD_CONTAINER_NAME}"
|
|
echo "Host port: ${LD_HOST_PORT}"
|
|
echo "Host data dir: ${LD_HOST_DATA_DIR}"
|
|
|
|
echo "Stop existing container..."
|
|
docker stop ${LD_CONTAINER_NAME} || true
|
|
echo "Remove existing container..."
|
|
docker rm ${LD_CONTAINER_NAME} || true
|
|
echo "Update image..."
|
|
docker pull sissbruecker/linkding:latest
|
|
echo "Start container..."
|
|
docker run -d \
|
|
-p ${LD_HOST_PORT}:9090 \
|
|
--name ${LD_CONTAINER_NAME} \
|
|
-v ${LD_HOST_DATA_DIR}:/etc/linkding/data \
|
|
sissbruecker/linkding:latest
|
|
echo "Done!"
|