aboutsummaryrefslogtreecommitdiffstats
path: root/osmo-ran/split/ran-trx-uhd/Dockerfile
blob: 08baa07283608d4b1435cd48a18df439919a6b3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
ARG     USER
FROM	$USER/systemd
# Arguments used after FROM must be specified again
ARG	DISTRO
ARG	OSMOCOM_REPO_MIRROR="http://download.opensuse.org"
ARG	OSMOCOM_REPO_PATH="repositories/network:/osmocom:"
ARG	OSMOCOM_REPO_VERSION=latest

MAINTAINER Pau Espin Pedrol <pespin@sysmocom.de>

ARG	OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/"
ARG	OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/"

COPY	.common/Release.key /tmp/Release.key

RUN	case "$DISTRO" in \
	debian*) \
		apt-get update && \
		apt-get install -y --no-install-recommends \
			gnupg && \
		apt-key add /tmp/Release.key && \
		rm /tmp/Release.key && \
		echo "deb " $OSMOCOM_REPO_DEBIAN " ./" > /etc/apt/sources.list.d/osmocom-$OSMOCOM_REPO_VERSION.list \
		;; \
	centos*) \
		echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf && \
		dnf install -y dnf-utils wget && \
		yum config-manager --set-enabled PowerTools && \
		cd /etc/yum.repos.d/ && \
		export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \
		{ echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \
		  echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \
		  echo "type=rpm-md"; \
		  echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \
		  echo "gpgcheck=1"; \
		  echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \
		  echo "enabled=1"; \
		} > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \
		;; \
	esac

# we need to add this to invalidate the cache once the repository is updated.
# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM
ADD	$OSMOCOM_REPO_DEBIAN/Release /tmp/Release
ADD	$OSMOCOM_REPO_CENTOS/repodata/repomd.xml /tmp/repomd.xml

RUN	case "$DISTRO" in \
	debian*) \
		apt-get update && \
		apt-get install -y --no-install-recommends \
			less \
			apt-utils \
			strace \
			tcpdump \
			telnet \
			vim \
			uhd-host \
			osmo-trx-uhd && \
		apt-get clean \
		;; \
	centos*) \
		dnf install -y \
			less \
			strace \
			tcpdump \
			telnet \
			vim \
			osmo-trx-uhd \
		;; \
	esac

RUN	/usr/lib/uhd/utils/uhd_images_downloader.py

RUN	systemctl enable osmo-trx-uhd

WORKDIR	/tmp
RUN	cp -r /etc/osmocom /etc/osmocom-default
VOLUME	/data
VOLUME	/etc/osmocom
VOLUME	/dev/bus/usb

COPY	osmocom/* /etc/osmocom/

CMD	["/lib/systemd/systemd", "--system", "--unit=multi-user.target"]

#osmo-trx-ipc: VTY  CTRL
EXPOSE     4237 4236
EXPOSE	5700 5701 5702