chore: update Angular cache and TypeScript build info

This commit is contained in:
2025-09-20 22:33:11 -04:00
parent 9c03f5f5fe
commit 3f04191623
25 changed files with 750 additions and 54 deletions
+17
View File
@@ -0,0 +1,17 @@
NGINX_HOSTNAME=AsusVivobook
NGINX_SERVER_IP=172.26.11.25
DIR_NEWTUBE=/DOCKER_CONFIG/newtube-angular
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
+19
View File
@@ -0,0 +1,19 @@
# Fichier d'exemple pour les variables d'environnement
# Copiez ce fichier en .env et remplissez les valeurs
# Configuration du serveur NGINX
NGINX_HOSTNAME=localhost
# Clés API pour les différents services
GEMINI_API_KEY=votre_cle_gemini_ici
YOUTUBE_API_KEY=votre_cle_youtube_ici
YOUTUBE_API_KEYS=votre_cle_youtube_ici,deuxieme_cle_youtube_ici
VIMEO_ACCESS_TOKEN=votre_token_vimeo_ici
TWITCH_CLIENT_ID=votre_client_id_twitch_ici
TWITCH_CLIENT_SECRET=votre_client_secret_twitch_ici
# Configuration du cache (en millisecondes)
YT_CACHE_TTL_MS=3600000 # 1 heure par défaut
# Configuration du menu (optionnel)
# BASE_MENU_CONFIG_ASSETS=assets/configuration.yml
+27
View File
@@ -0,0 +1,27 @@
services:
newtube:
image: docker-registry.dev.home:5000/newtube-angular:latest
container_name: newtube
hostname: ${NGINX_HOSTNAME}
ports:
- "8080:4000"
environment:
- PORT=${PORT}
- NODE_ENV=${NODE_ENV}
- JWT_SECRET=${JWT_SECRET}
- ACCESS_TTL_MIN=${ACCESS_TTL_MIN}
- REFRESH_TTL_DAYS=${REFRESH_TTL_DAYS}
- REMEMBER_TTL_DAYS=${REMEMBER_TTL_DAYS}
- YT_CACHE_TTL_MS=${YT_CACHE_TTL_MS}
- GEMINI_API_KEY=${GEMINI_API_KEY}
- YOUTUBE_API_KEY=${YOUTUBE_API_KEY}
- YOUTUBE_API_KEYS=${YOUTUBE_API_KEYS}
- VIMEO_ACCESS_TOKEN=${VIMEO_ACCESS_TOKEN}
- TWITCH_CLIENT_ID=${TWITCH_CLIENT_ID}
- TWITCH_CLIENT_SECRET=${TWITCH_CLIENT_SECRET}
- TZ=${TZ}
volumes:
- ${DIR_NEWTUBE}/assets:/app/assets
- ${DIR_NEWTUBE}/db:/app/db
- ${DIR_NEWTUBE}/tmp/downloads:/app/tmp/downloads
restart: unless-stopped
+21
View File
@@ -0,0 +1,21 @@
version: "3.9"
services:
newtube:
build: .
image: newtube:latest
container_name: newtube
ports:
- "4000:4000"
environment:
NODE_ENV: production
# Optional: configure API server
PORT: 4000
# Optional: secrets for Twitch etc. (if you prefer server env)
# TWITCH_CLIENT_ID: ""
# TWITCH_CLIENT_SECRET: ""
# YOUTUBE_API_KEY: ""
volumes:
# Persist the SQLite database and download temp dir outside the image
- ./db:/app/db
- ./tmp/downloads:/app/tmp/downloads
restart: unless-stopped
+49
View File
@@ -0,0 +1,49 @@
#!/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}')
SERVER_IP=$(hostname -I | tr ' ' '\n' | grep -E "^$(ip -o -4 addr show $DEFAULT_INTERFACE | awk '{print $4}' | cut -d/ -f1)")
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
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
# Always execute relative to this script directory
cd "$(dirname "$0")"
REGISTRY="docker-registry.dev.home:5000"
IMAGE="newtube-angular:latest"
# Pull latest image from private registry
docker image pull "${REGISTRY}/${IMAGE}"
# Restart stack with the current compose file
docker compose down
docker compose up -d
echo "Stack updated and running."