Difference between revisions of "APITestPage"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
(updated by API)
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Getting Started with OpenMediaVault/zh|查看中文]]
 
==OpenMediaVault version==
 
* OS: Debian 12<br />
 
* OpenMediaVault: 7.0.5-1 (Sandworm)<br />
 
* Docker: 26.0.1<br />
 
* Others: built-in OMV-Extras<br />
 
==Earlier version OpenMediaVault==
 
Link to → [[Getting Started with OpenMediaVault6|Getting Started with OpenMediaVault6]]
 
==First Look==
 
[[File:Openmediavault7.png|600px]]
 
==Supported platforms==
 
* RK3328<br />
 
* RK3399<br />
 
* RK3568<br />
 
* RK3588<br />
 
==Find IP Address==
 
Since the hostname is set by default to the model of the development board, you can use the "ping" command to obtain the IP address. For example, for CM3588, you can use the following command:
 
<syntaxhighlight lang="bash">
 
ping CM3588
 
</syntaxhighlight>
 
==Access the OpenMediaVault web page==
 
Enter the IP address of the development board in your web browser; the default login account for the web interface is:
 
<syntaxhighlight lang="bash">
 
Username: admin
 
Password: openmediavault
 
</syntaxhighlight>
 
==Change admin password==
 
Click on the profile icon in the upper-right corner of the web page, then select '''"Change Password"'''.
 
==Configure the web page timeout duration==
 
Go to '''System -> Workbench''' and adjust the '''"Auto Logout"''' time setting.
 
==Linux default passwords==
 
Regular Account:<br/>
 
&nbsp;&nbsp;&nbsp;&nbsp;User Name: pi<br/>
 
&nbsp;&nbsp;&nbsp;&nbsp;Password: pi<br/>
 
<br/>
 
Root:<br/>
 
&nbsp;&nbsp;&nbsp;&nbsp;User Name: root<br/>
 
&nbsp;&nbsp;&nbsp;&nbsp;Password: fa<br/>
 
==Root Login via SSH==
 
<syntaxhighlight lang="bash">
 
ssh pi@YourIPAddress
 
</syntaxhighlight>
 
The default password is '''"pi"'''.
 
==Change the passwords==
 
<syntaxhighlight lang="bash">
 
sudo passwd root
 
sudo passwd pi
 
</syntaxhighlight>
 
==Configuring the network and time zone==
 
Login to your OMV via SSH as root user:
 
<syntaxhighlight lang="bash">
 
ssh root@IPAddress
 
</syntaxhighlight>
 
Excute the following command:
 
<syntaxhighlight lang="bash">
 
omv-firstaid
 
</syntaxhighlight>
 
Something like this should appear:<br />
 
[[File:Omv-firstaid.png|400px]]
 
==Set up your drives==
 
Note: If the hard drive has already been initialized and RAID has been preserved, you should be able to mount it directly.
 
Refre to: [[#How to recover files after reinstalling OpenMediaVault]]
 
===Step 1: Wipe drives===
 
Go to '''Storage -> Disks''', choose your storage device, and click the "Wipe" icon to initiate disk erasure (please ensure your data is backed up). Typically, you can opt for a "Quick" erase option.<br />
 
If wiping isn't effective, you should first remove the shared folder and unmount it.
 
===Step 2: Setup file systems===
 
The difference between the following two Raid Profiles:
 
* MD RAID: has better performance, because it does a better job of parallelizing writes and striping reads.<br />
 
* Btrfs RAID: has better data safety, because the checksumming lets it ID which copy of a block is wrong when only one is wrong, and means it can tell if both copies are bad.<br />
 
Note: OMV does not support RAID for USB-connected devices, for more details, please refer to the official guide: [https://docs.openmediavault.org/en/latest/administration/storage/raid.html RAID]
 
====Optional 1: Configure MD RAID====
 
* Go to '''Storage -> Multiple Device''', click the '''"+"''' icon, select the desired RAID level and drives, after saving, the status is shown below:
 
[[File:Omv-raid-resyncing.png|center|400px]]<br/>
 
You need to wait for the status to change from resyncing to clean, and when it's done it will look like this:<br />
 
[[File:Omv-raid-clean.png|center|400px]]<br/>
 
* Go to '''Storage -> File Systems''', click on '''"+"''', it is recommended to choose '''"BTRFS"''' as the '''Type''', select '''"Single"''' as the '''Profile''', and select your storage device in the '''Device''' field. If you created RAID in the previous step, the device name starts with "/dev/md". If your device cannot be listed in the '''"Device"''' field, it may be because there are existing shared folders or other data on the device. Try clicking the '''►''' icon to mount directly. If the data can be discarded, you can consider using the following command to erase the partition first:
 
<syntaxhighlight lang="bash">
 
# Note: All data on the drive will be lost
 
sudo wipefs --all /dev/mdX
 
</syntaxhighlight>
 
Replace /dev/mdX with the actual device, which can be checked using the "cat /proc/partitions" command.
 
====Optional 2: Configure Btrfs RAID====
 
* Go to '''Storage -> File Systems''' click the '''"+"''' icon, choose the '''"BTRFS"''', choose the RAID level, select your drives, and then save the settings.
 
After formatting is complete, openmediavault will let you choose which file system to mount, it won't list all the hard drives in the RAID array; just select one of the hard drives within the array.
 
====Optional 3: Not using RAID array====
 
* Go to '''Storage -> File Systems''', click on the '''"+"''' icon, select '''"BTRFS"''', choose the '''Single''' level, select your disk, and then save the settings.<br />
 
After formatting is complete, OpenMediaVault will prompt you to mount the device.
 
===Step 3: Create shared folders===
 
* Go to '''Storage -> Shared Folders''', click the '''"+"''' icon to create two folders named "nfs" and "samba." We will use these folders for testing NFS and Samba sharing in the following steps.<br />
 
(Note: If there were previously created shared folders on the drive, you can recreate them with the same names, and the data will be preserved.)
 
==Create NAS users==
 
Debian system users or Linux users created via the command line may lack certain permissions required for services like Samba and NFS. Therefore, it is recommended to use the OpenMediaVault interface to create a user specifically for accessing Samba and NFS shares. Here, I will create a user and group named "nasuser":
 
* Go to '''Users -> Groups''' and then click the '''"+"''' icon to create a user group named "nasuser".<br />
 
* Go to '''Users -> "Users''' then click the '''"+"''' icon to create a user named "nasuser", change user's shell to "/usr/sbin/nologin", and select the "nasuser" and "users" groups.
 
==Create a Samba share==
 
* Go to '''Services -> SMB/CIFS -> Settings''', check the box at the top for "Enabled," select "SMB1" as the minimum protocol version, and then click "Save"
 
* Go to '''Services -> SMB/CIFS -> Shares''', click the '''"+"''' button, and in the "Shared folder" field, select the folder you want to share. as an example, here i select the "samba" folder
 
Testing: <br />
 
On a Mac system, right-click Finder, select '''"Connect to Server"''', and enter "smb://YourIPAddress" (replace with the actual IP address). An authentication dialog will appear; enter the username "nasuser" and the password to access the share.
 
==Create an NFS share==
 
* Go to '''Services -> NFS -> Settings''', check the box at the top for "Enabled", and in the "Versions" section, select all versions, including "NFSv2", then click "Save" and apply the settings.
 
* Go to '''Services -> NFS -> Shares''', click the '''"+"''' button, and in the "Shared folder" field, select the folder you want to share. here i select the "nfs" folder. In the "Client" section, enter the IP range or specific IPs that are allowed to access the share (e.g., 192.168.1.0/24). Set the permissions to "Read/Write", in the "Extra Options" field, Input:
 
<syntaxhighlight lang="bash">
 
rw,async,insecure,no_subtree_check,all_squash,anonuid=0,anongid=0
 
</syntaxhighlight>
 
Then click "Save" and apply the settings.
 
===Testing NFS mounting on a Mac===
 
Viewing OpenMediaVault's NFS Share Information via Command Line:
 
<syntaxhighlight lang="bash">
 
# showmount -e YourIPAddress
 
Exports list on YourIPAddress:
 
/export                             192.168.1.0/24
 
/export/nfs                         192.168.1.0/24
 
</syntaxhighlight>
 
Right-click Finder on your Mac, select "Connect to Server," and input the following in the address bar:
 
<syntaxhighlight lang="bash">
 
nfs://YourIPAddress/export/nfs
 
</syntaxhighlight>
 
===Testing NFS mounting on Linux===
 
Installing the NFS client
 
<syntaxhighlight lang="bash">
 
sudo apt install nfs-common
 
</syntaxhighlight>
 
Start to mount:
 
<syntaxhighlight lang="bash">
 
sudo mount -t nfs YourIPAddress:/export/nfs /mnt/nfs
 
</syntaxhighlight>
 
Checking the Status
 
<syntaxhighlight lang="bash">
 
# df -h | grep nfs
 
YourIPAddress:/export/nfs  7.3G  3.5M  6.8G    1% /mnt/nfs
 
</syntaxhighlight>
 
To configure automatic mounting at boot time, append the following line to the /etc/fstab file:
 
<syntaxhighlight lang="bash">
 
YourIPAddress:/export/nfs /mnt/nfs nfs defaults 0 0
 
</syntaxhighlight>
 
==Docker on OMV==
 
===Moving docker storage===
 
First, install the openmediavault-compose plugin, login via SSH and excute the following command:
 
<syntaxhighlight lang="bash">
 
sudo apt update
 
sudo apt install -y openmediavault-compose
 
</syntaxhighlight>
 
After refreshing the page,go to '''Storage -> Shared Folders''', and click the '''"+"''' icon to create three folders, namely:
 
<syntaxhighlight lang="bash">
 
docker            -> The Docker data directory, defined in /etc/docker/daemon.json
 
docker-compose    -> Location of compose files
 
docker-data      -> Location of persistent container data
 
docker-app        -> For personal use, storing Dockerfiles and data
 
</syntaxhighlight>
 
Go to '''Services -> Compose''' enter the '''"Settings"''' interface, and configure the "Shared folder" for "Compose Files" and "Data":<br />
 
Access the SSH terminal and execute the following command to move Docker data to the shared folder, where "/srv/dev-disk-by-uuid-XXYYZZ/docker" represents the absolute path of the shared folder, which can be obtained from the "Storage" -> "Shared Folders" list on the web interface:
 
<syntaxhighlight lang="bash">
 
su root
 
systemctl stop docker.socket docker.service
 
mv /var/lib/docker/* /srv/dev-disk-by-uuid-XXYYZZ/docker/
 
</syntaxhighlight>
 
On the web interface, set the '''"Docker storage"''' to the absolute path of the "docker" shared folder. save the settings and apply, and then reboot the system.<br />
 
<br />The final value filled on the Gui:<br />
 
<syntaxhighlight lang="text">
 
Compose Files's Shared folder  -> on /dev/md0, docker-compose
 
Data's Shared folder          -> on /dev/md0, docker-data
 
Docker's Docker storage        -> on /srv/dev-disk-by-uuid-XXYYZZ/docker/
 
</syntaxhighlight>
 
===Install Nextcloud with Docker===
 
Run the following command in the terminal:
 
<syntaxhighlight lang="bash">
 
su root
 
cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app)
 
mkdir nextcloud
 
cd nextcloud
 
mkdir data
 
  
docker run -d -p 8888:80  --name nextcloud \
+
{{BurnLinuxToExtDrive-Rockchip/zh|NanoPC-T4}}
    -v $PWD/data:/var/www/html --restart=always \
+
{{BurnLinuxToExtDrive-Rockchip|NanoPC-T4}}
    --privileged=true  arm64v8/nextcloud
+
</syntaxhighlight>
+
you can access the Nextcloud web interface by opening a web browser and navigating to http://YourIPAddress:8888/ (replace YourIPAddress with the actual IP address of your device).
+
===Install Filebrowser with Docker===
+
Run the following command in the terminal:
+
<syntaxhighlight lang="bash">
+
su root
+
cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app)
+
mkdir filebrowser
+
cd filebrowser
+
 
+
docker run -d -v $(readlink -f /srv/dev-disk-by-uuid-*):/srv \
+
    -v $PWD/filebrowserconfig.json:/etc/config.json \
+
    -v $PWD/database.db:/etc/database.db -p 8080:80 \
+
    --restart=always --name filebrowser \
+
    filebrowser/filebrowser
+
</syntaxhighlight>
+
 
+
After completing the setup, you can access the Filebrowser web interface by opening a web browser and navigating to http://YourIPAddress:8080/ (replace YourIPAddress with the actual IP address of your device). The default username and password for Filebrowser are both "admin".
+
===Install Jellyfin with Docker===
+
Go to '''Storage -> Shared Folders''',  click the '''"+"''' icon to create a "media" folder for storing multimedia resources. Then, in the command-line terminal, you can run the following command to install Jellyfin:
+
<syntaxhighlight lang="bash">
+
su root
+
cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app)
+
mkdir jellyfin
+
cd jellyfin
+
mkdir config cache
+
 
+
docker run -d --name jellyfin \
+
-v $PWD/config:/config \
+
-v $PWD/cache:/cache \
+
-v $(readlink -f /srv/dev-disk-by-uuid-*/media):/media \
+
-p 8096:8096 \
+
--restart=always \
+
jellyfin/jellyfin
+
</syntaxhighlight>
+
After completing the setup, you can access the Jellyfin web interface by opening a web browser and navigating to http://YourIPAddress:8096/ (replace YourIPAddress with the actual IP address of your device). This will allow you to access and manage your media content using Jellyfin.
+
===Install Portainer with Docker===
+
Run the following command in the terminal:
+
<syntaxhighlight lang="bash">
+
su root
+
cd $(readlink -f /srv/dev-disk-by-uuid-*/docker-app)
+
mkdir portainer
+
cd portainer
+
mkdir data
+
 
+
docker run -d \
+
  --name portainer \
+
  --restart=always \
+
  -e TZ=Asia/Shanghai \
+
  -p 8000:8000 \
+
  -p 9000:9000 \
+
  -v /var/run/docker.sock:/var/run/docker.sock \
+
  -v $PWD/data:/data \
+
  portainer/portainer-ce:latest
+
</syntaxhighlight>
+
After completing the setup, you can access the Portainer web interface by opening a web browser and navigating to http://YourIPAddress:9000/ (replace YourIPAddress with the actual IP address of your device). The default administrator account username and password are both "admin".
+
==System Backup and Restore==
+
===Backing up the System in eMMC===
+
Use the tar command to back up the contents of the file system:
+
<syntaxhighlight lang="bash">
+
su root
+
cd /
+
tar --warning=no-file-changed -cvpzf /rootfs.tar.gz \
+
    --exclude=/rootfs.tar.gz --exclude=/var/lib/docker/runtimes \
+
    --exclude=/etc/firstuser --exclude=/etc/friendlyelec-release \
+
    --exclude=/usr/local/first_boot_flag --one-file-system /
+
</syntaxhighlight>
+
=== Restoring the System to eMMC ===
+
Boot from the SD card, start the Linux system (such as Debian or Ubuntu), and use the following command to query the root partition of the system on eMMC:
+
<syntaxhighlight lang="bash">
+
root@CM3588:~# sudo parted -s /dev/mmcblk2 unit MiB print | grep rootfs
+
8      140MiB  59000MiB  58860MiB  ext4        rootfs
+
</syntaxhighlight>
+
According to the mathematical index 8 mentioned above, the device name for the root partition is /dev/mmcblk2p8. Below, it will be reformatted, mounted, and then the rootfs.tar.gz will be decompressed here:
+
<syntaxhighlight lang="bash">
+
sudo mkfs.ext4 /dev/mmcblk2p8
+
sudo mkdir /mnt/rootfs
+
sudo mount /dev/mmcblk2p8 /mnt/rootfs
+
sudo tar xvzfp /path/to/rootfs.tar.gz -C /mnt/rootfs --numeric-owner --same-owner
+
sudo poweroff
+
</syntaxhighlight>
+
After shutting down, remove the SD card, and then power on again to boot the system from eMMC.
+
==How to recover files after reinstalling OpenMediaVault==
+
* Go to '''Storage -> File System''', click on the '''►''' icon, and select your device in the '''File System''' section, then click Save.
+
* Go to '''Storage -> Shared Folders''', create shared folders with the same names, such as nfs, samba, docker, docker-app, docker-compose, and docker-data, as shown in this document.
+
==Common problems and solutions==
+
===Problem: RAID array appears in the status: "Clean, Resyncing (PENDING)"===
+
Execute following command to switch array to read-write state and begin resync process:
+
<syntaxhighlight lang="bash">
+
mdadm --readwrite /dev/md0
+
</syntaxhighlight>
+
===Problem: Can´t create Filesystem - Disk not showing===
+
using the following command to erase the partition first:
+
<syntaxhighlight lang="bash">
+
# Note: All data on the disk will be lost
+
sudo wipefs --all /dev/mdX
+
</syntaxhighlight>
+
==OpenMediaVault packages==
+
You can install OpenMediaVault packages using the apt command, for example:
+
<syntaxhighlight lang="bash">
+
apt install openmediavault-diskstats
+
</syntaxhighlight>
+
Here is the list of each package with its functionality:
+
openmediavault-diskclone: Tool for cloning disks.<br />
+
openmediavault-diskstats: Tool for displaying disk usage statistics.<br />
+
openmediavault-downloader: Download manager for managing download tasks.<br />
+
openmediavault-fail2ban: Firewall software for preventing brute-force attacks.<br />
+
openmediavault-filebrowser: File browser for browsing and managing files.<br />
+
openmediavault-flashmemory: Tool for storing system logs and temporary files in memory to reduce disk writes.<br />
+
openmediavault-forkeddaapd: DAAP server with iTunes support.<br />
+
openmediavault-ftp: FTP server for file transfer.<br />
+
openmediavault-kernel: Tool for kernel updates.<br />
+
openmediavault-kvm: Virtualization solution for running virtual machines.<br />
+
openmediavault-locate: Tool for file searching.<br />
+
openmediavault-luksencryption: Provides disk encryption functionality.<br />
+
openmediavault-lvm2: Logical Volume Manager.<br />
+
openmediavault-mergerfs: Provides Union file system functionality to merge multiple file systems into one logical file system.<br />
+
openmediavault-minidlna: DLNA server for sharing media files over the network.<br />
+
openmediavault-nut: Network UPS Tools for monitoring UPS (Uninterruptible Power Supply) communication.<br />
+
openmediavault-omvextrasorg: Provides additional plugins and packages.<br />
+
openmediavault-onedrive: Integration with OneDrive cloud storage service.<br />
+
openmediavault-owntone: Configuration tool for UPnP/DLNA media server.<br />
+
openmediavault-photoprism: Photo management software.<br />
+
openmediavault-remotemount: Remote mount manager.<br />
+
openmediavault-resetperms: Tool for resetting file and folder permissions.<br />
+
openmediavault-rsnapshot: Snapshot backup tool.<br />
+
openmediavault-s3: S3 storage service plugin.<br />
+
openmediavault-sftp: SFTP server.<br />
+
openmediavault-shairport: AirPlay audio server.<br />
+
openmediavault-sharerootfs: Tool to allow sharing of the root file system.<br />
+
openmediavault-snapraid: SnapRAID data protection tool.<br />
+
openmediavault-snmp: SNMP (Simple Network Management Protocol) plugin.<br />
+
openmediavault-symlinks: Symbolic link management tool.<br />
+
openmediavault-tftp: TFTP (Trivial File Transfer Protocol) server.<br />
+
openmediavault-tgt: iSCSI target server.<br />
+
openmediavault-usbbackup: USB backup plugin.<br />
+
openmediavault-wakealarm: Tool for waking up the system at scheduled times.<br />
+
openmediavault-webdav: WebDAV server.<br />
+
openmediavault-wetty: Web terminal tool.<br />
+
openmediavault-wireguard: WireGuard VPN plugin.<br />
+
openmediavault-wol: Wake-on-LAN tool.<br />
+
openmediavault-anacron: Task scheduling tool.<br />
+
openmediavault-apttool: APT (Advanced Package Tool) management tool.<br />
+
openmediavault-autoshutdown: Automatic shutdown tool.<br />
+
openmediavault-backup: Backup tool.<br />
+
openmediavault-borgbackup: BorgBackup tool.<br />
+
openmediavault-clamav: Antivirus software using ClamAV to detect malware and viruses.<br />
+
openmediavault-compose: Docker Compose tool.<br />
+
openmediavault-cputemp: Tool for monitoring CPU temperature.<br />
+
openmediavault-zfs: ZFS file system support plugin.<br />
+

Latest revision as of 09:58, 29 October 2024

1 安装系统到M.2或USB硬盘

可以通过使用TF卡启动eFlasher系统,将引导和系统分别安装到不同存储设备,但是由于CPU不支持直接从M.2和USB设备引导,所以虽然系统可以安装到M.2和USB设备,但是引导仍然需要安装到eMMC或者TF卡。
操作步骤如下:

  • 准备一张32G或以上容量的TF卡;
  • 访问此处的下载地址下载文件名为XXXX-eflasher-multiple-os-YYYYMMDD-30g.img.gz的固件(位于"01_系统固件/02_SD卡刷机固件(SD-to-eMMC)"目录);
  • 将固件写入TF卡,在NanoPC-T4上连接好存储设备,插入TF卡上电开机,接下来要在界面上操作,如果没有显示设备,可以使用VNC代替,请参考使用VNC操作eFlasher;
  • 在eFlasher界面上,首先选择要安装的OS,然后选择引导安装的目的地 (通常选eMMC),以及选择系统安装的目的地(可以选eMMC,M.2硬盘,USB存储设备等),如下图所示:

Eflasher-select-boot-and-system-device.png

  • 没有eMMC时可使用TF卡作为引导,方法是将另一个TF卡通过USB读卡器插入USB端口,然后选择USB设备作为引导安装目的地,从而实现从TF卡引导,但系统存放在M.2或USB硬盘的目的;
  • 烧写完成后,从NanoPC-T4弹出SD卡,引导在eMMC的情况下,NanoPC-T4会自动重启至你刚刚烧写的系统,如果引导安装在TF卡,则需要拨掉电源,插入TF引导卡再上电开机;
  • 更详细的安装指南请参考此处;

2 Installing the System to M.2 or USB Drive

You can use a TF card to boot the eFlasher system, allowing the boot and system to be installed on different storage devices. However, since the CPU doesn’t support booting directly from M.2 and USB devices, the system can be installed on M.2 and USB devices, but the boot must still be installed on eMMC or a TF card.
Steps are as follows:

  • Prepare a TF card with a capacity of 32GB or larger.
  • Visit [the download link here](http://download.friendlyelec.com/APITestPage) to download the firmware file named XXXX-eflasher-multiple-os-YYYYMMDD-30g.img.gz (located in the “01_Official images/02_SD-to-eMMC images” directory).
  • Flash the firmware to the TF card, connect the storage device you intend to use on NanoPC-T4, insert the TF card and power on, we need to perform the operations in the eFlasher GUI. If your NanoPC-T4 does not have a display interface, you can use VNC; refer to Using VNC to Operate eFlasher.
  • In the eFlasher GUI, select the OS to install, and in the OS settings interface, choose the destination for boot installation (typically eMMC), then choose the destination for system installation (options include eMMC, M.2 hard drive, USB storage, etc.), as shown below:

Eflasher-select-boot-and-system-device.png

  • If no eMMC is available, the TF card can serve as the boot by inserting another TF card into the USB port via a USB card reader and selecting it as the boot destination, enabling booting from the TF card with the system stored on the M.2 or USB drive.
  • After flashing, eject the SD card from NanoPC-T4. If booting from eMMC, NanoPC-T4 will automatically restart into the newly flashed system. If boot installation is on a TF card, power off, insert the boot TF card, and power on again.
  • For a more detailed installation guide, please refer to this link.