rename files

This commit is contained in:
jr-k 2024-05-16 02:51:16 +02:00
parent 241da7f67a
commit c2c8494874
7 changed files with 37 additions and 19 deletions

View File

@ -1,4 +1,4 @@
DEBUG=false DEBUG=false
PORT=5000 PORT=5000
SECRET_KEY=ANY_SECRET_KEY_HERE SECRET_KEY=ANY_SECRET_KEY_HERE
PLAYER_AUTOSTART_FILE=/home/pi/obscreen/system/start-chromium.sh # Replace by "/dev/null" if not needed PLAYER_AUTOSTART_FILE=./var/run/play # Replace by "/dev/null" if not needed

View File

@ -9,7 +9,7 @@ services:
- PLAYER_AUTOSTART_FILE=/app/var/run/play - PLAYER_AUTOSTART_FILE=/app/var/run/play
- SECRET_KEY=ANY_SECRET_KEY_HERE - SECRET_KEY=ANY_SECRET_KEY_HERE
volumes: volumes:
- /home/pi/obscreen/system/start-chromium.sh:/app/var/run/play - ./var/run/play:/app/var/run/play
- ./data/db:/app/data/db - ./data/db:/app/data/db
- ./data/uploads:/app/data/uploads - ./data/uploads:/app/data/uploads
ports: ports:

View File

@ -6,6 +6,14 @@
--- ---
## 🐳 Run with docker ## 🐳 Run with docker
### Install docker if needed
```bash
curl -sSL get.docker.com | sh
sudo usermod -aG docker pi
logout
#then login again
```
### With docker (for test) ### With docker (for test)
```bash ```bash
# Prepare application data file tree # Prepare application data file tree
@ -41,12 +49,14 @@ docker compose up --detach --pull always
```bash ```bash
# Install system dependencies # Install system dependencies
sudo apt-get update sudo apt-get update
sudo apt-get install -y git sudo apt-get install -y git python3-pip python3-venv
# Get files # Get files
git clone https://github.com/jr-k/obscreen.git && cd obscreen git clone https://github.com/jr-k/obscreen.git && cd obscreen
# Install application dependencies # Install application dependencies
python3 -m venv venv
source ./venv/bin/python
pip3 install -r requirements.txt pip3 install -r requirements.txt
# Add some sample data # Add some sample data
@ -62,7 +72,7 @@ cp .env.dist .env
### Start server (for test) ### Start server (for test)
```bash ```bash
./obscreen.py python ./obscreen.py
``` ```
### Start server forever with systemctl ### Start server forever with systemctl

View File

@ -15,7 +15,7 @@
### Install docker if needed ### Install docker if needed
```bash ```bash
curl -sSL get.docker.com | sh curl -sSL get.docker.com | sh
sudo usermod -aG docker $(whoami) sudo usermod -aG docker pi
logout logout
#then login again #then login again
``` ```
@ -23,11 +23,14 @@ logout
### With docker (for test) ### With docker (for test)
```bash ```bash
# Prepare application data file tree and prepare player autostart file # Prepare application data file tree
cd /home/pi && mkdir -p obscreen/data/db obscreen/data/uploads obscreen/system && touch system/start-chromium.sh && cd obscreen cd /home/pi && mkdir -p obscreen/data/db obscreen/data/uploads && cd obscreen
# Prepare player autostart file
mkdir -p var/run && touch var/run/play && chmod +x var/run/play
# Run the Docker container # Run the Docker container
ocker run --rm --name obscreen --pull=always \ docker run --rm --name obscreen --pull=always \
-e DEBUG=false \ -e DEBUG=false \
-e PORT=5000 \ -e PORT=5000 \
-e PLAYER_AUTOSTART_FILE=/app/var/run/play \ -e PLAYER_AUTOSTART_FILE=/app/var/run/play \
@ -35,14 +38,17 @@ ocker run --rm --name obscreen --pull=always \
-p 5000:5000 \ -p 5000:5000 \
-v ./data/db:/app/data/db \ -v ./data/db:/app/data/db \
-v ./data/uploads:/app/data/uploads \ -v ./data/uploads:/app/data/uploads \
-v /home/pi/obscreen/system/start-chromium.sh:/app/var/run/play \ -v ./var/run/play:/app/var/run/play \
jierka/obscreen:latest jierka/obscreen:latest
``` ```
### Or with docker-compose ### Or with docker-compose
```bash ```bash
# Prepare application data file tree # Prepare application data file tree
cd /home/pi && mkdir -p obscreen/data/db obscreen/data/uploads obscreen/system && touch system/start-chromium.sh && cd obscreen cd /home/pi && mkdir -p obscreen/data/db obscreen/data/uploads obscreen/system && cd obscreen
# Prepare player autostart file
mkdir -p var/run && touch var/run/play && chmod +x var/run/play
# Download docker-compose.yml # Download docker-compose.yml
curl https://raw.githubusercontent.com/jr-k/obscreen/master/docker-compose.yml > docker-compose.yml curl https://raw.githubusercontent.com/jr-k/obscreen/master/docker-compose.yml > docker-compose.yml
@ -56,12 +62,14 @@ docker compose up --detach --pull always
```bash ```bash
# Install system dependencies # Install system dependencies
sudo apt-get update sudo apt-get update
sudo apt-get install -y git sudo apt-get install -y git python3-pip python3-venv
# Get files # Get files
git clone https://github.com/jr-k/obscreen.git && cd obscreen git clone https://github.com/jr-k/obscreen.git && cd obscreen
# Install application dependencies # Install application dependencies
python3 -m venv venv
source ./venv/bin/python
pip3 install -r requirements.txt pip3 install -r requirements.txt
# Add some sample data # Add some sample data
@ -77,7 +85,7 @@ cp .env.dist .env
### Start server (for test) ### Start server (for test)
```bash ```bash
./obscreen.py python ./obscreen.py
``` ```
### Start server forever with systemctl ### Start server forever with systemctl

View File

@ -12,7 +12,7 @@ load_dotenv()
class ConfigManager: class ConfigManager:
DEFAULT_PORT = 5000 DEFAULT_PORT = 5000
DEFAULT_PLAYER_AUTOSTART_PATH = '/home/pi/obscreen/system/start-chromium.sh' DEFAULT_PLAYER_AUTOSTART_PATH = './var/run/play'
VERSION_FILE = 'version.txt' VERSION_FILE = 'version.txt'
def __init__(self, variable_manager: VariableManager): def __init__(self, variable_manager: VariableManager):
@ -111,9 +111,8 @@ class ConfigManager:
if os.path.isdir(path) or not os.path.exists(path): if os.path.isdir(path) or not os.path.exists(path):
logging.error( logging.error(
"Player autostart file {} doesn't exist on your server, please create it by executing follow command: \n'rm -rf ./var/run/play 2>/dev/null ; sudo touch {}'\n".format( "Player autostart file {} doesn't exist on your server'\n".format(
player_autostart_path, player_autostart_path
self.DEFAULT_PLAYER_AUTOSTART_PATH
) )
) )
sys.exit(1) sys.exit(1)
@ -122,8 +121,7 @@ class ConfigManager:
player_url = self.map().get('player_url') player_url = self.map().get('player_url')
os.makedirs(os.path.dirname(player_autostart_path), exist_ok=True) os.makedirs(os.path.dirname(player_autostart_path), exist_ok=True)
xenv_presets = """ xenv_presets = """#!/bin/bash
#!/bin/bash
# Disable screensaver and DPMS # Disable screensaver and DPMS
xset s off xset s off

View File

@ -4,7 +4,7 @@ After=network.target
[Service] [Service]
Type=simple Type=simple
ExecStart=/usr/bin/xinit /home/pi/obscreen/system/start-chromium.sh -- :0 -nolisten tcp vt7 -keeptty ExecStart=/usr/bin/xinit /home/pi/obscreen/var/run/play -- :0 -nolisten tcp vt7 -keeptty
User=pi User=pi
Group=pi Group=pi
Restart=on-failure Restart=on-failure

View File

@ -1,3 +1,4 @@
#!/bin/bash #!/bin/bash
# Disable screensaver and DPMS # Disable screensaver and DPMS
@ -19,3 +20,4 @@ HEIGHT=$(echo $RESOLUTION | cut -d 'x' -f 2)
# Start Chromium in kiosk mode # Start Chromium in kiosk mode
chromium-browser --disable-features=Translate --ignore-certificate-errors --disable-web-security --disable-restore-session-state --autoplay-policy=no-user-gesture-required --start-maximized --allow-running-insecure-content --remember-cert-error-decisions --noerrdialogs --kiosk --incognito --window-position=0,0 --window-size=${WIDTH},${HEIGHT} --display=:0 http://localhost:5000 chromium-browser --disable-features=Translate --ignore-certificate-errors --disable-web-security --disable-restore-session-state --autoplay-policy=no-user-gesture-required --start-maximized --allow-running-insecure-content --remember-cert-error-decisions --noerrdialogs --kiosk --incognito --window-position=0,0 --window-size=${WIDTH},${HEIGHT} --display=:0 http://localhost:5000