radiodemo fix
This commit is contained in:
parent
ba02d06729
commit
8992a9cdb6
BIN
provisioning/roles/deploy_all/files/bin/omarustwebsite-dev
Executable file
BIN
provisioning/roles/deploy_all/files/bin/omarustwebsite-dev
Executable file
Binary file not shown.
@ -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
|
||||
|
@ -1,16 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Si le site a déjà été build par le passé, curl termine l’exécution du script en cas d’absence 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
|
||||
|
132
services/radiodemo.oma-radio.fr/docker-compose.yml
Normal file
132
services/radiodemo.oma-radio.fr/docker-compose.yml
Normal 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
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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 &
|
||||
|
@ -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:
|
||||
|
21
services/soundbase.radiodemo.oma-radio.fr/lsyncd.conf
Normal file
21
services/soundbase.radiodemo.oma-radio.fr/lsyncd.conf
Normal 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 * * *",
|
||||
--},
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user