Skip to content

Commit 1f10d60

Browse files
authored
docs: add provisioning steps for eq12 (#1913)
1 parent b6df35a commit 1f10d60

File tree

8 files changed

+148
-48
lines changed

8 files changed

+148
-48
lines changed

.github/workflows/build-mkdocs-site.yaml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,16 @@ on: # yamllint disable-line rule:truthy
1414
site-repository:
1515
required: true
1616
type: string
17+
site-repository-branch:
18+
required: true
19+
type: string
1720
site-source-path:
1821
default: src
1922
required: false
2023
type: string
2124
secrets:
22-
github-token:
23-
required: false
24-
repository-ssh-key:
25-
required: false
25+
repository-github-token:
26+
required: true
2627

2728
permissions:
2829
contents: read
@@ -33,7 +34,7 @@ jobs:
3334
# Ref: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
3435
# github.head_ref: head_ref or source branch of the pull request
3536
# github.ref: ref of the branch that triggered the workflow
36-
group: ${{ github.workflow }}-build-push-${{ inputs.site-name }}-site-${{ github.head_ref || github.ref }}-${{ github.event_name }}
37+
group: ${{ github.workflow }}-build-push-${{ inputs.site-name }}-site-${{ inputs.site-repository-branch }}-${{ github.event_name }}
3738
cancel-in-progress: true
3839
runs-on: ubuntu-latest
3940
steps:
@@ -44,7 +45,7 @@ jobs:
4445
with:
4546
path: "${{ inputs.site-name }}"
4647
repository: "${{ inputs.site-repository }}"
47-
ssh-key: "${{ secrets.repository-ssh-key }}"
48+
token: "${{ secrets.repository-github-token }}"
4849
- name: Build the ${{ inputs.site-name }} site
4950
run: |
5051
scripts/run-mkdocs.sh "build" "${{ inputs.site-name }}" "./${{ inputs.site-name }}/${{ inputs.site-source-path }}" "./${{ inputs.site-name }}/${{ inputs.site-destination-path }}"
@@ -55,7 +56,7 @@ jobs:
5556
github.ref_name != github.event.repository.default_branch
5657
uses: stefanzweifel/[email protected]
5758
with:
58-
branch: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref }}
59+
branch: ${{ inputs.site-repository-branch }}
5960
commit_message: "chore: update ${{ inputs.site-name }} site"
6061
commit_user_name: github-actions[bot]
6162
commit_user_email: 41898282+github-actions[bot]@users.noreply.github.com

.github/workflows/documentation.yaml

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,26 @@ jobs:
2626
permissions:
2727
# To commit the newly built documentation site
2828
contents: write
29-
uses: ./.github/workflows/build-mkdocs-site.yaml
30-
with:
31-
site-name: home-lab-docs
32-
site-repository: "${{ github.repository }}"
33-
site-source-path: "websites-src/home-lab-docs"
34-
secrets:
35-
github-token: "${{ github.token }}"
29+
concurrency:
30+
# Ref: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
31+
# github.head_ref: head_ref or source branch of the pull request
32+
# github.ref: ref of the branch that triggered the workflow
33+
group: ${{ github.workflow }}-build-push-home-lab-docs-site-${{ github.event.pull_request.head.ref || github.head_ref || github.ref }}-${{ github.event_name }}
34+
cancel-in-progress: true
35+
runs-on: ubuntu-latest
36+
steps:
37+
- name: Checkout the current repository
38+
uses: actions/checkout@v4
39+
- name: Build the home-lab-docs site
40+
run: |
41+
scripts/run-mkdocs.sh "build" "home-lab-docs" "./websites-src/home-lab-docs" "./docs"
42+
- name: Commit and push updates to the home-lab-docs site
43+
if: >
44+
github.event.pull_request.user.login != 'dependabot[bot]' &&
45+
github.event_name == 'pull_request' &&
46+
github.ref_name != github.event.repository.default_branch
47+
uses: stefanzweifel/[email protected]
48+
with:
49+
commit_message: "chore: update home-lab-docs site"
50+
commit_user_name: github-actions[bot]
51+
commit_user_email: 41898282+github-actions[bot]@users.noreply.github.com

docs/installation/production/provision-new-hosts/index.html

Lines changed: 64 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,30 @@
823823
</ul>
824824
</nav>
825825

826+
</li>
827+
828+
<li class="md-nav__item">
829+
<a href="#beelink-eq12" class="md-nav__link">
830+
<span class="md-ellipsis">
831+
Beelink EQ12
832+
</span>
833+
</a>
834+
835+
<nav class="md-nav" aria-label="Beelink EQ12">
836+
<ul class="md-nav__list">
837+
838+
<li class="md-nav__item">
839+
<a href="#enable-auto-power-on-after-a-power-loss" class="md-nav__link">
840+
<span class="md-ellipsis">
841+
Enable auto-power on after a power loss
842+
</span>
843+
</a>
844+
845+
</li>
846+
847+
</ul>
848+
</nav>
849+
826850
</li>
827851

828852
</ul>
@@ -938,6 +962,30 @@
938962
</ul>
939963
</nav>
940964

965+
</li>
966+
967+
<li class="md-nav__item">
968+
<a href="#beelink-eq12" class="md-nav__link">
969+
<span class="md-ellipsis">
970+
Beelink EQ12
971+
</span>
972+
</a>
973+
974+
<nav class="md-nav" aria-label="Beelink EQ12">
975+
<ul class="md-nav__list">
976+
977+
<li class="md-nav__item">
978+
<a href="#enable-auto-power-on-after-a-power-loss" class="md-nav__link">
979+
<span class="md-ellipsis">
980+
Enable auto-power on after a power loss
981+
</span>
982+
</a>
983+
984+
</li>
985+
986+
</ul>
987+
</nav>
988+
941989
</li>
942990

943991
</ul>
@@ -963,7 +1011,7 @@ <h1 id="provision-new-hosts">Provision new hosts</h1>
9631011
<p>This document is about the steps that are necessary to prepare new hosts for the
9641012
home lab. We define this process as <code>provisioning new hosts</code>.</p>
9651013
<p>The provisioning process is as follows:</p>
966-
<ul>
1014+
<ol>
9671015
<li>Gather information about the host:</li>
9681016
<li>Unique name to assign to the host.</li>
9691017
<li>MAC address of each network interface.</li>
@@ -975,7 +1023,7 @@ <h1 id="provision-new-hosts">Provision new hosts</h1>
9751023
<li>Enable <a href="https://en.wikipedia.org/wiki/Wake-on-LAN">Wake-on-LAN</a>.</li>
9761024
<li>Enable hardware-assisted virtualization capabilities.</li>
9771025
<li>Add the machine to the inventory.</li>
978-
</ul>
1026+
</ol>
9791027
<p>For hosts that support it, we automate the setup using an out-of-band
9801028
configuration mechanisms, such as
9811029
<a href="https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface">Intelligent Platform Management Interface (IPMI)</a>,
@@ -987,6 +1035,7 @@ <h1 id="provision-new-hosts">Provision new hosts</h1>
9871035
following types of hosts:</p>
9881036
<ul>
9891037
<li>Raspberry Pi 4</li>
1038+
<li>Beelink EQ12</li>
9901039
</ul>
9911040
<h2 id="raspberry-pi-4">Raspberry Pi 4</h2>
9921041
<p>This section is about the manual configuration steps for Raspberry Pi 4 hosts.</p>
@@ -1021,6 +1070,19 @@ <h3 id="configure-ssh-authentication">Configure SSH authentication</h3>
10211070
<p>By using <a href="https://www.paramiko.org/">Paramiko</a> to connect to a host using SSH,
10221071
you can authenticate using a password without having the <code>sshpass</code> program
10231072
installed on the host that runs Ansible.</p>
1073+
<h2 id="beelink-eq12">Beelink EQ12</h2>
1074+
<p>This section is about the manual configuration steps for Beelink EQ12 hosts.</p>
1075+
<h3 id="enable-auto-power-on-after-a-power-loss">Enable auto-power on after a power loss</h3>
1076+
<ol>
1077+
<li>Press the Del key repeatedly after powering on the PC to enter the BIOS
1078+
setup.</li>
1079+
<li>Use the arrow keys to enter the Chipset page. Select “PCH-IO Configuration”
1080+
and press the Enter key.</li>
1081+
<li>Select “State After G3”.</li>
1082+
<li>Select “S0 State”. “S0 State” is to enable auto power on and “S5 State” is to
1083+
disable auto power on.</li>
1084+
<li>Press the F4 and select “Yes” to save the configuration.</li>
1085+
</ol>
10241086

10251087

10261088

docs/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/sitemap.xml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,70 +2,70 @@
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
33
<url>
44
<loc>https://ferrarimarco.info/home-lab/</loc>
5-
<lastmod>2025-06-18</lastmod>
5+
<lastmod>2025-08-09</lastmod>
66
</url>
77
<url>
88
<loc>https://ferrarimarco.info/home-lab/architecture/</loc>
9-
<lastmod>2025-06-18</lastmod>
9+
<lastmod>2025-08-09</lastmod>
1010
</url>
1111
<url>
1212
<loc>https://ferrarimarco.info/home-lab/architecture/network-configuration/</loc>
13-
<lastmod>2025-06-18</lastmod>
13+
<lastmod>2025-08-09</lastmod>
1414
</url>
1515
<url>
1616
<loc>https://ferrarimarco.info/home-lab/architecture/references/</loc>
17-
<lastmod>2025-06-18</lastmod>
17+
<lastmod>2025-08-09</lastmod>
1818
</url>
1919
<url>
2020
<loc>https://ferrarimarco.info/home-lab/architecture/storage-configuration/</loc>
21-
<lastmod>2025-06-18</lastmod>
21+
<lastmod>2025-08-09</lastmod>
2222
</url>
2323
<url>
2424
<loc>https://ferrarimarco.info/home-lab/guides/capture-proxmox-vm-network-traffic/</loc>
25-
<lastmod>2025-06-18</lastmod>
25+
<lastmod>2025-08-09</lastmod>
2626
</url>
2727
<url>
2828
<loc>https://ferrarimarco.info/home-lab/guides/configure-monitoring/</loc>
29-
<lastmod>2025-06-18</lastmod>
29+
<lastmod>2025-08-09</lastmod>
3030
</url>
3131
<url>
3232
<loc>https://ferrarimarco.info/home-lab/guides/configure-network-shares/</loc>
33-
<lastmod>2025-06-18</lastmod>
33+
<lastmod>2025-08-09</lastmod>
3434
</url>
3535
<url>
3636
<loc>https://ferrarimarco.info/home-lab/guides/configure-tailscale/</loc>
37-
<lastmod>2025-06-18</lastmod>
37+
<lastmod>2025-08-09</lastmod>
3838
</url>
3939
<url>
4040
<loc>https://ferrarimarco.info/home-lab/guides/container-migration/</loc>
41-
<lastmod>2025-06-18</lastmod>
41+
<lastmod>2025-08-09</lastmod>
4242
</url>
4343
<url>
4444
<loc>https://ferrarimarco.info/home-lab/guides/copy-jinja-templates/</loc>
45-
<lastmod>2025-06-18</lastmod>
45+
<lastmod>2025-08-09</lastmod>
4646
</url>
4747
<url>
4848
<loc>https://ferrarimarco.info/home-lab/guides/linux-disk-setup/</loc>
49-
<lastmod>2025-06-18</lastmod>
49+
<lastmod>2025-08-09</lastmod>
5050
</url>
5151
<url>
5252
<loc>https://ferrarimarco.info/home-lab/guides/useful-linux-admin-commands/</loc>
53-
<lastmod>2025-06-18</lastmod>
53+
<lastmod>2025-08-09</lastmod>
5454
</url>
5555
<url>
5656
<loc>https://ferrarimarco.info/home-lab/guides/useful-proxmox-commands/</loc>
57-
<lastmod>2025-06-18</lastmod>
57+
<lastmod>2025-08-09</lastmod>
5858
</url>
5959
<url>
6060
<loc>https://ferrarimarco.info/home-lab/installation/production/</loc>
61-
<lastmod>2025-06-18</lastmod>
61+
<lastmod>2025-08-09</lastmod>
6262
</url>
6363
<url>
6464
<loc>https://ferrarimarco.info/home-lab/installation/production/provision-new-hosts/</loc>
65-
<lastmod>2025-06-18</lastmod>
65+
<lastmod>2025-08-09</lastmod>
6666
</url>
6767
<url>
6868
<loc>https://ferrarimarco.info/home-lab/installation/production/setup-proxmox/</loc>
69-
<lastmod>2025-06-18</lastmod>
69+
<lastmod>2025-08-09</lastmod>
7070
</url>
7171
</urlset>

docs/sitemap.xml.gz

0 Bytes
Binary file not shown.

scripts/run-mkdocs.sh

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,17 @@ echo "Run container command: ${RUN_CONTAINER_COMMAND[*]}"
9797
# Check if changed files only include files that we can ignore, such as
9898
# when only updating the sitemap
9999
declare -i RET_CODE
100+
# Disable errexit because we want to get the return code
101+
set +o errexit
100102
check_if_uncommitted_files_only_include_mkdocs_files_to_ignore "${MKDOCS_DESTINATION_DIRECTORY_PATH}"
101103
RET_CODE=$?
102-
if [[ "${RET_CODE}" -gt 1 ]]; then
103-
echo "Error while checking changed files"
104-
exit 1
104+
set -o errexit
105+
if [[ "${RET_CODE}" -eq 1 ]]; then
106+
echo "Documentation commit doesn't contain only files to ignore"
105107
elif [[ "${RET_CODE}" -eq 0 ]]; then
106108
echo "Documentation commit only contains files to ignore. Checking them out from the Git repository to avoid unnecessary site publishing"
107109
git -C "${MKDOCS_DESTINATION_DIRECTORY_PATH}" checkout .
110+
else
111+
echo "Error while checking changed files"
112+
exit 1
108113
fi

websites-src/home-lab-docs/installation/production/provision-new-hosts.md

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ home lab. We define this process as `provisioning new hosts`.
55

66
The provisioning process is as follows:
77

8-
- Gather information about the host:
9-
- Unique name to assign to the host.
10-
- MAC address of each network interface.
11-
- Name of each network interface.
12-
- Static IP address to assign to each network interface.
13-
- Boot disk name.
14-
- Update the BIOS and UEFI firmware to the latest available version.
15-
- Enable network boot.
16-
- Enable [Wake-on-LAN](https://en.wikipedia.org/wiki/Wake-on-LAN).
17-
- Enable hardware-assisted virtualization capabilities.
18-
- Add the machine to the inventory.
8+
1. Gather information about the host:
9+
1. Unique name to assign to the host.
10+
1. MAC address of each network interface.
11+
1. Name of each network interface.
12+
1. Static IP address to assign to each network interface.
13+
1. Boot disk name.
14+
1. Update the BIOS and UEFI firmware to the latest available version.
15+
1. Enable network boot.
16+
1. Enable [Wake-on-LAN](https://en.wikipedia.org/wiki/Wake-on-LAN).
17+
1. Enable hardware-assisted virtualization capabilities.
18+
1. Add the machine to the inventory.
1919

2020
For hosts that support it, we automate the setup using an out-of-band
2121
configuration mechanisms, such as
@@ -29,6 +29,7 @@ In this document, we provide information about the manual steps to provision the
2929
following types of hosts:
3030

3131
- Raspberry Pi 4
32+
- Beelink EQ12
3233

3334
## Raspberry Pi 4
3435

@@ -71,3 +72,18 @@ running.
7172
By using [Paramiko](https://www.paramiko.org/) to connect to a host using SSH,
7273
you can authenticate using a password without having the `sshpass` program
7374
installed on the host that runs Ansible.
75+
76+
## Beelink EQ12
77+
78+
This section is about the manual configuration steps for Beelink EQ12 hosts.
79+
80+
### Enable auto-power on after a power loss
81+
82+
1. Press the Del key repeatedly after powering on the PC to enter the BIOS
83+
setup.
84+
1. Use the arrow keys to enter the Chipset page. Select “PCH-IO Configuration”
85+
and press the Enter key.
86+
1. Select “State After G3”.
87+
1. Select “S0 State”. “S0 State” is to enable auto power on and “S5 State” is to
88+
disable auto power on.
89+
1. Press the F4 and select “Yes” to save the configuration.

0 commit comments

Comments
 (0)