9 Commits

Author SHA1 Message Date
Igor
42c77550f3 Improve HA description (#6) 2024-08-29 08:30:44 +02:00
Igor
38416c737c Add OMV 2024-08-13 19:59:47 +02:00
Igor
7bca02ad91 Update README.md 2024-05-25 08:19:31 +02:00
Igor
111526b33b Update README.md 2024-02-02 19:12:12 +01:00
Igor Pecovnik
4bc51fc8a3 Remove old deprecated way of making images 2024-01-15 21:21:18 +01:00
Igor
df43c2ed69 Update README.md 2024-01-12 14:18:19 +01:00
Igor
469ce95c6e Update README.md 2024-01-12 14:16:13 +01:00
Igor
c589ed3b73 Update README.md 2024-01-12 11:58:02 +01:00
Igor
1441ca4c6e Update README.md 2024-01-12 11:57:14 +01:00
17 changed files with 47 additions and 327 deletions

View File

@@ -1,8 +0,0 @@
<p align='center'>
<a href='https://www.armbian.com'>
<img src='https://raw.githubusercontent.com/armbian/.github/master/profile/tux-two.png' width='400' height='226' alt='Armbian Linux'></a>
<br>
<img src=https://raw.githubusercontent.com/armbian/.github/master/profile/progress.gif width=50>
<br><br>
<a href="https://github.com/armbian/build/actions">Build in progress</a></p>
</p>

View File

@@ -1,163 +0,0 @@
name: Software packs
on:
push:
paths:
- images/**
workflow_dispatch:
jobs:
Prepare:
name: Prepare
runs-on: ubuntu-latest
#if: ${{ github.repository_owner == 'armbian' }}
outputs:
matrix: ${{steps.list_dirs.outputs.matrix}}
board: ${{steps.list_dirs.outputs.board}}
steps:
- name: Checkout build framework
uses: actions/checkout@v3
with:
repository: armbian/build
path: build
- name: Checkout repository
uses: actions/checkout@v2
with:
path: distribution
- name: Run changed-files with defaults on the dir1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v19
with:
path: distribution/images
- name: Prepare matrix
id: list_dirs
run: |
FILENAME="targets.conf"
MATRIX="cat build/config/"${FILENAME}" | grep -v \"^$\" | grep -v \"^#\" | cut -f1 -d ' ' | sort | uniq"
MATRIX="echo -en \"odroidn2\\nuefi-x86\""
echo ::set-output name=board::$(for x in $(eval $MATRIX); do echo $x; done|jq -cnR '[inputs | select(length>0)]' | jq)
echo ::set-output name=matrix::$(for x in $(find distribution/images -name SKIP -exec grep -l 'no' {} \; | cut -d"/" -f3); do echo $x; done|jq -cnR '[inputs | select(length>0)]' | jq)
Build:
needs: [ Prepare ]
runs-on: [ubuntu-latest]
if: ${{ needs.Prepare.outputs.matrix != '[]' && needs.Prepare.outputs.matrix != '' }}
timeout-minutes: 480
strategy:
fail-fast: false
matrix:
node: ${{fromJson(needs.Prepare.outputs.matrix)}}
board: ${{fromJson(needs.Prepare.outputs.board)}}
steps:
- name: Checkout build framework
uses: actions/checkout@v3
with:
repository: armbian/build
path: build
- name: Checkout support scripts
uses: actions/checkout@v3
with:
repository: armbian/scripts
path: scripts
- name: Checkout software distribution
uses: actions/checkout@v3
with:
path: distribution
- name: Pull Docker image
run: |
sudo docker pull ghcr.io/armbian/build:$(cat build/VERSION | cut -d"." -f1-2)"-$(dpkg --print-architecture)"
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v3
with:
gpg-private-key: ${{ secrets.GPG_KEY1 }}
passphrase: ${{ secrets.GPG_PASSPHRASE1 }}
workdir: scripts
git-user-signingkey: true
git-commit-gpgsign: true
- name: Preparing
run: |
mkdir -p build/userpatches
sudo cp build/config/templates/* build/userpatches/
sudo cp -R distribution/images/${{ matrix.node }}/overlay build/userpatches/
sudo cp distribution/images/${{ matrix.node }}/customize-image.sh build/userpatches/
sudo sed -i "s/^#DOCKER_FLAGS+=(--privileged)/DOCKER_FLAGS+=(--privileged)/" build/userpatches/config-docker.conf
sudo sed -i "s/^VERSION=.*/VERSION=\$(cat \$SRC\/VERSION | cut -d\".\" -f1-2)\"-\$(dpkg --print-architecture)\"/" build/userpatches/config-docker.conf
sudo sed -i "s/^BASE_IMAGE=.*/BASE_IMAGE=\"ubuntu:jammy\"/" build/userpatches/config-docker.conf
sudo sed -i 's/armbian:/ghcr.io\/armbian\/build:/g' build/userpatches/config-docker.conf
sudo sed -i "s/ -it/ -i/" build/userpatches/config-docker.conf
OLD="ghcr.io/armbian/build:$(cat build/VERSION | cut -d"." -f1-2)"-$(dpkg --print-architecture)
sudo cp scripts/VERSION build/VERSION
sudo docker tag $OLD ghcr.io/armbian/build:$(cat build/VERSION | cut -d"." -f1-2)-$(dpkg --print-architecture)
- name: Build
run: |
BOARD=${{ matrix.board }}
APP=${{ matrix.node }}
VERSION=$(cat build/VERSION)
RELEASE=$(cat distribution/images/${APP}/RELEASE)
SKIP=$(cat distribution/images/${APP}/SKIP)
if [[ "$SKIP" != "yes" ]]; then
cd build
sudo touch .ignore_changes
./compile.sh docker \
BETA="no" \
RELEASE="${RELEASE}" \
BUILD_DESKTOP="no" \
BUILD_MINIMAL="yes" \
KERNEL_ONLY="no" \
VENDOR="Armbian_${APP^}" \
KERNEL_CONFIGURE="no" \
COMPRESS_OUTPUTIMAGE="xz" \
FORCE_USE_RAMDISK="yes" \
FAST_CREATE_IMAGE="yes" \
BOARD="${BOARD}" \
USE_TORRENT="yes" \
USE_MAINLINE_GOOGLE_MIRROR="yes" \
BRANCH="current" \
SKIP_EXTERNAL_TOOLCHAINS="yes" \
OFFLINE_WORK="yes" \
BSPFREEZE="yes" \
REPOSITORY_INSTALL="u-boot,kernel,armbian-config,armbian-bsp,armbian-firmware" \
EXPERT="yes"
cd output/images
mv *.xz "${APP^}"_"${BOARD^}"_Armbian_"${VERSION}".img.xz
sha256sum "${APP^}"_"${BOARD^}"_Armbian_"${VERSION}".img.xz > "${APP^}"_"${BOARD^}"_Armbian_"${VERSION}".img.xz.sha
echo ${{ secrets.GPG_PASSPHRASE1 }} | gpg --passphrase-fd 0 --armor --detach-sign --pinentry-mode loopback --batch --yes *.img.xz
fi
- name: Declare vars
id: vars
shell: bash
run: |
cd build
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo "::set-output name=timenow::$(date +'%Y-%m-%d')"
- name: Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body_path: distribution/README.md
tag_name: ${{ matrix.board }}/apps
files: build/output/images/*_Armbian_*
draft: false
prerelease: false
name: "Armbian turnkey applications for ${{ matrix.board }}"

View File

@@ -1,37 +0,0 @@
name: Sync
on:
# schedule:
# - cron: '0 1 * * *'
workflow_dispatch:
jobs:
Adjust:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Add
run: |
echo '<h3 align=center><a href="#build-tools"><img src="https://raw.githubusercontent.com/armbian/build/master/.github/armbian-logo.png" alt="Armbian logo" width="144"></a><br>applications distribution</h3>' > README.md
echo -en "<p align=right>&nbsp;</p>\n" >> README.md
echo -en "WIP with hardcoded values for targets\n" >> README.md
- name: Add
run: |
git pull
git add README.md
- name: Commit files
run: |
git config --local user.email "info@armbian.com"
git config --local user.name "Armbianworker"
git commit --allow-empty -m "Update github actions" -a
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}

View File

@@ -1,51 +0,0 @@
name: Make index
#
# Generates index
#
on:
workflow_dispatch:
workflow_run:
workflows: ["Build train"]
types:
- completed
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Make build list
run: |
sudo npm install --location=global json || true
truncate README.me --size=0 || true
echo "| Image | GPG | SHA | Release | Branch | Variant | Kernel |" >> README.tmp
echo "| --- | :--: | :--: | :--: | :--: | :--: | --- |" >> README.tmp
gh release view $(gh release list | awk '{print $1}' | head -1) --json assets 2>/dev/null | python3 -mjson.tool | sed '1,2d;$d' | json -ga name url -d, | sort | (
while read -r line; do
name=$(echo $line | cut -d"," -f1)
url=$(echo $line | cut -d"," -f2)
if [ "${name: -3}" == ".xz" ]; then
out_name=$(echo $name | cut -d"_" -f3)
out_release=$(echo $name | cut -d"_" -f4)
out_branch=$(echo $name | cut -d"_" -f5)
out_kernel=$(echo $name | cut -d"_" -f6-7 | cut -d"." -f1-3 | cut -d"_" -f1)
out_desktop=$(echo $name | cut -d"_" -f7)
out_desktop=${out_desktop:-cli}
echo -ne "| [$out_name]($url) | [:file_folder:]($url".asc") | [:file_folder:]($url".sha") | $out_release | $out_branch | $out_desktop | $out_kernel |\n" >> README.tmp
fi
done
)
- uses: actions/upload-artifact@v3
with:
path: README.tmp
name: assets
if-no-files-found: ignore

View File

@@ -1,3 +1,47 @@
<h3 align=center><a href="#build-tools"><img src="https://raw.githubusercontent.com/armbian/build/master/.github/armbian-logo.png" alt="Armbian logo" width="144"></a><br>applications distribution</h3>
<p align=right>&nbsp;</p>
WIP with hardcoded values for targets
<p align="center">
<a href="#">
<img src="https://raw.githubusercontent.com/armbian/build/master/.github/armbian-logo.png" alt="Armbian logo" width="144">
</a><br>
<strong> Applications distributed as Armbian appliance</strong>
<h2 align=center><a href=https://github.com/armbian/distribution/releases/latest><img src="https://img.shields.io/badge/Download%20latest%20images%3F-white?style=for-the-badge&color=green"></a> </h2>
</p>
## [Armbian Home Assistant](https://www.home-assistant.io/) (home automation)
Home Assistant is an open source smart home platform that allows you to connect your smart home devices like your TV, fan, cameras, thermostats, lights, and sensors. As a user, you can build intricate automation using Home Assistant's user-friendly, unified web-based user interface.
Home Assistant Operating System is tailored for mainstream hardware such as Raspberry Pi and X86, while **Armbian Home Assistance**:
- extends installation to [large selection of devices](https://www.armbian.com/download/),
- provides option to use instance to host other applications,
- allows extended customisation of your OS.
|Functionality|HAOS|Armbian with HA|
|:--|:--:|:--:|
|Automations|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|Dashboards|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|Integrations|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|Add-ons|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|One-click updates|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|Backups|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|General purpose server|:x:|:white_check_mark:|
|Running on exotic hardware|:x:|:white_check_mark:|
FAQ:
1. Where do I find images for my hardware?
https://www.armbian.com/download -> select your device -> Dedicated applications
2. How do you generate my own image?
[Follow instructions](https://forum.armbian.com/topic/33245-armbian-with-preinstalled-home-assistant-supervised/).
3. There are no HA images for my device?
If hardware is supported by Armbian ([.conf](https://github.com/armbian/build/tree/main/config/boards)), sent a pull request to the [configuration file](https://github.com/armbian/os/blob/main/userpatches/targets-release-apps.template).
## [Armbian OpenHab](https://www.openhab.org/) (home automation)
## [Armbian Security](https://www.kali.org/) (Security applications - Kali)
## [Armbian OMV](https://www.openmediavault.org/) - (NAS: network attached storage)
Sources: [extensions for Armbian build framework](https://github.com/armbian/os/tree/main/userpatches/extensions)

View File

@@ -1 +0,0 @@
bullseye

View File

@@ -1 +0,0 @@
yes

View File

@@ -1,26 +0,0 @@
apt-get install --yes gnupg
wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"
cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb https://packages.openmediavault.org/public shaitan main
# deb https://downloads.sourceforge.net/project/openmediavault/packages shaitan main
## Uncomment the following line to add software from the proposed repository.
# deb https://packages.openmediavault.org/public shaitan-proposed main
# deb https://downloads.sourceforge.net/project/openmediavault/packages shaitan-proposed main
## This software is not part of OpenMediaVault, but is offered by third-party
## developers as a service to OpenMediaVault users.
# deb https://packages.openmediavault.org/public shaitan partner
# deb https://downloads.sourceforge.net/project/openmediavault/packages shaitan partner
EOF
export LANG=C.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update
apt-get --yes --auto-remove --show-upgraded \
--allow-downgrades --allow-change-held-packages \
--no-install-recommends \
--option DPkg::Options::="--force-confdef" \
--option DPkg::Options::="--force-confold" \
install openmediavault-keyring openmediavault
omv-confdbadm populate

View File

@@ -1 +0,0 @@

View File

@@ -1 +0,0 @@
jammy

View File

@@ -1 +0,0 @@
yes

View File

@@ -1,23 +0,0 @@
#!/bin/bash
echo "Read / only rootfs"
apt-get -y install overlayroot docker.io cgroup-lite
sed -i "s/^overlayroot=.*/overlayroot=\"tmpfs\"/" /etc/overlayroot.conf
sed -i "s/^overlayroot_cfgdisk=.*/overlayroot_cfgdisk=\"enabled\"/" /etc/overlayroot.conf
echo "Openhab"
groupadd -g 9001 openhab
useradd -g 9001 openhab
usermod -aG docker openhab
su openhab
docker run \
--privileged \
--name openhab \
--net=host \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v openhab_addons:/openhab/addons \
-v openhab_conf:/openhab/conf \
-v openhab_userdata:/openhab/userdata \
-d \
--restart=always \
openhab/openhab:3.2.0

View File

@@ -1 +0,0 @@

View File

@@ -1 +0,0 @@
jammy

View File

@@ -1 +0,0 @@
no

View File

@@ -1,7 +0,0 @@
#!/bin/bash
echo "Read / only rootfs"
apt-get -y
echo -e "deb https://downloads.plex.tv/repo/deb public main" > /etc/apt/sources.list.d/plex.list
wget -q -O - https://downloads.plex.tv/plex-keys/PlexSign.key | apt-key add - >/dev/null 2>&1
apt-get update
apt-get -y install plexmediaserver

View File

@@ -1 +0,0 @@