56 lines
2.0 KiB
Bash

#!/bin/bash
HOSTNAME=$(hostname)
GEMINI_API_KEY="AIzaSyALfJiYQb6QYUXyUM2AKd7sV1nWV0JALJw"
YOUTUBE_API_KEY="AIzaSyBbeV0sUA7hyNRZsloYPG88yqnSAjefBMo"
YOUTUBE_API_KEYS='["AIzaSyBXL5y8bRMO5WJwIhPK-fhrEPu2aROuKag", "AIzaSyC1rV2Er1n1FHZQoGgQhOxFc3nSlQWhgks", "AIzaSyCumEzXNPJuQjpPpxhP2PYdExqRBDVJqRY"]'
VIMEO_ACCESS_TOKEN="40e09bf643b2ecddf68ed0f5d1574c72"
TWITCH_CLIENT_ID="ikxrqgjivwn4rurhjy2mcfkcq62y3m"
TWITCH_CLIENT_SECRET="kezgpj5vqrk96tu2x3ghmhwipg980p"
YT_CACHE_TTL_MS="1800000"
JWT_SECRET="Ceci-est-mon-programme-newtube-je-sais-que-c-est-moche"
ACCESS_TTL_MIN="15"
REFRESH_TTL_DAYS="2"
REMEMBER_TTL_DAYS="30"
PORT="4000"
NODE_ENV="production"
TZ="America/Montreal"
DEFAULT_INTERFACE=$(ip route show default | awk '{print $5}'|head -n 1)
# Cross-platform IP detection for Debian and Alpine
if [ -f /etc/alpine-release ]; then
# Alpine Linux
SERVER_IP=$(ip -o -4 addr show $DEFAULT_INTERFACE | awk '{print $4}' | cut -d/ -f1)
else
# Debian-based systems
SERVER_IP=$(hostname -I | tr ' ' '\n' | grep -E "^$(ip -o -4 addr show $DEFAULT_INTERFACE | awk '{print $4}' | cut -d/ -f1)")
fi
DIR_NEWTUBE=/DOCKER_CONFIG/newtube-angular
echo "NGINX_HOSTNAME=$HOSTNAME" > .env
echo "NGINX_SERVER_IP=$SERVER_IP" >> .env
echo "DIR_NEWTUBE=$DIR_NEWTUBE" >> .env
echo "GEMINI_API_KEY=$GEMINI_API_KEY" >> .env
echo "YOUTUBE_API_KEY=$YOUTUBE_API_KEY" >> .env
echo "YOUTUBE_API_KEYS=$YOUTUBE_API_KEYS" >> .env
echo "VIMEO_ACCESS_TOKEN=$VIMEO_ACCESS_TOKEN" >> .env
echo "TWITCH_CLIENT_ID=$TWITCH_CLIENT_ID" >> .env
echo "TWITCH_CLIENT_SECRET=$TWITCH_CLIENT_SECRET" >> .env
echo "YT_CACHE_TTL_MS=$YT_CACHE_TTL_MS" >> .env
echo "JWT_SECRET=$JWT_SECRET" >> .env
echo "ACCESS_TTL_MIN=$ACCESS_TTL_MIN" >> .env
echo "REFRESH_TTL_DAYS=$REFRESH_TTL_DAYS" >> .env
echo "REMEMBER_TTL_DAYS=$REMEMBER_TTL_DAYS" >> .env
echo "PORT=$PORT" >> .env
echo "NODE_ENV=$NODE_ENV" >> .env
echo "TZ=$TZ" >> .env
sudo mkdir -p $DIR_NEWTUBE
sudo mkdir -p $DIR_NEWTUBE/db
sudo mkdir -p $DIR_NEWTUBE/tmp/downloads
sudo mkdir -p $DIR_NEWTUBE/assets
sudo mkdir -p $DIR_NEWTUBE/public