Compare commits

...

9 Commits

Author SHA1 Message Date
1f6774612b Delete rigctld/Dockerfile
go away
2025-12-15 13:56:11 +00:00
Evan H // KC2IHX
6432092210 doot doot dooo - fixing my bad rebase 2025-12-15 05:54:12 -08:00
Evan H // KC2IHX
7ec96c0718 something something fixing branches 2025-11-30 09:43:24 -08:00
Evan H // KC2IHX
062518b922 remove wrong dockerfile 2025-11-30 09:41:47 -08:00
Evan H // KC2IHX
c1c00a2267 moved dockerfile for rigctld, added config stubs 2025-11-30 09:39:48 -08:00
Evan H // KC2IHX
635a199ed5 moved dockerfile for rigctld container build 2025-11-30 08:36:37 -08:00
Evan H // KC2IHX
c297fae2fb .env file missed 2025-11-30 06:39:03 -08:00
Evan H // KC2IHX
92f192cc1a setting up rigctld 2025-11-30 06:38:37 -08:00
Evan H // KC2IHX
67dfcf3db9 added more stuff 2025-11-29 18:00:19 -08:00
6 changed files with 93 additions and 47 deletions

7
.env
View File

@@ -1,3 +1,7 @@
#general settings
STATION_CALL="N0CALL"
NODENAME="NOWHR"
#rigctld settings
RIG_MODEL=""
RIG_DEVICE=""
@@ -8,4 +12,5 @@ PTT_METHOD=""
DIREWOLF_PORT=
ALSA_DEVICE=
#linbpq settings
# these get messy...

View File

@@ -1,7 +1,7 @@
# FARPNaaS
a draft repo for making a containerized farpn node
a draft repo for making a containerized farpn node
don't take this too seriously, this is just me messing around
TODOs:
@@ -24,4 +24,4 @@ Assumptions:
Purpose:
- Learn something about these new fangled containers
- implement a method to get a FARPN node easily stood up, but not necessarily targeted at new users.
-
- have a easy to spin up FARPN stack to run tests and configurations with

View File

@@ -2,50 +2,53 @@ version: '0.1'
services:
rigctld:
build:
context: .
dockerfile_inline:
FROM debian
RUN ...
context: ./rigctld
# args:
# - GIT_RELEASE: abcdef
platforms:
- "linux/arm64"
# network: host
container_name: rigctld
# group_add: dialout
devices:
- "/dev/snd:/dev/snd"
- "/dev/ttyUSB:/dev/ttyUSB0"
ports: 4534:4534
direwolf:
container_name: direwolf
depends_on:
- rigctld
ports:
8000:8000
linbpq:
build:
context: .
dockerfile_inline:
FROM debian
RUN ...
container_name: bpq
depends_on:
- direwolf
secrets:
bbs-password:
environment: BBSPASS
admin-password:
environment: ADMINPASS
volumes:
- /var/linbpq
ports:
- "8000:8000"
- "8001:8001"
expose:
- "8001"
restart: unless-stopped
configs:
initial_config:
file: ./initial_settings.json
runtime_config:
file: ./runtime_settings.json
volumes:
bpq-data:
networks:
farpn-local: {}
farpn-ygg: {}
command: rigctld $RIGCTLD_ARGS
# direwolf:
# container_name: direwolf
# depends_on:
# - rigctld
# devices:
# - "/dev/snd:/dev/snd"
# group-add:
# - dialout
# - audio
# ports:
# 8000:8000
# linbpq:
# container_name: bpq
# depends_on:
# - direwolf
# secrets:
# bbs-password:
# environment: BBSPASS
# admin-password:
# environment: ADMINPASS
# volumes:
# - /var/linbpq
# ports:
# - "8000:8000"
# - "8001:8001"
# expose:
# - "8001"
# restart: unless-stopped
#configs:
# initial_config:
# file: ./initial_settings.json
# runtime_config:
# file: ./runtime_settings.json
#volumes:
# bpq-data:
#networks:
# farpn-local: {}
# farpn-ygg: {}

0
config/udev-serial.rules Normal file
View File

0
config/udev-sound.rules Normal file
View File

38
rigctld/Containerfile Normal file
View File

@@ -0,0 +1,38 @@
# build rigctld
FROM debian:latest
RUN mkdir src
# this might be too much, but let's try it
RUN apt update
RUN apt install -y libconfig-dev autoconf libtool git gcc g++ make cmake libudev-dev libreadline-dev libusb-1.0-0-dev libavahi-common-dev libavahi-client-dev
# build hamlib/rigctld
FROM debian:latest AS farpn-base
# ENV DEBIAN_FRONTEND="noninteractive" TZ="Etc/UTC"
# this might be too much, but let's try it
RUN apt update
RUN apt update \
&& apt install -y build-essential libconfig-dev autoconf \
libtool git gcc g++ make cmake libudev-dev libusb-1.0-0-dev \
libavahi-common-dev libavahi-client-dev
# build hamlib/rigctld
FROM farpn-base AS rigctld-builder
RUN <<EOF
mkdir src
cd src
git clone --branch 4.6.5 --single-branch https://github.com/Hamlib/Hamlib.git
cd Hamlib
./bootstrap
./configure
make
EOF
FROM farpn-base AS rigctld
COPY --from=rigctld-builder /usr/local /usr/local
ENV LD_LIBRARY_PATH="/usr/local/lib"
CMD /bin/rigctld --model=$RIG_MODEL --rig-file=$RIG_DEVICE -serial-speed=$RIG_SPEED --port=$RIGCTLD_PORT $RIGCTLD_ARGS