Skip to content

Instantly share code, notes, and snippets.

@debdutdeb
Last active November 26, 2021 12:28
Show Gist options
  • Save debdutdeb/2acf448c54ccad5d70f1caccc07afc7a to your computer and use it in GitHub Desktop.
Save debdutdeb/2acf448c54ccad5d70f1caccc07afc7a to your computer and use it in GitHub Desktop.
(cd /tmp; wget https://raw.githubusercontent.com/RocketChat/rocketchat-packer/main/image_creation/motd.sh)
cat > /var/lib/cloud/scripts/per-instance/01-set-root-url.sh <<EOF
#!/bin/bash
sed -E "s@^Environment=ROOT_URL=.+@Environment=ROOT_URL=http://\$(curl -s ipinfo.io/ip):3000@" /lib/systemd/system/rocketchat.service -i
systemctl daemon-reload
systemctl restart rocketchat
EOF
chmod +x /var/lib/cloud/scripts/per-instance/01-set-root-url.sh
export SOURCE_NAME=do-marketplace
export ROCKETCHAT_VERSION=latest
export BUILD_HOST=$(curl -s ipinfo.io/ip):3000
## Provision
echo "Installing Rocket.Chat and dependencies through rocketchatctl for platform $SOURCE_NAME"
sudo curl -L https://raw.githubusercontent.com/RocketChat/install.sh/master/rocketchatctl -o /usr/local/bin/rocketchatctl
sudo chmod +x /usr/local/bin/rocketchatctl
sudo sed -i '/&& print_input_from_pipe_error_and_exit/d' /usr/local/bin/rocketchatctl
sudo rocketchatctl install --root-url=http://$BUILD_HOST --version=$ROCKETCHAT_VERSION --webserver=traefik --letsencrypt-email=MyRocketChat@DO --bind-loopback=false --install-node --use-mongo
sudo sed -i "/User=rocketchat/a Environment=DEPLOY_PLATFORM=$SOURCE_NAME" /lib/systemd/system/rocketchat.service
mongo rocketchat --eval 'db.rocketchat_settings.deleteOne({ _id: "uniqueID" })'
echo "Updating motd"
ls /tmp
sudo mv /tmp/motd.sh /etc/update-motd.d/99-image-readme
sudo chmod 755 /etc/update-motd.d/99-image-readme
sudo sed -i 's/^PrintMotd no/PrintMotd yes/' /etc/ssh/sshd_config
sudo touch /etc/motd.tail
echo "Setting ufw rules"
sudo apt-get -y install ufw
sudo ufw allow ssh
sudo ufw allow 3000/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw default deny incoming
sudo ufw default allow outgoing
yes | sudo ufw enable
echo "Cleaning up"
sudo rm -rf /tmp/* /var/tmp/*
unset HISTFILE
rm -rf ~/.bash_history
sudo apt-get -y autoremove
sudo apt-get -y clean
sudo apt-get -y autoclean
sudo find /var/log -mtime -1 -type f -exec truncate -s 0 {} \;
sudo rm -rf /var/log/*.gz /var/log/*.[0-9] /var/log/*-????????
sudo rm -rf /var/lib/cloud/instances/*
sudo truncate -s 0 /var/log/lastlog
sudo truncate -s 0 /var/log/wtmp
sudo truncate -s 0 /var/log/kern.log
sudo truncate -s 0 /var/log/ufw.log
sudo truncate -s 0 /var/log/auth.log
sudo truncate -s 0 /var/log/apport.log
sudo rm -f /root/.ssh/authorized_keys /etc/ssh/*key* /home/ubuntu/.ssh/authorized_keys
sed -iE '/^Environment=DEPLOY_PLATFORM=rocketchatctl$/d' /lib/systemd/system/rocketchat.service
systemctl daemon-reload
systemctl restart rocketchat
wget -O- https://raw.githubusercontent.com/digitalocean/marketplace-partners/master/scripts/90-cleanup.sh | bash
wget -O- https://raw.githubusercontent.com/digitalocean/marketplace-partners/master/scripts/99-img-check.sh | bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment