aufsetzen_raspberry_lokal
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| aufsetzen_raspberry_lokal [2026/06/10 21:33] – created ninin | aufsetzen_raspberry_lokal [2026/06/12 21:52] (current) – ninin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | 1. Betriebssystem auf SD-Karte flashen | + | ====1. Betriebssystem auf SD-Karte flashen==== |
| - | 2. Hochfahren, Netzwerk und SSH einrichten | + | ====2. Hochfahren, Locale, Netzwerk und SSH einrichten==== |
| - | 3. Projektverzeichnis erstellen: | + | ====3. Git installieren==== |
| + | sudo apt update | ||
| + | sudo apt upgrade | ||
| + | sudo apt install git -y | ||
| + | git --version | ||
| + | |||
| + | ====4. Git einrichten (ssh)==== | ||
| + | git config --global user.name [NAME] | ||
| + | git config --global user.email [EMAIL] | ||
| + | ssh-keygen -t ed25519 -C [EMAIL] | ||
| + | cat ~/ | ||
| + | Schlüssel kopieren und bei Codeberg unter Profilbild -> Settings -> SSH- / GPG-Keys -> Add Key | ||
| - | mkdir sese_project | + | ====5. Projektverzeichnis erstellen: |
| - | 4. Klonen Git-Repository: | + | mkdir sese_project |
| - | git clone https:// | + | ====6. Klonen Git-Repository: |
| - | 5. Virtuelle Umgebung | + | git clone ssh:// |
| - | cd sese_project/ | + | ====7. Virtuelle Umgebung==== |
| - | python3 -m venv env | + | |
| - | source env/ | + | |
| - | + | ||
| - | 6. Requirements installieren | + | |
| - | | + | cd sese_project/ |
| - | + | python3 -m venv env | |
| - | 7. Umgebungsvariablen | + | source env/ |
| - | | + | |
| - | | + | ====8. Requirements installieren==== |
| - | | + | |
| - | | + | |
| - | + | ||
| - | 8. Testen: lässt sich der dev-server starten? | + | ====9. .env-file für Umgebungsvariablen |
| - | | + | nano .env |
| + | |||
| + | mit folgendem Inhalt: | ||
| + | |||
| + | | ||
| + | |||
| + | SECRET_KEY=[KEY] | ||
| + | |||
| + | DEBUG=False | ||
| + | |||
| + | | ||
| + | POSTGRES_USER=[DB_USER] | ||
| + | POSTGRES_PASSWORD=[DB_PW] | ||
| + | | ||
| + | | ||
| + | |||
| + | ====10. Postgres installieren==== | ||
| + | sudo apt install postgresql postgresql-contrib libpq-dev -y | ||
| + | |||
| + | ====11. Datenbank erstellen==== | ||
| + | sudo -i -u postgres psql | ||
| + | |||
| + | CREATE DATABASE [DB_NAME]; | ||
| + | |||
| + | CREATE USER [DB_USER] WITH PASSWORD ' | ||
| + | |||
| + | ALTER ROLE [DB_USER] SET client_encoding TO ' | ||
| + | ALTER ROLE [DB_USER] SET default_transaction_isolation TO 'read committed'; | ||
| + | ALTER ROLE [DB_USER] SET timezone TO ' | ||
| + | |||
| + | GRANT ALL PRIVILEGES ON DATABASE [DB_NAME] TO [DB_USER]; | ||
| + | |||
| + | ALTER DATABASE [DB_NAME] OWNER TO [DB_USER]; | ||
| + | |||
| + | \q | ||
| + | |||
| + | ====12. DB-Backup auf Raspberry kopieren==== | ||
| + | |||
| + | scp / | ||
| + | |||
| + | ====13. Dump laden==== | ||
| + | pg_restore -h localhost -p 5432 -U [DB_USER] -d [DB_NAME] --no-owner --no-acl / | ||
| + | |||
| + | ====14. Hinzufügen IP zu ALLOWED_HOSTS in settings.py==== | ||
| + | |||
| + | ====15. Static Files==== | ||
| + | python | ||
| + | |||
| + | Rechte für Nginx auf das staticfiles-Verzeichnis vergeben: | ||
| + | sudo chown -R :www-data [...]/ | ||
| + | sudo chmod -R 755 [...]/ | ||
| + | sudo chmod o+x / | ||
| + | |||
| + | ====16. Nginx==== | ||
| + | |||
| + | sudo apt install nginx -y | ||
| + | |||
| + | sudo nano / | ||
| + | |||
| + | with following content: | ||
| + | |||
| + | server { | ||
| + | listen 80; | ||
| + | server_name < | ||
| + | |||
| + | location / { | ||
| + | proxy_pass http:// | ||
| + | proxy_set_header Host $host; | ||
| + | proxy_set_header X-Real-IP $remote_addr; | ||
| + | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
| + | } | ||
| + | |||
| + | location /static/ { | ||
| + | alias </ | ||
| + | } | ||
| + | } | ||
| + | |||
| + | Next, enable the configuration: | ||
| + | sudo ln -s / | ||
| + | sudo nginx -t | ||
| + | sudo systemctl restart nginx | ||
| + | |||
| + | Check: | ||
| + | sudo nginx -T | sed -n ' | ||
| + | |||
| + | ====17. Gunicorn==== | ||
| + | |||
| + | |||
| + | sudo nano / | ||
| + | |||
| + | content: | ||
| + | [Unit] | ||
| + | |||
| + | Description=gunicorn daemon for Django | ||
| + | After=network.target | ||
| + | |||
| + | [Service] | ||
| + | User=[SYSTEMUSER] | ||
| + | Group=www-data | ||
| + | RuntimeDirectory=gunicorn | ||
| + | WorkingDirectory=[...]/ | ||
| + | ExecStart=[...]/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | |||
| + | Start and enable the service: | ||
| + | sudo systemctl start gunicorn | ||
| + | sudo systemctl enable gunicorn | ||
aufsetzen_raspberry_lokal.1781127221.txt.gz · Last modified: by ninin
