#!/bin/bash ######### functions _maxUploadSize() { echo "[i] Setting uploadsize to ${MAX_UPLOAD_SIZE}M" sed -i "/post_max_size/c\post_max_size=${MAX_UPLOAD_SIZE}M" /usr/local/etc/php/php.ini sed -i "/upload_max_filesize/c\upload_max_filesize=${MAX_UPLOAD_SIZE}M" /usr/local/etc/php/php.ini # set error reporting no notices, no warnings sed -i "/^error_reporting/c\error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_WARNING & ~E_NOTICE" /usr/local/etc/php/php.ini MAX_RAM=$((MAX_UPLOAD_SIZE + 30)) # 30megs more than the upload size echo "[i] Also changing memory limit of PHP to ${MAX_RAM}M" sed -i -e "s/128M/${MAX_RAM}M/g" /usr/local/etc/php/php.ini sed -i "/memory_limit/c\memory_limit=${MAX_RAM}M" /usr/local/etc/php/php.ini } _filePermissions() { echo "[i] Setting file permissions" } _buildConfig() { echo " echo " [+] Configuring Redis save intervals" echo "save 60 100" >> /etc/redis.conf # every minute if at least 100 keys changed echo "save 300 10" >> /etc/redis.conf # every 5 minutes if at least 10 keys changed echo "save 600 1" >> /etc/redis.conf # every 10 minutes if at least 1 key changed # Trap SIGTERM and SIGINT signals to save Redis data before shutdown trap "echo 'Stopping Redis'; redis-cli save; redis-cli shutdown; exit" TERM INT redis-server /etc/redis.conf --daemonize yes fi ######### main echo 'Starting Pictshare' cd /app/public/ if [[ ${MAX_UPLOAD_SIZE:=100} =~ ^[0-9]+$ ]]; then _maxUploadSize fi # run _filePermissions function unless SKIP_FILEPERMISSIONS is set to true if [[ ${SKIP_FILEPERMISSIONS:=false} != true ]]; then _filePermissions fi echo ' [+] Creating config' _buildConfig > src/inc/config.inc.php frankenphp run --config /etc/caddy/Caddyfile