radiodemo fix

This commit is contained in:
adrian 2024-12-30 16:42:44 +01:00
parent ba02d06729
commit 8992a9cdb6
9 changed files with 320 additions and 178 deletions

Binary file not shown.

View File

@ -1,5 +1,15 @@
GIT_SOURCE_REPO="git@gitlab.com:omaradio/website.git"
RADIO_HOST=mux.radiodemo.oma-radio.fr
USE_SSL=true
WEBSOCKET_PORT=2004
VUE_APP_PUBLIC_WEBSITE=radiodemo.oma-radio.fr
WEBSERVER=.105
MUX=.100
TELECOM=.101
SWEBSOCKET_PORT=2004
WEBSOCKET_PORT=2204
MUX_SERVER_PORT=9004
TELECOM_SERVER_PORT=3494
OMA_DOCKER_VERSION=dev
ICECAST=.110
SOUNDBASE_HOST=soundbase.radiodemo.oma-radio.fr
COMPOSE_NAME=muxradiodemooma-radiofr
DOCKER_INSTANCES_PREFIX=muxradiodemooma-radiofr-
DOCKER_INSTANCES_SUFIX=-1
OMA_CONFIG_LogLevel=8

View File

@ -1,16 +1,21 @@
#!/bin/bash
set -euo pipefail
# Si le site a déjà été build par le passé, curl termine lexécution du script en cas dabsence sur serveur corps.
[ -f "$HTTP_DIR/public/index.html" ] && { curl -iI https://$RADIO_HOST/fic/_series-_index.fic >/dev/null || exit 0 ; }
# Update git repo
git_update.sh -d "$HTTP_DIR" -o "-i $SECRET_DIR/gitlab-deploy.sshprivkey" -r "${GIT_SOURCE_BRANCH:-main}" "$GIT_SOURCE_REPO"
if [ ! -e "$DATA_DIR/.env" ] ; then
source_pass="$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 40)"
cat > "$DATA_DIR/.env" <<EOF
ICECAST_SOURCE_PASSWORD=$source_pass
ICECAST_ADMIN_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 40)
ICECAST_RELAY_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 40)
LIQUIDSOAP_SOURCE_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 40)
OMA_CONFIG_Client1EnteteNext="Authorization: Basic $(echo "source:$source_pass" | base64)"
EOF
fi
cd "$HTTP_DIR"
# Invalid cache
rm -rf "/tmp/hugo_cache_$USER"
# Build website
HUGO_CACHEDIR="/tmp/hugo_cache_$USER" hugo
mkdir -p ~/.ssh
cat > ~/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0s2U2R86huSXCpFabBNpXuHR3k1/MfsYmWDuniVUUPzthl5+NlQrlSIk00/08q+XpUwlKcnmvosUGC0/PNSfQZ43SjrDjQ0MCZfmg6oIU3ujreCKbXEdaRgh7N8IJPlHZ2LcI+2HhAxqg/0RKr1vDlJ3cQlAiPCPKoAH74BkP9OuzAfUOD+cwT7NMlUiZwkArT7kU7aVwIhz1fpCpYvG4kdwVCg4vjaKM6cKR7N9xKndE/dheV6sjeKgx9Va9FgFeOes0TDL/Ds2IAW9Oo7h4sbXNLkYwOtreAzn0ga0FcyG2uIEqOSYZubaQKsItT2yIARKN0ZEe81+BvLDogL649FeCLbpBdDD/p2ceI0sSg2Uj4vsvM74gTxdD3jfsWqa/kXJ2gvnpVkIHGuxUb2vnMs1ne2l8mvfPg4LVdHAd53lrCgHDYaMumsIo61AaBIv1AA2bF7QU+1a19LE6oFaTtIm7RO1uYNmo4dOWe5kLMnPTvHseS5Okh3bPmSg5H8s=
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCphw08pnHtJoE0UXWzrw4gXNCL0ub4rWWkZcg34xGV+vIyaOmF7vM/TS7kdh/MIP5f4wxQCiXXZ9E9YmovwLfI0qutFMSLYF4iMx0d4+32L6eayC6YBYt+jMgAf+dhoHADV9zivRE5yLCSPp9PVVhdEYAtrmElVVrzM3FUBMMEEMJNMMYMfyl+1SBkq/m450RFMUU06JKNk+DQgDiCaLUudI6I14Hscl34TwQf2xdXT/TIX9Mv7YYHmHVUZn6sLqgvarzHhfeD8r/ZmeaUH17NfNWq6MukSmaTw84h4nAKvaxUTNP2gGhtv2nTTvosuadQLEefHJl0kGeBndZ2SGyncXCypGf0/mZI/HFenem4m91r2JaEua5kkblQKAAqAKvKvnYelbmHvPrhMOiFM6j7WIqPdFLa+ULbwWFSBOlqO6qzLwcRlI7c+FE7p8qwMF9poyYzVjjAeqlsKEATW1C+30f/hjTg6hD8+ii4cLuams28T1jzeVtmPlGt/U/qXAM= synchro_tete
EOF

View File

@ -0,0 +1,132 @@
version: '3'
services:
mux:
image: registry.gitlab.com/omaradio/core/oma-mux:$OMA_DOCKER_VERSION
env_file:
- .env
- $DATA_DIR/.env
environment:
OMA_CONFIG_Client1Host: $NET$ICECAST
OMA_CONFIG_TelecommandeHost: $NET$TELECOM
OMA_CONFIG_Pige: on
OMA_CONFIG_LogLevel: 8
volumes:
- $DATA_DIR/soundbase/pige:/app/pige
ports:
- $MUX_SERVER_PORT:9000
depends_on:
- transcode
restart: unless-stopped
networks:
default:
ipv4_address: $NET$MUX
deploy:
resources:
limits:
cpus: '0.50'
memory: 100M
telecomserver:
image: registry.gitlab.com/omaradio/core/oma-telecom-server:$OMA_DOCKER_VERSION
env_file: .env
ports:
- $TELECOM_SERVER_PORT:3490
restart: unless-stopped
networks:
default:
ipv4_address: $NET$TELECOM
deploy:
resources:
limits:
cpus: '0.50'
memory: 100M
webserver:
image: registry.gitlab.com/omaradio/core/oma-webserver:$OMA_DOCKER_VERSION
env_file: .env
environment:
OMA_CONFIG_TelecommandeHost: $NET$TELECOM
OMA_CONFIG_PigeTxtLoadFic: off
restart: unless-stopped
volumes:
- $DATA_DIR/soundbase:/soundbase
ports:
- $WEBSOCKET_PORT:9000
networks:
default:
ipv4_address: $NET$WEBSERVER
deploy:
resources:
limits:
cpus: '0.5'
memory: 100M
transcode:
image: savonet/liquidsoap:v2.1.4
env_file:
- .env
- $DATA_DIR/.env
volumes:
- ./liquidsoap.liq:/transcode.liq
- $DATA_DIR/soundbase:/soundbase
command: /transcode.liq
restart: unless-stopped
networks:
default:
ipv4_address: $NET.108
deploy:
resources:
limits:
cpus: '0.50'
memory: 300M
icecast:
image: jeancloud/icecast:$OMA_DOCKER_VERSION
restart: unless-stopped
environment:
# echo -n "source:pass" | base64
ICECAST_ADMIN_USERNAME: admin
ICECAST_ADMIN_EMAIL: contact@oma-radio.fr
ICECAST_LOCATION: Rhône-Alpes
ICECAST_SOURCE_TIMEOUT: 120
TZ: Europe/Paris
env_file: $DATA_DIR/.env
healthcheck:
test: "wget http://127.0.0.1:8000/direct.ogg -O - -t 1 -T 3 -S --spider 2>&1 | grep '200 OK' && wget http://127.0.0.1:8000/direct.mp3 -O - -t 1 -T 3 -S --spider 2>&1 | grep '200 OK'"
interval: 1h0m0s
timeout: 10s
retries: 3
start_period: 1m0s
networks:
default:
ipv4_address: $NET$ICECAST
system_api:
image: jeancloud/system-api:$OMA_DOCKER_VERSION
env_file: .env
environment:
UID: 33
SOUNDBASE_PATH: /soundbase
MOUNT: /muxapi
CONFIG_PATH: /config
restart: unless-stopped
volumes:
- /tmp/uwsgi/$JC_SERVICE:/tmp/uwsgi
- /var/run/docker.sock:/var/run/docker.sock
- $DATA_DIR/soundbase:/soundbase
networks:
default:
ipv4_address: $NET.107
deploy:
resources:
limits:
cpus: '0.50'
memory: 500M
networks:
default:
ipam:
config:
- subnet: $NET.0/24

View File

@ -1,26 +1,69 @@
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate $JC_CERT/fullchain.pem;
ssl_certificate_key $JC_CERT/privkey.pem;
server_name $JC_SERVICE www.$JC_SERVICE;
root $HTTP_DIR/public/;
# Security headers
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
#add_header Content-Security-Policy "default-src 'none';frame-ancestors 'none'; script-src 'self' 'https://static.jean-cloud.net/player-interface/*' ; img-src 'self'; font-src 'self'; object-src 'none'; style-src 'self' 'https://static.jean-cloud.net/player-interface/*' 'https://cdn.jsdelivr.net/npm/*'; base-uri 'self'; form-action 'self';" always;
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options SAMEORIGIN always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Permissions-Policy "geolocation='none';midi='none';notifications='none';push='none';microphone='none';camera='none';magnetometer='none';gyroscope='none';speaker='self';vibrate='none';fullscreen='self';payment='none';";
location / {
index index.html;
try_files $uri $uri/ =404;
}
location /manager {
return 301 $scheme://mux.$JC_SERVICE/manager;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server{
listen $SWEBSOCKET_PORT ssl;
ssl_certificate $JC_CERT/fullchain.pem;
ssl_certificate_key $JC_CERT/privkey.pem;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://$NET$WEBSERVER:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 120s;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name $JC_SERVICE mux.$JC_SERVICE;
ssl_certificate $JC_CERT/fullchain.pem;
ssl_certificate_key $JC_CERT/privkey.pem;
location /soundbase {
alias "$DATA_DIR/soundbase";
try_files $uri $uri/ =404;
}
location / {
root "$DATA_DIR/soundbase/website";
try_files $uri $uri/ =404;
}
location /direct.ogg {
client_max_body_size 0;
proxy_pass http://$NET$ICECAST:8000/direct.ogg;
# kill cache
add_header Last-Modified $date_gmt;
add_header Cache-Control 'private no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
}
location /direct.mp3 {
client_max_body_size 0;
proxy_pass http://$NET$ICECAST:8000/direct.mp3;
add_header Cache-Control 'private no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
}
location /icecast/style.css {
client_max_body_size 0;
proxy_pass http://$NET$ICECAST:8000/style.css;
}
location /icecast/status.xsl {
client_max_body_size 0;
proxy_pass http://$NET$ICECAST:8000/status.xsl;
# kill cache
add_header Last-Modified $date_gmt;
add_header Cache-Control 'private no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
}
}

View File

@ -1,11 +1,43 @@
#!/bin/bash
set -euo pipefail
# Add ssh fingerprint
mkdir -p ~/.ssh
cat > ~/.ssh/known_hosts <<EOF
[sftp.jean-cloud.net]:2929 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5WLG4HbhHMWZySQkCOfMyJ8HAojyJJ66prhn/WSh1T6vyi/oWuodhN5fzIenEpKrmIzXLLfFa8Q9YuEYmcwNGp0FrTnATDYLABL530DBsCQzA5S+fLecY0iLHEkluuJCcX2+cNpu7ytzgbEzHFDRDkd6RgI1cBL5smCnbxfrJSvfLR0VvihQJNZKPYEFHxt9euGkHhKilwbXa4VEtfY8GfMK18dGlM+K2nRu4G+ckoNzx9K2RdwAqUyj1WFLrS+FYY8EbHlffWf4WES32tSeyd6z3rF0jFoN83ojZ0nPfcch10tWklfRc2RcoItde9p0bR/Cgz2SI1nZT9EcBhrpqGkucLsx/xvcxXd/puQDe9svBq1vgWRuub7e6Q40v8Lhl5dTGJutKLWbCg9udonaUIR/LudSnSgEGrDoz/Yjx8Iytj9+tLj9C+rRASfUnHnTRjsVKJG3Ofx+YHhWs0gLJcV06EvM+PBgZOCnegcPrssi0OE+I5HtDixTkaBNQPHXfKcGqlSEPRmqEuwsvdcv7vOfWJn1ufmKpoaLXWPrX+U4gZYSMHrhieqdcieT8wSu/YJa8gBM5qkK1WMOYxwYzLU5q9H4g9sJfFqk14cvQk47Tb+nTLlFoYZvunATBAxQuNuMo8+scu0BuIqinB5SjO6bwF3nJUCigs8BTmo95Pw==
[sftp.jean-cloud.net]:2929 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH92fuRZXMkNimUFFSY/6clxLZ3luxldw48RJjYclTai
gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
[radiodemo.oma-radio.fr]:45985 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7+fnwXN2ZmD7zOmrNYUKQMXKeIluaVFy1EizTtm98/4WkURbrawol5eyLqu55/vPjDUXBKqhR60rEl3X1mxY+Yo9ZKtAK34NcS0Jummqcwib2c3m68Op0FzNNY44ffsgi1txZuAPVvltI2P0ew6ee0h/ALnR6jfmVoQy+cHYPkIHO8j0sN+e9SMfvrmtZfDYMxYJJmG3fz52fWpy7wU02IqU3h/ZkhONAGBQUM41D/15Ix5CrYPrwkpC9z7yXKEBWmETo17jwccjELzRDliJ12QM9+41CqPGGif6OVUFhZrxli5laZ73tX9U29nV4xocIrgmtnKn7Q35avginud+ecUeLIK+p6mLoQ7hQfupKvc+Qww1TtctKmKvvjtv5PkUq5dZewolxRzj/dz2yQZl4Ahbyr5BqYh3h2A7ivQ3YL/6yt7uvx9l9ir21dv+rswB7TOrY7AC4uqrEdCGbGUK143B4jFzcMqhFeUlMkVnrgM6qTI9fHy5MYSUyRc0k1dU=
[radiodemo.oma-radio.fr]:45985 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH3IIDnQA6Fd3w3F2vb8aBlm1VzEqDg0ZzIDwWjIRHidSL+PAhuqtanCI9jpkyiiO5dgHseyOoKoMA5PtbUMfC8=
[radiodemo.oma-radio.fr]:45985 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE3KLhUKcRSPStEs5ApkgQT8qD0zAUcOdmJFoC+StkJE
EOF
echo "Pull demo git"
if [ -d "$DATA_DIR/core" ] ; then
git_update.sh -r dev -o "-i $DATA_DIR/radiodemo-deploy" -d "$DATA_DIR/core" git@gitlab.com:omaradio/core.git
fi
git_update.sh -r dev -d "$HTTP_DIR/manager" git@gitlab.com:omaradio/single-manager.git
cd "$HTTP_DIR/manager"
npm install
npm run build
echo "Sync manager files"
mkdir -p "$DATA_DIR/soundbase/manager"
rclone sync --config=/notfound --sftp-host sftp.jean-cloud.net --sftp-user "staticRO" --sftp-port 2929 --sftp-key-file "$SECRET_DIR/static.sshkey" ":sftp:/static/manager/$OMA_DOCKER_VERSION" "$DATA_DIR/soundbase/manager/"
echo "Sync player files"
mkdir -p "$DATA_DIR/soundbase/player"
rclone sync --config=/notfound --sftp-host sftp.jean-cloud.net --sftp-user "staticRO" --sftp-port 2929 --sftp-key-file "$SECRET_DIR/static.sshkey" ":sftp:/static/player/$OMA_DOCKER_VERSION" "$DATA_DIR/soundbase/player/"
echo "Generate website"
omarustwebsite-dev --soundbase-path "$SOUNDBASE_DIR" --output "$SOUNDBASE_DIR/website/" --soundbase-prefix '/soundbase' --website-prefix "" --player-url '/soundbase/player'
echo "starting lsyncd"
pkill "lsyncd" || true
mkdir -p /tmp/jc_log
chmod 777 /tmp/jc_log || true
lsyncd "$DOCKER_DIR/lsyncd.conf" 2>&1 >>/tmp/jc_log/$JC_SERVICE.lsyncd.log &

View File

@ -1,14 +1,13 @@
version: '3'
services:
anthracite_jukebox:
jukebox:
image: registry.gitlab.com/omaradio/core/oma-jukebox:$OMA_DOCKER_VERSION
env_file: .env
environment:
OMA_CONFIG_Client1Host: mux.radiodemo.oma-radio.fr
OMA_CONFIG_TelecommandeHost: $RADIO_HOST
OMA_CONFIG_TelecommandePort: $TELECOM_SERVER_PORT
OMA_CONFIG_Client1Host: $RADIO_HOST
OMA_CONFIG_Client1Port: $MUX_SERVER_PORT
OMA_CONFIG_Client2: off
OMA_CONFIG_Client2Host: radionimaitre.oma-radio.fr
OMA_CONFIG_Client2Port: 9003
volumes:
- $SOUNDBASE_DIR:/app/soundBase
- $SOUNDBASE_DIR/secours/JingleDemo-Secours.wavM:/app/secours/secours-jingle.wavM
@ -23,30 +22,12 @@ services:
cpus: '1'
memory: 100M
azurite_jukebox_simulator:
image: registry.gitlab.com/omaradio/core/oma-jukebox-simulator:$OMA_DOCKER_VERSION
env_file: .env
volumes:
- $SOUNDBASE_DIR:/app/soundBase
restart: unless-stopped
networks:
default:
ipv4_address: $NET.103
deploy:
resources:
limits:
cpus: '0.50'
memory: 100M
# aventurine_transcode:
# image: jeancloud/transcode:$OMA_DOCKER_VERSION
# env_file: .env
# restart: unless-stopped
agate_importer:
image: registry.gitlab.com/omaradio/core/oma-baseimport:$OMA_DOCKER_VERSION
importer:
image: registry.gitlab.com/omaradio/core/oma-base-import:$OMA_DOCKER_VERSION
env_file: .env
environment:
OMA_CONFIG_TelecommandeHost: $RADIO_HOST
volumes:
- $SOUNDBASE_DIR:/app/soundBase
stop_grace_period: 1m30s
@ -58,12 +39,14 @@ services:
resources:
limits:
cpus: '0.50'
memory: 500M
memory: 1000M
rubis_base_mg:
basemg:
image: registry.gitlab.com/omaradio/core/oma-base-mg:$OMA_DOCKER_VERSION
env_file: .env
environment:
OMA_CONFIG_TelecommandeHost: $RADIO_HOST
restart: unless-stopped
volumes:
- $SOUNDBASE_DIR:/soundbase
@ -78,9 +61,10 @@ services:
system_api:
image: jeancloud/system-api:dev
image: jeancloud/system-api:$OMA_DOCKER_VERSION
env_file: .env
environment:
OMA_CONFIG_TelecommandeHost: $RADIO_HOST
UID: 33
SOUNDBASE_PATH: /soundbase
MOUNT: /api
@ -99,32 +83,6 @@ services:
cpus: '0.50'
memory: 500M
#ammolite_mp3_addon:
# image: jeancloud/mp3addon:$OMA_DOCKER_VERSION
# env_file: .env
# environment:
# OMA_CONFIG_PigePrefix: /opt
# restart: unless-stopped
# volumes:
# - $SOUNDBASE_DIR:/app/soundbase
# networks:
# default:
# ipv4_address: $NET.109
# deploy:
# resources:
# limits:
# cpus: '0.05'
# doxy:
# image: qnib/doxy
# volumes:
# - /tmp/radiodemo.oma-radio.fr/doxy:/tmp/doxy
# - /data/radiodemo.oma-radio.fr/doxy.pattern:/etc/doxy.pattern
# - /var/run/docker.sock:/var/run/docker.sock
# environment:
# DOXY_PROXY_SOCKET: /tmp/doxy/doxy.sock
networks:
default:
ipam:

View File

@ -0,0 +1,21 @@
settings {
logfile = "/tmp/lsyncd.log",
statusFile = "/tmp/lsyncd.status",
nodaemon = true,
}
sync {
default.rsyncssh,
source = "/data/soundbase.radiodemo.oma-radio.fr/soundbase",
host = "radiodemo.oma-radio.fr@radiodemo.oma-radio.fr",
targetdir = "/data/radiodemo.oma-radio.fr/soundbase",
exclude = {'/wav*', '/png/', '/jpg*', '/png*', '/txt/', '/webpH/', '/import*', '/fic', '/bonus*', '/prg/', '/secours/', '/statique/', '/tmp/', '/cart/', 'cfg_*', '/readme.md', '/mp3/', '/lst/', '/groups.json', '/users.htpasswd'},
ssh = {
identityFile = "~/.ssh/synchro_tete.sshkey",
port = 45985,
},
-- need 2.3.0 -- daily sync
--crontab = {
-- "11 11 4 * * *",
--},
}

View File

@ -16,16 +16,29 @@
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name $JC_SERVICE;
root $SOUNDBASE_DIR/website;
index index.html;
ssl_certificate $JC_CERT/fullchain.pem;
ssl_certificate_key $JC_CERT/privkey.pem;
location ~ /api(/.*) {
root $SOUNDBASE_DIR;
index index.html;
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
location /soundbase {
alias "$DATA_DIR/soundbase";
try_files $uri $uri/ =404;
}
location / {
root "$DATA_DIR/soundbase/website";
try_files $uri $uri/ =404;
}
location ~ /api(/.*) {
include uwsgi_params;
uwsgi_param PATH_INFO "$1";
uwsgi_param SCRIPT_NAME /api;
@ -43,77 +56,5 @@ server {
etag off;
}
location /pige{
alias $SOUNDBASE_DIR/pige;
try_files $uri $uri/ =404;
}
location /png {
alias $SOUNDBASE_DIR/png;
try_files $uri $uri/ =404;
}
location /webpL {
alias $SOUNDBASE_DIR/webpL;
try_files $uri $uri/ =404;
}
location /webpH {
alias $SOUNDBASE_DIR/webpH;
try_files $uri $uri/ =404;
}
location /ogg {
alias $SOUNDBASE_DIR/ogg;
try_files $uri $uri/ =404;
}
location /txt {
alias $SOUNDBASE_DIR/txt;
try_files $uri $uri/ =404;
}
location /wavM {
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
alias $SOUNDBASE_DIR/wavM;
try_files $uri $uri/ =404;
}
location /import {
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
alias $SOUNDBASE_DIR/import;
try_files $uri $uri/ =404;
}
location /export {
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
alias $SOUNDBASE_DIR/export;
try_files $uri $uri/ =404;
}
location /wav {
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
alias $SOUNDBASE_DIR/wav;
try_files $uri $uri/ =404;
}
location /fic {
add_header Cache-Control 'must-revalidate, proxy-revalidate';
alias $SOUNDBASE_DIR/fic;
try_files $uri $uri/ =404;
}
location /prg {
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
alias $SOUNDBASE_DIR/prg;
try_files $uri $uri/ =404;
}
location /lst {
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
alias $SOUNDBASE_DIR/lst;
try_files $uri $uri/ =404;
}
# Admin interface
location /manager {
alias $HTTP_DIR/manager/dist;
auth_basic "Entrez votre identifiant et mot de passe";
auth_basic_user_file $SOUNDBASE_DIR/users.htpasswd;
try_files $uri $uri/ =404;
}
}