test/lib/redis.sh
2024-10-29 12:56:39 +00:00

74 lines
1.7 KiB
Bash

#!/bin/bash
#
# Redis Service
PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
get_appvars
config_redis() {
echo -ne "\n* Configuring redis container.."
if [ ! -d "/federated/apps/redis" ]; then
mkdir -p /federated/apps/redis/data/bitnami/redis/data
chown -R 1001 /federated/apps/redis/data/bitnami/redis
fi
cat > /federated/apps/redis/docker-compose.yml <<EOF
version: "3.7"
services:
redis:
image: bitnami/redis:\${IMAGE_VERSION}
container_name: redis
hostname: redis.$DOMAIN
restart: always
networks:
core:
ipv4_address: 192.168.0.45
env_file:
- ./.env
volumes:
- ./data/bitnami/redis/data:/bitnami/redis/data
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.redis.rule=Host(\`redis.$DOMAIN\`)"
# - "traefik.http.routers.redis.entrypoints=websecure"
# - "traefik.http.routers.redis.tls.certresolver=letsencrypt"
networks:
core:
external: true
EOF
REDIS_SECRET=$(create_password);
cat > /federated/apps/redis/.env <<EOF
IMAGE_VERSION="7.0.15"
REDIS_PASSWORD=$REDIS_SECRET
EOF
chmod 600 /federated/apps/redis/.env
sysctl "vm.overcommit_memory=1"
echo -ne "done.\n"
}
start_redis() {
# Start service with command to make sure it's up before proceeding
start_service "redis" "nc -z 192.168.0.45 6379 &> /dev/null" "7"
kill -9 $SPINPID &> /dev/null
echo -ne "done.\n"
}
uninstall_redis() {
spin &
SPINPID=$!
# First stop the service
cd /federated/apps/redis && docker-compose -f docker-compose.yml -p redis down &> /dev/null
# Delete the app directory
rm -rf /federated/apps/redis
kill -9 $SPINPID &> /dev/null
echo -ne "done.\n"
}