deployment_raspberry
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| deployment_raspberry [2025/10/15 19:48] – ninin | deployment_raspberry [2025/11/27 22:39] (current) – ninin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ip ermitteln: | + | === Allgemein === |
| - | login: ssh user@ip | + | IP ermitteln: |
| + | arp -a | ||
| + | |||
| + | login: | ||
| + | | ||
| Virtual environment | Virtual environment | ||
| cd sese_project/ | cd sese_project/ | ||
| + | python3 -m venv env | ||
| source env/ | source env/ | ||
| + | pip install -r app/ | ||
| - | Create Database | + | Set Environment Variables |
| + | | ||
| + | export POSTGRES_DB=< | ||
| + | export POSTGRES_USER=< | ||
| + | export POSTGRES_PASSWORD=< | ||
| Start Dev Server | Start Dev Server | ||
| Line 14: | Line 23: | ||
| - | ### Turn off power management for network adapter | + | === Turn off power management for network adapter |
| Create a new systemd service file: | Create a new systemd service file: | ||
| Line 44: | Line 53: | ||
| sudo reboot | sudo reboot | ||
| + | === Create Database === | ||
| + | |||
| + | sudo su postgres | ||
| + | psql | ||
| + | CREATE DATABASE <db>; | ||
| + | CREATE USER < | ||
| + | ALTER USER < | ||
| + | GRANT ALL PRIVILEGES ON DATABASE <db> TO < | ||
| + | ALTER DATABASE <db> OWNER TO < | ||
| + | |||
| + | |||
| + | === Deployment Checklist === | ||
| + | |||
| + | - Static Files | ||
| + | python manage.py collectstatic | ||
| + | |||
| + | With cleanup: | ||
| + | python manage.py collectstatic --noinput --clear | ||
| + | |||
| + | === Nginx === | ||
| + | |||
| + | sudo nano / | ||
| + | |||
| + | Next, enable the configuration: | ||
| + | |||
| + | sudo ln -s / | ||
| + | |||
| + | sudo nginx -t | ||
| + | sudo systemctl restart nginx | ||
| + | |||
| + | Analyse: | ||
| + | |||
| + | sudo nginx -T | sed -n ' | ||
| + | |||
| + | |||
| + | === Gunicorn === | ||
| + | |||
| + | sudo nano / | ||
| + | |||
| + | Bei Änderungen: | ||
| + | |||
| + | systemctl daemon-reload | ||
| + | sudo systemctl restart gunicorn | ||
| + | | ||
| + | followed by a hard browser refresh (Ctrl + Shift + R). | ||
| + | |||
| + | |||
| + | === Rollout Release === | ||
| + | |||
| + | # In deinem Produktionsverzeichnis | ||
| + | cd / | ||
| + | |||
| + | # Aktiviere Virtual Environment | ||
| + | source env/ | ||
| + | |||
| + | # Hole neueste Tags | ||
| + | git fetch --tags | ||
| + | |||
| + | # Liste verfügbare Tags auf | ||
| + | git tag -l | ||
| + | |||
| + | # Checke das gewünschte Tag aus (mit lokalem Branch, um keinen detached-head zu bekommen) | ||
| + | git checkout -b production-v1.0.0 tags/v1.0.0 | ||
| + | |||
| + | # Installiere/ | ||
| + | pip install -r app/ | ||
| + | |||
| + | # Führe Migrations aus (falls nötig) | ||
| + | python app/ | ||
| + | |||
| + | # Sammle Static Files | ||
| + | python app/ | ||
| + | |||
| + | # Starte Gunicorn neu | ||
| + | sudo systemctl restart gunicorn | ||
| + | |||
| + | |||
| + | === Tutorial === | ||
| + | |||
| + | https:// | ||
| + | https:// | ||
deployment_raspberry.1760557680.txt.gz · Last modified: by ninin
