Created
August 23, 2011 17:45
-
-
Save visnup/1165971 to your computer and use it in GitHub Desktop.
node.js knockout 2011 StackScript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# <UDF name="ssh_key" Label="Paste in your public SSH key" default="" example="" optional="false" /> | |
# root ssh keys | |
mkdir /root/.ssh | |
echo $SSH_KEY >> /root/.ssh/authorized_keys | |
chmod 0700 /root/.ssh | |
# update to latest | |
apt-get update -y | |
apt-get upgrade -y | |
# install dependencies | |
apt-get install -y build-essential curl | |
apt-get install -y git || apt-get install -y git-core | |
# install node | |
apt-get install -y python-software-properties | |
add-apt-repository ppa:chris-lea/node.js | |
apt-get update | |
apt-get install -y nodejs | |
# install npm | |
curl http://npmjs.org/install.sh | clean=no sh | |
# setup a deploy user | |
useradd -U -s /bin/bash -m deploy | |
## NODE_ENV=production | |
echo 'export NODE_ENV=production' >> /home/deploy/.profile | |
## ssh directory | |
mkdir /home/deploy/.ssh | |
chmod 0700 /home/deploy/.ssh | |
## github known_hosts | |
cat <<EOF > /home/deploy/.ssh/known_hosts | |
|1|w8rL5TpJWjFsLe/KELv1839MbwU=|UCFegywpxF4ziwmF/GPYhuII4j4= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== | |
|1|vP9WJ+xqyudty0nl6qqM+23NF+Q=|JsLmCcxKptEgKuPjUPmje6VrN28= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== | |
EOF | |
## ssh keys | |
echo $SSH_KEY >> /home/deploy/.ssh/authorized_keys | |
curl http://nodeknockout.com/id_nko2.pub >> /home/deploy/.ssh/authorized_keys | |
chmod 600 /home/deploy/.ssh/authorized_keys | |
## permissions | |
chown -R deploy:deploy /home/deploy/.ssh | |
# upstart script | |
cat <<'EOF' > /etc/init/node.conf | |
description "node server" | |
start on filesystem or runlevel [2345] | |
stop on runlevel [!2345] | |
respawn | |
respawn limit 10 5 | |
umask 022 | |
script | |
HOME=/home/deploy | |
. $HOME/.profile | |
exec /usr/bin/node $HOME/app/current/app.js >> $HOME/app/shared/logs/node.log 2>&1 | |
end script | |
post-start script | |
HOME=/home/deploy | |
PID=`status node | awk '/post-start/ { print $4 }'` | |
echo $PID > $HOME/app/shared/pids/node.pid | |
end script | |
post-stop script | |
HOME=/home/deploy | |
rm -f $HOME/app/shared/pids/node.pid | |
end script | |
EOF | |
# sudoers | |
cat <<EOF > /etc/sudoers.d/node | |
deploy ALL=NOPASSWD: /sbin/restart node | |
deploy ALL=NOPASSWD: /sbin/stop node | |
deploy ALL=NOPASSWD: /sbin/start node | |
EOF | |
chmod 0440 /etc/sudoers.d/node |
it's so linode will prompt for an ssh key to install in their linode setup ui.
On Aug 28, 2011, at 5:03 AM, orsenthil wrote:
What's the comment - # <UDF name="ssh_key" Label="Paste in your public SSH key" default="" example="" optional="false" /> for?
##
Reply to this email directly or view it on GitHub:
https://gist.github.com/1165971
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What's the comment -
UDF name="ssh_key" Label="Paste in your public SSH key" default="" example="" optional="false" for?