Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Aphorismen
Applications
Business Economics & Admin.
My Computers
Cooking
Devices
Folders
Food
Hardware
Infos
Software Development
Sports
Operation Instructions
Todos
Test
Help
Glossary
Community portal
adaptions
Sidebar anpassen
Wiki RB4
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
RaspberryPi4B
(section)
Page
Discussion
English
Read
Edit
View history
Toolbox
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Installation== ===Operating System=== * at 2025-09-15 change to version 12 bookworm * install rpi imager tool by ** <code>sudo apt update</code> ** <code>sudo apt install rpi-imager</code> * start VNCViewer on Laptop * open cmd shell and <code>rpi-imager</code> * select 64bit OS (bookwarm) and write to SD writer * poweroff and change SD, plug-in monitor, mouse and keyboard * switch on until asked to set ** Country (Germany, German, Berlin) ** User (uwe, <Lr><STANDARD><Lr>) ** reboot * opens desktop * open terminal for checking fixed IP ** ip link show eth0 gives MAC address e4:5f:01:47:89:ef ** this is configured in fritz box * open terminal to enable ssh login, VNC ** <code>sudo raspi-config</code> ** Interface Options -> SSH ** Interface Options -> VNC * check by ** <code>lsb_release -a</code> ** <code>cat /etc/os-release</code> * insert old boot sd card ** it has two partitions boot and rootfs * prepare backup of Raspberry 3B like on the old OS ** <code>ssh-keygen</code> and <code>ssh-key-cp</code> ** because the new OS is using a new ssh version and a check with <code>ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa -o HostKeyAlgorithms=+ssh-rsa root@192.168.178.35</code> worked (login w/o password) ** create <code>~/.ssh/config</code> with Host raspberry3 HostName 192.168.178.35 User root PubkeyAcceptedAlgorithms +ssh-rsa HostKeyAlgorithms +ssh-rsa IdentityFile /home/uwe/.ssh/id_rsa ** can be tested by <code>ssh raspberry3</code> ** install sshfs ** install rclone and configure Google backup drive <code>uh_gdrive_backup</code> (see [https://drive.google.com/drive/folders/1m5lQlZf6a5zJwJ_MsUNu1OpwGw65IxN2 Google Drive]) * VNC is already part of installation ===[[Angular|Angular]]=== npm install -g @angular/cli ===[[Docker|Docker]]=== * installation according to [https://docs.docker.com/engine/install/debian/ here] with the convenience script (because of the comment regarding raspberry installation) curl -fsSL https://get.docker.com -o get-docker.sh DRY_RUN=1 sudo sh ./get-docker.sh sudo reboot sudo usermod -aG docker $USER // logout and login * architecture is <code>linux/arm64/v8</code> * edited <code>/usr/lib/systemd/system/docker.service</code>, saved the old version to <code>~/SoftwareProjects/eclipse-workspace/uweheuer-backend/docker.service.2023-01-07</code> to get rid of iptables error and missing dPort parameter when calling docker compose up for uweheuerbackend Test by: docker docker version docker compose version docker run hello-world ====Portainer Community Edition (CE)==== * according to [https://www.stewright.me/2022/01/tutorial-install-portainer-to-manage-docker-container/ here] mkdir ~/PortainerData docker volume create portainer_data docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/home/uwe/PortainerData cr.portainer.io/portainer/portainer-ce:latest * https://192.168.178.72:9443/ in Edge admin <Lp><Lp><STANDARD><Lp><Lp> ===Git and GitHub CLI=== sudo apt install git git --version git config --global user.email uwe.heuer@gmail.com git config --global user.name UweHeuer * GitHub CLI from [https://github.com/cli/cli/blob/trunk/docs/install_linux.md here] type -p curl >/dev/null || sudo apt install curl -y curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && sudo apt update \ && sudo apt install gh -y * test by gh version ===Java=== java -version sudo apt install openjdk-17-jdk ===Maven=== sudo apt install maven ===Mediawiki=== There are 2 docker compositions: ====Production==== * <code>/home/uwe/mediawiki-docker/</code> * https://uweheuer.spdns.de/mediawiki_new/index.php?title=Special:Version * Port 8080 * routed via Raspberry 3 apache =====Import from Raspberry 3===== =====Content===== * Version, Extensions, ... https://uweheuer.spdns.de/mediawiki_new/index.php?title=Special:Version =====Backup===== * see [[RaspberryPi4B#Backup_of_Mediawiki|here]] ====Test Environment==== Used for testing e.g. configuration changes or extensions =====Installation===== * <code>/home/uwe/mediawiki-docker-test-1/</code> * routed via Raspberry 3 apache * create <code>docker-compose.yml</code> by copy from production ** adjust port to 8081 * Configuration during installation script(see also <code>docker-compose.yml</code>) ** database host 'db' ** database name 'wikidb' ** database user 'wikiuser' ** database password 'wikisecret' ** Admin account 'uwe.heuer@gmail.com' ** Admin pwd '<Lm><STANDARD><Lm>' * download <code>LocalSettings.php</code> and copy it into root of the docker * adjust <code>docker-compose.yml</code> so that <code>LocalSettings.php</code> * copied some variables from production to make it accessible ======Enable Image Uploads e.g. for Visual Editor====== in <code>LocalSettings.php</code> $wgEnableUploads = true; $wgUploadDirectory = "$IP/images"; $wgUploadPath = "$wgScriptPath/images"; in container by <code>docker exec -it mediawiki-docker-test-1_mediawiki_1 bash</code>: cd /var/www/html mkdir -p images/temp chown -R www-data:www-data images chmod -R 755 images on Raspberry: sudo chmod -R 777 ./images =====Content===== * Content by https://uweheuer.spdns.de/mediawiki_test1 * Version by https://uweheuer.spdns.de/mediawiki_test1/index.php?title=Special:Version * Sidebar by https://uweheuer.spdns.de/mediawiki_test1/index.php?title=MediaWiki:Sidebar&action=edit * Number of headers by https://uweheuer.spdns.de/mediawiki_test1/index.php?title=MediaWiki:Vector-2022.css (does not work yet) =====Operation===== * <code>docker-compose restart mediawiki</code> * switch skin by https://uweheuer.spdns.de/mediawiki_test1/index.php?title=Special:Preferences&useskin=vector&wprov=vctw1#mw-prefsection-rendering-skin ===MySQL=== * installation with only the first step (w/o securing) to get the client according to https://pimylifeup.com/raspberry-pi-mysql/ ===Node.js=== * installation according to [https://pimylifeup.com/raspberry-pi-nodejs/ here] curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install nodejs node -v // prints v18.14.0 sudo apt install build-essential ===[[Postgres|PostgreS(QL)]]=== // create a docker container [[Docker|docker]] run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=Halloo0@1 -e POSTGRES_DB=postgres -e POSTGRES_USER=postgres -v pgdata:/var/lib/postgresql/data -d postgres // -p <HOSTPORT>:<CONTAINERPORT> // -e <ENV_VARIABLE>=<VALUE> // -v <VOLUME_NAME>:<CONTAINER_DIR> // -n <NAME> pi@raspberrypi:~ $ docker volume inspect pgdata [ { "CreatedAt": "2021-09-30T21:44:54+01:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/pgdata/_data", "Name": "pgdata", "Options": null, "Scope": "local" } ] // test access C:\Uwes\Programme\PostgreSQL\12\bin> .\psql.exe -h uweheuer.spdns.de -U postgres postgres // clean up everything docker stop postgres docker rm postgres docker volume rm pgdata // this seems to be important, because it seems otherwise the password is denied ===RClone=== * main purpose to backup to Google cloud * <code>sudo apt install rclone</code> * <code>rclone config</code> should be run from a cmd shell on a desktop because the browser is needed ** creating 'uh_gdrive_backup' ** ... defaults ** select advanced configuration ** provide ID of backup folder https://drive.google.com/drive/folders/1ZGN3BoSgmA6iPYRtsrtEQlNBc0LGgXzT ** ... communicates with browser * test with ** <code>rclone listremotes</code> ** <code>rclone ls uh_gdrive_backup:</code> ** <code>rclone about uh_gdrive_backup:</code> ===Remode Desktop (RDP)=== * login via SSH ** <code>sudo apt install xrdp</code> ** <code>sudo service xrdp start</code> * remote desktop via Windows is empty => try VNC ===SSH=== * login via cmd line ssh uwe@uweheuer.spdns.de -p 54445 <Lr><STANDARD><Lr> ===VNC (Remote Desktop)=== * update raspberry * install VNC server in a long process with ChatGPT error search and handling * reboot * install RealVNC Viewer on Windows
Summary:
Please note that all contributions to Wiki RB4 may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Uwe Heuer Wiki New:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width