Add custom MarineComOS_RPI configurations and files

This commit is contained in:
Daniel Velez 2025-01-13 15:09:52 -06:00
parent ca08900c66
commit cfbfdfa777
19 changed files with 122 additions and 0 deletions

3
daemon.json Normal file
View File

@ -0,0 +1,3 @@
{
"data-root": "/data/docker"
}

View File

@ -0,0 +1,10 @@
#!/bin/bash
DEFAULT_USER="marinecom"
DEFAULT_PASS="marinecom123"
# Add the user and set the password
useradd -m -s /bin/bash $DEFAULT_USER
echo "$DEFAULT_USER:$DEFAULT_PASS" | chpasswd
# Add the user to necessary groups for SSH and Docker
usermod -aG sudo,docker $DEFAULT_USER

View File

@ -0,0 +1,3 @@
{
"data-root": "/data/docker"
}

View File

@ -0,0 +1 @@
/dev/mmcblk0p3 /data ext4 defaults 0 0

View File

@ -0,0 +1,4 @@
#!/bin/bash
# Load pre-downloaded Docker images
docker load < /docker-images/portainer.tar
docker load < /docker-images/signalr.tar

View File

@ -0,0 +1,7 @@
#!/bin/bash
# Start Portainer container
docker run -d --name portainer --restart=always -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
# Start SignalR container
docker run -d --name signalr --restart=always -p 5000:5000 mcr.microsoft.com/dotnet/aspnet:6.0

View File

@ -0,0 +1,13 @@
[Match]
Name=eth0
[Network]
DHCP=yes
[DHCP]
UseDNS=true
[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8

View File

@ -0,0 +1,11 @@
[Unit]
Description=Add default user on first boot
Before=multi-user.target
[Service]
Type=oneshot
ExecStart=/etc/systemd/system/add-default-user.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,11 @@
[Unit]
Description=Create and Format Data Partition
ConditionPathExists=!/dev/mmcblk0p3
[Service]
Type=oneshot
ExecStart=/bin/bash -c "parted /dev/mmcblk0 mkpart primary ext4 50% 100% && mkfs.ext4 /dev/mmcblk0p3"
ExecStartPost=/bin/mount /dev/mmcblk0p3 /data
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=Enable systemd-networkd for networking
Wants=network-online.target
After=network.target
[Service]
Type=oneshot
ExecStart=/bin/systemctl enable systemd-networkd
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=Start Docker Containers on First Boot
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
ExecStart=/etc/start-docker-containers.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=Start Portainer Container
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
ExecStart=/etc/start-portainer-container.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=Start SignalK Container
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
ExecStart=/etc/start-signalk-container.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,2 @@
docker load < /docker-images/signalk.tar
docker load < /docker-images/portainer.tar

View File

@ -0,0 +1,4 @@
#!/bin/bash
# Start Portainer container
docker run -d --name portainer --restart=always -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

View File

@ -0,0 +1,4 @@
#!/bin/bash
# Start SignalK container
docker run -d --name signalk --restart=always -p 3000:3000 \
-v /var/lib/signalk:/data signalk/signalk-server

View File

@ -0,0 +1 @@
docker.io