Multi-arch APRS-IS server (AMD64/ARM64/ARMv7). 4.8MB download. Zero-config.
1.2K
Lightweight, production-ready Docker image for aprscโ - a high-performance APRS-IS (Automatic Packet Reporting System - Internet Service) server.
docker run -d \
-p 14580:14580 \
-p 14501:14501 \
bd5rv/aprsc:latest
Access web interface at http://localhost:14501/โ
docker run -d \
-e APRSC_SERVER_ID=YOUR-CALL \
-e APRSC_PASSCODE=12345 \
-e APRSC_UPLINK_ENABLED=yes \
-p 14580:14580 \
-p 14501:14501 \
bd5rv/aprsc:latest
Get your passcode at: https://apps.magicbug.co.uk/passcode/โ
latest - Latest stable release2.1.19-g6d55570 - Specific version with git hash2.1.19 - Semantic version2.1 - Major.minor version2 - Major versionThis image supports multiple CPU architectures with automatic platform detection:
| Architecture | Platform | Devices |
|---|---|---|
| AMD64 | linux/amd64 | Intel/AMD servers, desktops, laptops |
| ARM64 | linux/arm64 | Raspberry Pi 4/5, ARM servers, Apple Silicon |
| ARMv7 | linux/arm/v7 | Raspberry Pi 2/3, older ARM devices |
Docker automatically selects the correct architecture for your device:
# On x86-64 server - pulls AMD64 image
docker pull bd5rv/aprsc:latest
# On Raspberry Pi 4 - pulls ARM64 image automatically
docker pull bd5rv/aprsc:latest
# On Raspberry Pi 3 - pulls ARMv7 image automatically
docker pull bd5rv/aprsc:latest
Perfect for APRS iGate on Raspberry Pi:
docker run -d \
-e APRSC_SERVER_ID=YOUR-CALL \
-e APRSC_PASSCODE=12345 \
-e APRSC_UPLINK_ENABLED=yes \
-p 14580:14580 \
-p 14501:14501 \
--restart unless-stopped \
bd5rv/aprsc:latest
# Verify architecture
docker exec <container> uname -m
# Raspberry Pi 4/5: aarch64 (ARM64)
# Raspberry Pi 2/3: armv7l (ARMv7)
See: Multi-Architecture Guideโ
| Variable | Default | Description |
|---|---|---|
APRSC_SERVER_ID | NOCALL | Your amateur radio callsign |
APRSC_PASSCODE | -1 | Server passcode (read-only with -1) |
APRSC_MY_ADMIN | Docker User | Administrator name |
APRSC_MY_EMAIL | root@localhost | Administrator email |
APRSC_UPLINK_ENABLED | no | Enable upstream APRS-IS connection |
APRSC_UPLINK_SERVER | rotate.aprs2.net | Upstream server address |
APRSC_IGATE_PORT | 14580 | Client port |
APRSC_HTTP_STATUS_PORT | 14501 | Web monitoring port |
See full list: Environment Variables Guideโ
docker run -d \
-v ./aprsc.conf:/etc/aprsc/aprsc.conf:ro \
-p 14580:14580 \
-p 14501:14501 \
bd5rv/aprsc:latest
| Port | Protocol | Purpose |
|---|---|---|
| 14580 | TCP/UDP | APRS-IS client port (filtered) |
| 10152 | TCP/UDP | Full feed port (unfiltered) |
| 8080 | UDP | UDP packet submission |
| 8080 | TCP | HTTP position upload |
| 14501 | TCP | Web status monitoring |
version: '3.8'
services:
aprsc:
image: bd5rv/aprsc:latest
container_name: aprsc
restart: unless-stopped
environment:
- APRSC_SERVER_ID=YOUR-CALL
- APRSC_PASSCODE=12345
- APRSC_MY_ADMIN=Your Name
- [email protected]
- APRSC_UPLINK_ENABLED=yes
- APRSC_UPLINK_SERVER=rotate.aprs2.net
ports:
- "14580:14580"
- "14501:14501"
volumes:
- ./logs:/var/log/aprsc
- aprsc-data:/var/run/aprsc/data
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://127.0.0.1:14501/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
aprsc-data:
docker run -d \
-e APRSC_UPLINK_ENABLED=yes \
-e APRSC_UPLINK_TYPE=ro \
-p 14580:14580 \
-p 14501:14501 \
bd5rv/aprsc:latest
docker run -d \
-e APRSC_SERVER_ID=N0CALL \
-e APRSC_PASSCODE=12345 \
-e APRSC_UPLINK_ENABLED=yes \
-e APRSC_UPLINK_TYPE=full \
-e APRSC_UPLINK_SERVER=asia.aprs2.net \
-p 14580:14580 \
-p 14501:14501 \
bd5rv/aprsc:latest
rotate.aprs2.net - Global round-robin (recommended)asia.aprs2.net - Asia regioneuro.aprs2.net - Europe regionnoam.aprs2.net - North America regionTest with telnet:
telnet localhost 14580
Then login:
user TEST pass -1 vers test 1.0
You should see APRS packets streaming immediately.
See: Testing Guideโ
Open http://localhost:14501/โ in your browser to see:
curl http://localhost:14501/status.json
docker ps
# Look for "(healthy)" in STATUS column
Minimal:
Supported Platforms:
All platforms tested and production-ready!
When running with default settings, you'll see:
WARNING: Using default callsign 'NOCALL'
WARNING: Using invalid passcode
This is normal for testing. For production use, set APRSC_SERVER_ID and APRSC_PASSCODE.
You may see:
aprsc: Failed to apply initial POSIX capabilities: Operation not permitted
This is normal and can be safely ignored. The container still works perfectly. See FAQโ for details.
APRSC_UPLINK_ENABLED=yescurl http://localhost:14501/status.json | jq '.uplinks'docker logs <container-name>docker pscurl http://localhost:14501/Change host port mapping:
docker run -p 24580:14580 ...
Issues and Pull Requests welcome at: https://github.com/bd5rv/aprsc-dockerโ
This image is based on:
Built with โค๏ธ for the Amateur Radio community
For detailed documentation, visit the GitHub repositoryโ
Enjoy! 73! de BD5RV
Content type
Image
Digest
sha256:9ae38ef1dโฆ
Size
4.8 MB
Last updated
about 2 months ago
docker pull bd5rv/aprsc