Compare commits
No commits in common. "master" and "dind" have entirely different histories.
@ -1,10 +1,11 @@
|
|||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: exec
|
type: docker
|
||||||
name: default
|
name: default
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build and push
|
- name: build and push
|
||||||
|
image: docker:dind
|
||||||
commands:
|
commands:
|
||||||
- "docker build -t plnk . "
|
- "docker build -t plnk . "
|
||||||
- "echo $PLNK_REGISTRY_PASSWD | docker login --password-stdin --username drone https://plnk.littleoni.net"
|
- "echo $PLNK_REGISTRY_PASSWD | docker login --password-stdin --username drone https://plnk.littleoni.net"
|
||||||
|
16
Dockerfile
16
Dockerfile
@ -1,14 +1,12 @@
|
|||||||
FROM debian:latest
|
FROM debian:latest
|
||||||
|
|
||||||
|
COPY resources /build
|
||||||
|
|
||||||
## Upgrade packages on system
|
## Upgrade packages on system
|
||||||
RUN apt-get update
|
RUN apt-get update
|
||||||
|
|
||||||
## Install build tools
|
## Install build tools
|
||||||
RUN apt-get install -y \
|
RUN apt-get install -y g++ gcc make patch
|
||||||
g++\
|
|
||||||
gcc\
|
|
||||||
make\
|
|
||||||
patch
|
|
||||||
|
|
||||||
## Install package dependencies
|
## Install package dependencies
|
||||||
RUN apt-get install -y \
|
RUN apt-get install -y \
|
||||||
@ -30,10 +28,7 @@ RUN apt-get install -y \
|
|||||||
uuid-dev
|
uuid-dev
|
||||||
|
|
||||||
## Install GONK specific dependencies
|
## Install GONK specific dependencies
|
||||||
RUN apt-get install -y fail2ban iptables net-tools cron
|
RUN apt-get install -y fail2ban iptables net-tools
|
||||||
|
|
||||||
## Copy over source and other scripts
|
|
||||||
COPY resources /build
|
|
||||||
|
|
||||||
## Move and unpack source to /build
|
## Move and unpack source to /build
|
||||||
RUN mkdir /build/asterisk-current
|
RUN mkdir /build/asterisk-current
|
||||||
@ -50,12 +45,9 @@ RUN make install
|
|||||||
|
|
||||||
## Cleanup
|
## Cleanup
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
RUN cp /build/reload.sh /usr/bin/reload
|
|
||||||
RUN chmod +x /usr/bin/reload
|
|
||||||
RUN cp /build/gonk.sh /usr/bin/gonk
|
RUN cp /build/gonk.sh /usr/bin/gonk
|
||||||
RUN chmod +x /usr/bin/gonk
|
RUN chmod +x /usr/bin/gonk
|
||||||
RUN rm -rf /build
|
RUN rm -rf /build
|
||||||
RUN apt-get remove -y --purge g++ gcc make patch
|
RUN apt-get remove -y --purge g++ gcc make patch
|
||||||
RUN apt-get autoremove -y && apt-get clean -y && apt-get autoclean -y
|
|
||||||
|
|
||||||
ENTRYPOINT [ "gonk" ]
|
ENTRYPOINT [ "gonk" ]
|
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
echo "Starting pre-requisite services..."
|
|
||||||
service cron start
|
|
||||||
|
|
||||||
echo "Starting Gonk node..."
|
echo "Starting Gonk node..."
|
||||||
|
|
||||||
echo " ______
|
echo " ______
|
||||||
@ -14,12 +11,8 @@ echo " ______
|
|||||||
|/\|/\|"
|
|/\|/\|"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if [ -f /var/gonk ]; then
|
if [ -f /var/gonk ]; then
|
||||||
echo "Gonk has already been provisioned"
|
echo "Gonk has already been provisioned"
|
||||||
service fail2ban start
|
|
||||||
|
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Running first time provisioning..."
|
echo "Running first time provisioning..."
|
||||||
@ -31,48 +24,12 @@ else
|
|||||||
chown -R gonk:gonk /var/spool/asterisk
|
chown -R gonk:gonk /var/spool/asterisk
|
||||||
|
|
||||||
echo " Pulling config files for the first time..."
|
echo " Pulling config files for the first time..."
|
||||||
curl -s https://ap5.gonknet.org/asterisk/$HOSTNAME/$GONK_KEY > /etc/asterisk/asterisk.conf
|
curl -o /etc/asterisk/asterisk.conf https://api.gonk.nicolor.tech/asterisk/$HOSTNAME/$GONK_KEY
|
||||||
curl -s https://ap5.gonknet.org/asterisk/pjsip/$HOSTNAME/$GONK_KEY > /etc/asterisk/pjsip.conf
|
curl -o /etc/asterisk/pjsip.conf https://api.gonk.nicolor.tech/pjsip/$HOSTNAME/$GONK_KEY
|
||||||
curl -s https://ap5.gonknet.org/asterisk/modules/$HOSTNAME/$GONK_KEY > /etc/asterisk/modules.conf
|
curl -o /etc/asterisk/modules.conf https://api.gonk.nicolor.tech/modules/$HOSTNAME/$GONK_KEY
|
||||||
curl -s https://ap5.gonknet.org/asterisk/logger/$HOSTNAME/$GONK_KEY > /etc/asterisk/logger.conf
|
|
||||||
curl -s https://ap5.gonknet.org/asterisk/extensions/$HOSTNAME/$GONK_KEY > /etc/asterisk/extensions.conf
|
|
||||||
|
|
||||||
sed -i "s/##EXTERNAL_IP##/$(curl -s https://ipv4.myip.wtf/text)/g" /etc/asterisk/pjsip.conf
|
|
||||||
|
|
||||||
|
|
||||||
echo " Setting up config updater cron..."
|
|
||||||
echo "26 * * * * gonk /usr/bin/reload" > /etc/cron.d/reload
|
|
||||||
|
|
||||||
|
|
||||||
echo " Setting up VOIPBL..."
|
|
||||||
echo " Downloading script..."
|
|
||||||
curl -s https://gonknet.org/static/voipbl.sh > /usr/bin/voipbl.sh
|
|
||||||
chmod 700 /usr/bin/voipbl.sh
|
|
||||||
chmod +x /usr/bin/voipbl.sh
|
|
||||||
echo " Setting up VOIPBL cron..."
|
|
||||||
echo "13 */4 * * * root /usr/bin/voipbl.sh" > /etc/cron.d/voipbl
|
|
||||||
|
|
||||||
echo " Setting up fail2ban"
|
|
||||||
curl -s https://ap5.gonknet.org/f2b/asterisk/$HOSTNAME/$GONK_KEY > /etc/fail2ban/jail.d/asterisk.conf
|
|
||||||
curl -s https://ap5.gonknet.org/f2b/voipbl/$HOSTNAME/$GONK_KEY > /etc/fail2ban/action.d/voipbl.conf
|
|
||||||
rm /etc/fail2ban/jail.d/defaults-debian.conf
|
|
||||||
|
|
||||||
asterisk -U gonk -G gonk
|
|
||||||
|
|
||||||
sleep 2
|
|
||||||
|
|
||||||
kill -9 -- $(cat /var/run/asterisk/asterisk.pid)
|
|
||||||
|
|
||||||
service fail2ban start
|
|
||||||
|
|
||||||
echo " Running voipbl for the first time"
|
|
||||||
/usr/bin/voipbl.sh
|
|
||||||
|
|
||||||
touch /var/gonk
|
touch /var/gonk
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "Starting Asterisk..."
|
echo "Starting Asterisk..."
|
||||||
asterisk -U gonk -G gonk -f
|
asterisk -U gonk -G gonk -f
|
||||||
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
|
|
||||||
echo "Reloading config files..."
|
|
||||||
curl -s https://ap5.gonknet.org/asterisk/$HOSTNAME/$GONK_KEY > /etc/asterisk/asterisk.conf
|
|
||||||
curl -s https://ap5.gonknet.org/asterisk/pjsip/$HOSTNAME/$GONK_KEY > /etc/asterisk/pjsip.conf
|
|
||||||
curl -s https://ap5.gonknet.org/asterisk/modules/$HOSTNAME/$GONK_KEY > /etc/asterisk/modules.conf
|
|
||||||
curl -s https://ap5.gonknet.org/asterisk/logger/$HOSTNAME/$GONK_KEY > /etc/asterisk/logger.conf
|
|
||||||
curl -s https://ap5.gonknet.org/asterisk/extensions/$HOSTNAME/$GONK_KEY > /etc/asterisk/extensions.conf
|
|
||||||
|
|
||||||
sed -i "s/##EXTERNAL_IP##/$(curl https://ipv4.myip.wtf/text)/g" /etc/asterisk/pjsip.conf
|
|
||||||
|
|
||||||
|
|
||||||
asterisk -x "core restart when convenient"
|
|
Loading…
Reference in New Issue
Block a user