More turtl config
This commit is contained in:
parent
98ca24a116
commit
85f6db39a3
|
@ -126,6 +126,11 @@ function upgrade_turtl {
|
||||||
function_check set_repo_commit
|
function_check set_repo_commit
|
||||||
set_repo_commit /var/www/$TURTL_DOMAIN_NAME/htdocs "turtl commit" "$TURTL_COMMIT" $TURTL_REPO
|
set_repo_commit /var/www/$TURTL_DOMAIN_NAME/htdocs "turtl commit" "$TURTL_COMMIT" $TURTL_REPO
|
||||||
set_repo_commit /var/www/$TURTL_DOMAIN_NAME/htdocs "turtl api commit" "$TURTL_API_COMMIT" $TURTL_API_REPO
|
set_repo_commit /var/www/$TURTL_DOMAIN_NAME/htdocs "turtl api commit" "$TURTL_API_COMMIT" $TURTL_API_REPO
|
||||||
|
nginx_dissite $TURTL_DOMAIN_NAME
|
||||||
|
cd /var/www/$TURTL_DOMAIN_NAME/htdocs
|
||||||
|
npm install
|
||||||
|
make minify
|
||||||
|
nginx_ensite $TURTL_DOMAIN_NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
function backup_local_turtl {
|
function backup_local_turtl {
|
||||||
|
@ -240,17 +245,18 @@ function remove_turtl {
|
||||||
remove_nodejs turtl
|
remove_nodejs turtl
|
||||||
|
|
||||||
remove_rethinkdb
|
remove_rethinkdb
|
||||||
|
remove_common_lisp
|
||||||
|
|
||||||
function_check remove_ddns_domain
|
function_check remove_ddns_domain
|
||||||
remove_ddns_domain $TURTL_DOMAIN_NAME
|
remove_ddns_domain $TURTL_DOMAIN_NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
function install_libuv {
|
function install_libuv {
|
||||||
if [ ! -d $INSTALL_DIR ]; then
|
if [ ! -d /usr/local/src ]; then
|
||||||
mkdir -p $INSTALL_DIR
|
mkdir -p /usr/local/src
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $INSTALL_DIR
|
cd /usr/local/src
|
||||||
if [ ! -f libuv-v${LIBUV_VERSION}.tar.gz ]; then
|
if [ ! -f libuv-v${LIBUV_VERSION}.tar.gz ]; then
|
||||||
wget http://dist.libuv.org/dist/v${LIBUV_VERSION}/libuv-v${LIBUV_VERSION}.tar.gz
|
wget http://dist.libuv.org/dist/v${LIBUV_VERSION}/libuv-v${LIBUV_VERSION}.tar.gz
|
||||||
fi
|
fi
|
||||||
|
@ -264,15 +270,15 @@ function install_libuv {
|
||||||
echo $"libuv hash does not match. Expected $LIBUV_HASH but found $hashstr"
|
echo $"libuv hash does not match. Expected $LIBUV_HASH but found $hashstr"
|
||||||
exit 27685
|
exit 27685
|
||||||
fi
|
fi
|
||||||
if [ ! -d $INSTALL_DIR/libuv-v${LIBUV_VERSION} ]; then
|
if [ ! -d /usr/local/src/libuv-v${LIBUV_VERSION} ]; then
|
||||||
tar -xf libuv-v${LIBUV_VERSION}.tar.gz
|
tar -xf libuv-v${LIBUV_VERSION}.tar.gz
|
||||||
fi
|
fi
|
||||||
if [ ! -d $INSTALL_DIR/libuv-v${LIBUV_VERSION} ]; then
|
if [ ! -d /usr/local/src/libuv-v${LIBUV_VERSION} ]; then
|
||||||
rm libuv-v${LIBUV_VERSION}.tar.gz
|
rm libuv-v${LIBUV_VERSION}.tar.gz
|
||||||
echo $'libuv could not be extracted'
|
echo $'libuv could not be extracted'
|
||||||
exit 72754
|
exit 72754
|
||||||
fi
|
fi
|
||||||
cd $INSTALL_DIR/libuv-v${LIBUV_VERSION}
|
cd /usr/local/src/libuv-v${LIBUV_VERSION}
|
||||||
sh autogen.sh
|
sh autogen.sh
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
|
@ -294,10 +300,9 @@ function install_turtl {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apt-get -yq install git wget curl libtool subversion gcc make automake
|
apt-get -yq install git wget curl libtool subversion gcc make automake
|
||||||
apt-get -yq install cl-cffi cl-quicklisp libuv1-dev build-essential
|
|
||||||
|
|
||||||
if [ ! -d $INSTALL_DIR ]; then
|
if [ ! -d /usr/local/src ]; then
|
||||||
mkdir -p $INSTALL_DIR
|
mkdir -p /usr/local/src
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d /var/www/$TURTL_DOMAIN_NAME ]; then
|
if [ -d /var/www/$TURTL_DOMAIN_NAME ]; then
|
||||||
|
@ -366,9 +371,16 @@ function install_turtl {
|
||||||
git checkout $TURTL_API_COMMIT -b $TURTL_API_COMMIT
|
git checkout $TURTL_API_COMMIT -b $TURTL_API_COMMIT
|
||||||
set_completion_param "turtl api commit" "$TURTL_API_COMMIT"
|
set_completion_param "turtl api commit" "$TURTL_API_COMMIT"
|
||||||
|
|
||||||
|
function_check install_libuv
|
||||||
install_libuv
|
install_libuv
|
||||||
|
|
||||||
|
function_check install_rethinkdb
|
||||||
install_rethinkdb
|
install_rethinkdb
|
||||||
|
|
||||||
|
function_check install_common_lisp
|
||||||
install_common_lisp
|
install_common_lisp
|
||||||
|
|
||||||
|
function_check install_quicklisp
|
||||||
install_quicklisp
|
install_quicklisp
|
||||||
|
|
||||||
function_check install_nodejs
|
function_check install_nodejs
|
||||||
|
@ -377,10 +389,54 @@ function install_turtl {
|
||||||
function_check add_ddns_domain
|
function_check add_ddns_domain
|
||||||
add_ddns_domain $TURTL_DOMAIN_NAME
|
add_ddns_domain $TURTL_DOMAIN_NAME
|
||||||
|
|
||||||
adduser --system --home=/var/www/$TURTL_DOMAIN_NAME/htdocs/ --group turtl
|
cp -r $INSTALL_DIR/lisp/* /var/www/$TURTL_DOMAIN_NAME/htdocs
|
||||||
|
sed -i 's|CCL_DEFAULT_DIRECTORY=.*|CCL_DEFAULT_DIRECTORY=$HOME/ccl|g' /var/www/$TURTL_DOMAIN_NAME/htdocs/ccl/scripts/ccl
|
||||||
|
sed -i 's|CCL_DEFAULT_DIRECTORY=.*|CCL_DEFAULT_DIRECTORY=$HOME/ccl|g' /var/www/$TURTL_DOMAIN_NAME/htdocs/ccl/scripts/ccl64
|
||||||
|
|
||||||
|
adduser --disabled-login --home=/var/www/$TURTL_DOMAIN_NAME/htdocs --gecos 'turtl' turtl
|
||||||
|
chown -R turtl:turtl /var/www/$TURTL_DOMAIN_NAME/htdocs
|
||||||
|
check_architecture=$(uname -a)
|
||||||
|
if [[ "$check_architecture" == *"64"* && "$check_architecture" != *"arm"* ]]; then
|
||||||
|
su -c '$HOME/ccl/scripts/ccl --load install.lisp --eval "(quit)"' - turtl
|
||||||
|
else
|
||||||
|
su -c '$HOME/ccl/scripts/ccl64 --load install.lisp --eval "(quit)"' - turtl
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "(pushnew \"./\" asdf:*central-registry* :test #'equal)" > /var/www/$TURTL_DOMAIN_NAME/htdocs/api/launch.lisp
|
||||||
|
echo '(load "start")' >> /var/www/$TURTL_DOMAIN_NAME/htdocs/api/launch.lisp
|
||||||
|
|
||||||
|
cd /var/www/$TURTL_DOMAIN_NAME/htdocs/quicklisp/local-projects
|
||||||
|
git clone git://github.com/orthecreedence/cl-hash-util
|
||||||
|
git clone git://github.com/orthecreedence/vom
|
||||||
|
git clone git://github.com/orthecreedence/cl-async
|
||||||
|
git clone git://github.com/orthecreedence/cffi
|
||||||
|
git clone git://github.com/orthecreedence/wookie
|
||||||
|
git clone git://github.com/orthecreedence/cl-rethinkdb
|
||||||
|
git clone git://github.com/orthecreedence/cl-libuv
|
||||||
|
git clone git://github.com/orthecreedence/drakma-async
|
||||||
|
git clone https://github.com/Inaimathi/cl-cwd.git
|
||||||
|
|
||||||
|
echo '#-quicklisp' > /var/www/$TURTL_DOMAIN_NAME/htdocs/.ccl-init.lisp
|
||||||
|
echo '(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname))))' >> /var/www/$TURTL_DOMAIN_NAME/htdocs/.ccl-init.lisp
|
||||||
|
echo ' (when (probe-file quicklisp-init)' >> /var/www/$TURTL_DOMAIN_NAME/htdocs/.ccl-init.lisp
|
||||||
|
echo ' (load quicklisp-init)))' >> /var/www/$TURTL_DOMAIN_NAME/htdocs/.ccl-init.lisp
|
||||||
|
echo '(cwd "$HOME/api")' >> /var/www/$TURTL_DOMAIN_NAME/htdocs/.ccl-init.lisp
|
||||||
|
echo '(load "$HOME/api/launch")' >> /var/www/$TURTL_DOMAIN_NAME/htdocs/.ccl-init.lisp
|
||||||
|
|
||||||
chmod a+w /var/www/$TURTL_DOMAIN_NAME/htdocs
|
chmod a+w /var/www/$TURTL_DOMAIN_NAME/htdocs
|
||||||
chown -R turtl:turtl /var/www/$TURTL_DOMAIN_NAME/htdocs
|
chown -R turtl:turtl /var/www/$TURTL_DOMAIN_NAME/htdocs
|
||||||
|
|
||||||
|
# install the app
|
||||||
|
cd /var/www/$TURTL_DOMAIN_NAME/htdocs
|
||||||
|
npm install
|
||||||
|
make minify
|
||||||
|
if [ ! -f /var/www/$TURTL_DOMAIN_NAME/htdocs/index.html ]; then
|
||||||
|
echo $'Failed to install turtl app'
|
||||||
|
exit 823652
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R turtl:turtl /var/www/$TURTL_DOMAIN_NAME/htdocs
|
||||||
|
|
||||||
echo '[Unit]' > /etc/systemd/system/turtl.service
|
echo '[Unit]' > /etc/systemd/system/turtl.service
|
||||||
echo 'Description=Note taking service' >> /etc/systemd/system/turtl.service
|
echo 'Description=Note taking service' >> /etc/systemd/system/turtl.service
|
||||||
echo 'Documentation=http://turtl.it' >> /etc/systemd/system/turtl.service
|
echo 'Documentation=http://turtl.it' >> /etc/systemd/system/turtl.service
|
||||||
|
@ -395,9 +451,9 @@ function install_turtl {
|
||||||
echo "WorkingDirectory=/var/www/$TURTL_DOMAIN_NAME/htdocs/api/" >> /etc/systemd/system/turtl.service
|
echo "WorkingDirectory=/var/www/$TURTL_DOMAIN_NAME/htdocs/api/" >> /etc/systemd/system/turtl.service
|
||||||
check_architecture=$(uname -a)
|
check_architecture=$(uname -a)
|
||||||
if [[ "$check_architecture" == *"64"* && "$check_architecture" != *"arm"* ]]; then
|
if [[ "$check_architecture" == *"64"* && "$check_architecture" != *"arm"* ]]; then
|
||||||
echo 'ExecStart=/usr/bin/ccl64 -Q -b --load start.lisp' >> /etc/systemd/system/turtl.service
|
echo "ExecStart=/var/www/$TURTL_DOMAIN_NAME/htdocs/ccl/scripts/ccl64 -Q -b --load start.lisp" >> /etc/systemd/system/turtl.service
|
||||||
else
|
else
|
||||||
echo 'ExecStart=/usr/bin/ccl -Q -b --load start.lisp' >> /etc/systemd/system/turtl.service
|
echo "ExecStart=/var/www/$TURTL_DOMAIN_NAME/htdocs/ccl/scripts/ccl -Q -b --load start.lisp" >> /etc/systemd/system/turtl.service
|
||||||
fi
|
fi
|
||||||
echo '' >> /etc/systemd/system/turtl.service
|
echo '' >> /etc/systemd/system/turtl.service
|
||||||
echo '[Install]' >> /etc/systemd/system/turtl.service
|
echo '[Install]' >> /etc/systemd/system/turtl.service
|
||||||
|
@ -440,7 +496,6 @@ function install_turtl {
|
||||||
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
||||||
echo ' }' >> $turtl_nginx_site
|
echo ' }' >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
nginx_keybase $TURTL_DOMAIN_NAME
|
|
||||||
echo '}' >> $turtl_nginx_site
|
echo '}' >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
echo 'server {' >> $turtl_nginx_site
|
echo 'server {' >> $turtl_nginx_site
|
||||||
|
@ -471,7 +526,6 @@ function install_turtl {
|
||||||
nginx_limits $TURTL_DOMAIN_NAME '15m'
|
nginx_limits $TURTL_DOMAIN_NAME '15m'
|
||||||
echo ' }' >> $turtl_nginx_site
|
echo ' }' >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
nginx_keybase $TURTL_DOMAIN_NAME
|
|
||||||
echo '}' >> $turtl_nginx_site
|
echo '}' >> $turtl_nginx_site
|
||||||
else
|
else
|
||||||
echo -n '' > $turtl_nginx_site
|
echo -n '' > $turtl_nginx_site
|
||||||
|
@ -498,7 +552,6 @@ function install_turtl {
|
||||||
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
||||||
echo ' }' >> $turtl_nginx_site
|
echo ' }' >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
nginx_keybase $TURTL_DOMAIN_NAME
|
|
||||||
echo '}' >> $turtl_nginx_site
|
echo '}' >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
echo 'server {' >> $turtl_nginx_site
|
echo 'server {' >> $turtl_nginx_site
|
||||||
|
@ -522,7 +575,6 @@ function install_turtl {
|
||||||
nginx_limits $TURTL_DOMAIN_NAME '15m'
|
nginx_limits $TURTL_DOMAIN_NAME '15m'
|
||||||
echo ' }' >> $turtl_nginx_site
|
echo ' }' >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
nginx_keybase $TURTL_DOMAIN_NAME
|
|
||||||
echo '}' >> $turtl_nginx_site
|
echo '}' >> $turtl_nginx_site
|
||||||
|
|
||||||
function_check create_site_certificate
|
function_check create_site_certificate
|
||||||
|
@ -531,12 +583,6 @@ function install_turtl {
|
||||||
if [ -f /etc/ssl/certs/${TURTL_DOMAIN_NAME}.crt ]; then
|
if [ -f /etc/ssl/certs/${TURTL_DOMAIN_NAME}.crt ]; then
|
||||||
mv /etc/ssl/certs/${TURTL_DOMAIN_NAME}.crt /etc/ssl/certs/${TURTL_DOMAIN_NAME}.pem
|
mv /etc/ssl/certs/${TURTL_DOMAIN_NAME}.crt /etc/ssl/certs/${TURTL_DOMAIN_NAME}.pem
|
||||||
fi
|
fi
|
||||||
if [ -f /etc/ssl/certs/${TURTL_DOMAIN_NAME}.pem ]; then
|
|
||||||
chown turtl:turtl /etc/ssl/certs/${TURTL_DOMAIN_NAME}.pem
|
|
||||||
fi
|
|
||||||
if [ -f /etc/ssl/private/${TURTL_DOMAIN_NAME}.key ]; then
|
|
||||||
chown turtl:turtl /etc/ssl/private/${TURTL_DOMAIN_NAME}.key
|
|
||||||
fi
|
|
||||||
|
|
||||||
function_check nginx_ensite
|
function_check nginx_ensite
|
||||||
nginx_ensite $TURTL_DOMAIN_NAME
|
nginx_ensite $TURTL_DOMAIN_NAME
|
||||||
|
|
|
@ -32,11 +32,16 @@ COMMON_LISP_VERSION='1.11'
|
||||||
|
|
||||||
function install_common_lisp {
|
function install_common_lisp {
|
||||||
# http://ccl.clozure.com
|
# http://ccl.clozure.com
|
||||||
if [ ! -d $INSTALL_DIR/lisp ]; then
|
lisp_base=/usr/local/src
|
||||||
mkdir -p $INSTALL_DIR/lisp
|
if [ $1 ]; then
|
||||||
|
lisp_base=$1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $INSTALL_DIR/lisp
|
if [ ! -d $lisp_base ]; then
|
||||||
|
mkdir -p $lisp_base
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $lisp_base
|
||||||
|
|
||||||
check_architecture=$(uname -a)
|
check_architecture=$(uname -a)
|
||||||
if [[ "$check_architecture" == *"arm"* ]]; then
|
if [[ "$check_architecture" == *"arm"* ]]; then
|
||||||
|
@ -45,25 +50,48 @@ function install_common_lisp {
|
||||||
svn co http://svn.clozure.com/publicsvn/openmcl/release/${COMMON_LISP_VERSION}/linuxx86/ccl
|
svn co http://svn.clozure.com/publicsvn/openmcl/release/${COMMON_LISP_VERSION}/linuxx86/ccl
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d $INSTALL_DIR/lisp/ccl/scripts ]; then
|
if [ ! -d $lisp_base/ccl/scripts ]; then
|
||||||
echo $'Unable to clone ccl repo'
|
echo $'Unable to clone ccl repo'
|
||||||
exit 728245
|
exit 728245
|
||||||
fi
|
fi
|
||||||
if [ ! -f $INSTALL_DIR/lisp/ccl/scripts/ccl ]; then
|
if [ ! -f $lisp_base/ccl/scripts/ccl ]; then
|
||||||
echo $'ccl not found'
|
echo $'ccl not found'
|
||||||
exit 5825422
|
exit 5825422
|
||||||
fi
|
fi
|
||||||
cp $INSTALL_DIR/lisp/ccl/scripts/ccl /usr/bin
|
cp $lisp_base/ccl/scripts/ccl /usr/bin
|
||||||
if [ -f $INSTALL_DIR/lisp/ccl/scripts/ccl64 ]; then
|
sed -i 's|CCL_DEFAULT_DIRECTORY=.*|CCL_DEFAULT_DIRECTORY=/usr/local/src/ccl|g' /usr/bin/ccl
|
||||||
cp $INSTALL_DIR/lisp/ccl/scripts/ccl64 /usr/bin
|
if [ -f $lisp_base/ccl/scripts/ccl64 ]; then
|
||||||
|
cp $lisp_base/ccl/scripts/ccl64 /usr/bin
|
||||||
|
sed -i 's|CCL_DEFAULT_DIRECTORY=.*|CCL_DEFAULT_DIRECTORY=/usr/local/src/ccl|g' /usr/bin/ccl64
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove_common_lisp {
|
||||||
|
if [ -f /usr/bin/ccl ]; then
|
||||||
|
rm /usr/bin/ccl
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /usr/bin/ccl64 ]; then
|
||||||
|
rm /usr/bin/ccl64
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d /usr/local/src/ccl ]; then
|
||||||
|
rm -rf /usr/local/src/ccl
|
||||||
|
fi
|
||||||
|
if [ -d $INSTALL_DIR/lisp ]; then
|
||||||
|
rm -rf $INSTALL_DIR/lisp
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function install_quicklisp {
|
function install_quicklisp {
|
||||||
if [ ! -d $INSTALL_DIR/lisp ]; then
|
quicklisp_base=/usr/local/src
|
||||||
mkdir -p $INSTALL_DIR/lisp
|
if [ $1 ]; then
|
||||||
|
quicklisp_base=$1
|
||||||
fi
|
fi
|
||||||
cd $INSTALL_DIR/lisp
|
if [ ! -d $quicklisp_base ]; then
|
||||||
|
mkdir -p $quicklisp_base
|
||||||
|
fi
|
||||||
|
cd $quicklisp_base
|
||||||
if [ ! -f asdf.lisp ]; then
|
if [ ! -f asdf.lisp ]; then
|
||||||
wget https://common-lisp.net/project/asdf/asdf.lisp
|
wget https://common-lisp.net/project/asdf/asdf.lisp
|
||||||
fi
|
fi
|
||||||
|
@ -79,17 +107,24 @@ function install_quicklisp {
|
||||||
exit 80253
|
exit 80253
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo '(quicklisp-quickstart:install)' > install.lisp
|
echo '(load (compile-file "asdf.lisp"))' > install.lisp
|
||||||
|
echo '(load (compile-file "quicklisp.lisp"))' >> install.lisp
|
||||||
|
echo '(quicklisp-quickstart:install)' >> install.lisp
|
||||||
echo '(ql:add-to-init-file)' >> install.lisp
|
echo '(ql:add-to-init-file)' >> install.lisp
|
||||||
echo '(load (compile-file "asdf.lisp"))' >> install.lisp
|
|
||||||
|
|
||||||
check_architecture=$(uname -a)
|
check_architecture=$(uname -a)
|
||||||
if [[ "$check_architecture" == *"64"* && "$check_architecture" != *"arm"* ]]; then
|
if [[ "$check_architecture" == *"64"* && "$check_architecture" != *"arm"* ]]; then
|
||||||
ccl64 --load quicklisp.lisp
|
if [ ! $2 ]; then
|
||||||
ccl64 --load install.lisp
|
ccl64 --load install.lisp
|
||||||
|
else
|
||||||
|
su -c 'ccl64 --load install.lisp' - $2
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
ccl --load quicklisp.lisp
|
if [ ! $2 ]; then
|
||||||
ccl --load install.lisp
|
ccl --load install.lisp
|
||||||
|
else
|
||||||
|
su -c 'ccl --load install.lisp' - $2
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue