Quick setup for rocky server
This commit is contained in:
68
rocky/before.txt
Normal file
68
rocky/before.txt
Normal file
@@ -0,0 +1,68 @@
|
||||
# ==============================
|
||||
# Radxa First Boot Configuration
|
||||
# ==============================
|
||||
|
||||
# Allow config to continue even when some commands fail
|
||||
no_fail
|
||||
log "Running before.txt as first boot configuration"
|
||||
|
||||
# Update generic hostname
|
||||
# Command:
|
||||
# update_generic_hostname <generic hostname>
|
||||
update_generic_hostname rocky
|
||||
|
||||
# Create default accounts
|
||||
# Commands:
|
||||
# add_user <user name> <password>
|
||||
# user_append_group <user name> <group>
|
||||
#
|
||||
add_user ralsina ralsina
|
||||
user_append_group ralsina sudo
|
||||
user_append_group ralsina audio
|
||||
user_append_group ralsina video
|
||||
user_append_group ralsina plugdev
|
||||
user_append_group ralsina render
|
||||
user_append_group ralsina gpio
|
||||
user_append_group ralsina i2c
|
||||
user_append_group ralsina spidev
|
||||
user_append_group ralsina pwm
|
||||
|
||||
|
||||
# Resize root partition at the filesystem level
|
||||
#
|
||||
resize_root
|
||||
|
||||
# Disable services
|
||||
# Command:
|
||||
# disable_service <systemd unit name>
|
||||
#
|
||||
disable_service smbd
|
||||
disable_service nmbd
|
||||
# Disable systemd-networkd due to systemd-networkd-wait-online blocking network.target
|
||||
# We use NetworkManger, so systemd-networkd can be safely disabled
|
||||
disable_service systemd-networkd
|
||||
|
||||
# Generate unique hardware fingerprint
|
||||
#
|
||||
regenerate_ssh_hostkey
|
||||
|
||||
# Configure locale
|
||||
# Command:
|
||||
# update_locale <locale>
|
||||
#
|
||||
update_locale en_US.UTF-8
|
||||
|
||||
# Connect to Wi-Fi
|
||||
# Command:
|
||||
# connect_wi-fi <network name> [password]
|
||||
#
|
||||
connect_wi-fi Telecentro-4ad3 QMZHHDN2MZYV
|
||||
|
||||
enable_service ssh
|
||||
enable_service ssh.socket
|
||||
|
||||
# Remove first-boot package
|
||||
# Command:
|
||||
# remove_packages <package names>
|
||||
#
|
||||
remove_packages rsetup-config-first-boot
|
5
rocky/local
Executable file
5
rocky/local
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
mount UUID=721a0aaa-28cd-46b8-98ba-485bc719d680 /data
|
||||
systemctl start docker
|
||||
|
10
rocky/local.service
Normal file
10
rocky/local.service
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Startup
|
||||
After=network.target local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/etc/rc.local
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
User=root
|
63
rocky/setup.sh
Normal file
63
rocky/setup.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
apt update
|
||||
apt upgrade
|
||||
|
||||
apt install foot-terminfo btrfs-progs ca-certificates curl rsync
|
||||
|
||||
mkdir ~/.ssh -p
|
||||
chmod 700 ~/.ssh
|
||||
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvwFdqrGf0V44l/akfJP1oLMG5Ou9XCrEBUYXn22nPd/0osoXxfbiyFhgLJ6ZVV8fXxH4qhPhniDvUR7oLemjZqpNO3eizyzXoZ1GBqB7OBSM+99HHqYZkWDVM4RHh3U4GAqh/MPty9ALp82MlJwCH4JolV+ejFmm/dzO1A8gx12X5KbEjhCG0bRXGfQx0Xkhfdy5X1NGXsRa2Qq6y9WuoxeSTq6kQQHqlSnGHkvumEVjHLD57KTpO72nPXZ2NxZRHeCuhBXCv7FzCguzT9NEt8L7z+kX6E31Rav5dsxA3CKoDcCHqKYIE66qQ7ad8WNKzwYoG67l7MiCtlIdO7jUGw== ralsina@mont' > ~/.ssh/authorized_keys
|
||||
chmod 00 ~/.ssh/authorized_keys
|
||||
|
||||
|
||||
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
|
||||
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sudo sh ./get-docker.sh --dry-run
|
||||
|
||||
systemctl disable docker || true
|
||||
|
||||
hostname rocky
|
||||
echo rocky > /etc/hostname
|
||||
|
||||
curl -fsSL https://tailscale.com/install.sh | sh && sudo tailscale up --auth-key=enter-tailscale-deploy-key-here
|
||||
|
||||
tailscale up
|
||||
|
||||
# Docker Engine for Linux installation script.
|
||||
|
||||
# Add Docker's official GPG key:
|
||||
sudo install -m 0755 -d /etc/apt/keyrings
|
||||
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||
# # Add the repository to Apt sources:
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
systemctl disable docker
|
||||
systemctl stop docker
|
||||
|
||||
mkdir /data
|
||||
mount UUID=721a0aaa-28cd-46b8-98ba-485bc719d680 /data
|
||||
docker network create faaso-net
|
||||
pushd /data/stacks
|
||||
for a in */
|
||||
do
|
||||
cd $a
|
||||
docker compose up -d
|
||||
cd ..
|
||||
done
|
||||
popd
|
||||
|
||||
|
||||
cp local.service /etc/systemd/system/local.service
|
||||
cp local /etc/rc.local
|
||||
chmod +x /etc/rc.local
|
||||
systemctl daemon-reload
|
||||
|
||||
reboot
|
Reference in New Issue
Block a user