The purpose of this docker build is to created an easily deployable FreeRADIUS container that implements MAC-based authentication.
Download the file Dockerfile
to an empty directory and issue:
docker build -t TAG .
where:
TAG
represents a tag to set on the built image (ie: freeradius:latest
)
After caddy is built, a container can be created and ran either via docker run
or deployed within the swarm with docker stack deploy
. A Docker compose file is available to that end
Note that if the image is to be deployed to a swarm, then more than likely the image should be committed to a local registry serving the local docker swarm.
FROM freeradius/freeradius-server:latest # update package manager RUN apt-get update -y && \ apt-get upgrade -y && \ apt-get dist-upgrade -y && \ apt-get -y autoremove && \ apt-get clean # generate SSL snakeoil for freeradius RUN apt-get -y install ssl-cert && \ make-ssl-cert generate-default-snakeoil # install helper tools RUN apt-get -y install \ inotify-tools \ bash \ supervisor # add filesystem requirements COPY raddb/ /etc/raddb/ ADD rootfs / # specify the volume mountpoint VOLUME /data # expose FreeRADIUS ports EXPOSE 1812-1813:1812-1813/udp # start supervisord to monitor processes ENTRYPOINT [ "supervisord", "-t", "-n", "-c", "/etc/supervisor.conf" ]