Standard domain name
This commit is contained in:
parent
7fefb18bcb
commit
f3dc531b20
|
@ -36,20 +36,20 @@ VARIANTS="full full-vim writer"
|
||||||
IN_DEFAULT_INSTALL=0
|
IN_DEFAULT_INSTALL=0
|
||||||
SHOW_ON_ABOUT=1
|
SHOW_ON_ABOUT=1
|
||||||
|
|
||||||
TURTL_API_DOMAIN_NAME=
|
TURTL_DOMAIN_NAME=
|
||||||
TURTL_API_CODE=
|
TURTL_CODE=
|
||||||
TURTL_API_ONION_PORT=8107
|
TURTL_ONION_PORT=8107
|
||||||
TURTL_PORT=8181
|
TURTL_PORT=8181
|
||||||
TURTL_API_REPO="https://github.com/turtl/api.git"
|
TURTL_REPO="https://github.com/turtl/api.git"
|
||||||
TURTL_API_COMMIT='53e00a5583f52de8f86ef380fe11c176b5738dcf'
|
TURTL_COMMIT='53e00a5583f52de8f86ef380fe11c176b5738dcf'
|
||||||
TURTL_ADMIN_PASSWORD=
|
TURTL_ADMIN_PASSWORD=
|
||||||
TURTL_STORAGE_LIMIT_MB=100
|
TURTL_STORAGE_LIMIT_MB=100
|
||||||
TURTL_BASE_DIR=/etc/turtl
|
TURTL_BASE_DIR=/etc/turtl
|
||||||
|
|
||||||
turtl_variables=(ONION_ONLY
|
turtl_variables=(ONION_ONLY
|
||||||
DEFAULT_DOMAIN_NAME
|
DEFAULT_DOMAIN_NAME
|
||||||
TURTL_API_DOMAIN_NAME
|
TURTL_DOMAIN_NAME
|
||||||
TURTL_API_CODE
|
TURTL_CODE
|
||||||
TURTL_STORAGE_LIMIT_MB
|
TURTL_STORAGE_LIMIT_MB
|
||||||
DDNS_PROVIDER
|
DDNS_PROVIDER
|
||||||
MY_EMAIL_ADDRESS
|
MY_EMAIL_ADDRESS
|
||||||
|
@ -76,11 +76,11 @@ function install_interactive_turtl {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $ONION_ONLY != "no" ]]; then
|
if [[ $ONION_ONLY != "no" ]]; then
|
||||||
TURTL_API_DOMAIN_NAME='notes.local'
|
TURTL_DOMAIN_NAME='notes.local'
|
||||||
write_config_param "TURTL_API_DOMAIN_NAME" "$TURTL_API_DOMAIN_NAME"
|
write_config_param "TURTL_DOMAIN_NAME" "$TURTL_DOMAIN_NAME"
|
||||||
else
|
else
|
||||||
function_check interactive_site_details
|
function_check interactive_site_details
|
||||||
interactive_site_details "turtl" "TURTL_API_DOMAIN_NAME" "TURTL_API_CODE"
|
interactive_site_details "turtl" "TURTL_DOMAIN_NAME" "TURTL_CODE"
|
||||||
fi
|
fi
|
||||||
APP_INSTALLED=1
|
APP_INSTALLED=1
|
||||||
}
|
}
|
||||||
|
@ -114,22 +114,22 @@ function reconfigure_turtl {
|
||||||
}
|
}
|
||||||
|
|
||||||
function upgrade_turtl {
|
function upgrade_turtl {
|
||||||
read_config_param "TURTL_API_DOMAIN_NAME"
|
read_config_param "TURTL_DOMAIN_NAME"
|
||||||
|
|
||||||
function_check set_repo_commit
|
function_check set_repo_commit
|
||||||
set_repo_commit $TURTL_BASE_DIR/api "turtl api commit" "$TURTL_API_COMMIT" $TURTL_API_REPO
|
set_repo_commit $TURTL_BASE_DIR/api "turtl commit" "$TURTL_COMMIT" $TURTL_REPO
|
||||||
nginx_dissite $TURTL_API_DOMAIN_NAME
|
nginx_dissite $TURTL_DOMAIN_NAME
|
||||||
chown -R turtl:turtl $TURTL_BASE_DIR
|
chown -R turtl:turtl $TURTL_BASE_DIR
|
||||||
nginx_ensite $TURTL_API_DOMAIN_NAME
|
nginx_ensite $TURTL_DOMAIN_NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
function backup_local_turtl {
|
function backup_local_turtl {
|
||||||
read_config_param "TURTL_API_DOMAIN_NAME"
|
read_config_param "TURTL_DOMAIN_NAME"
|
||||||
source_directory=$TURTL_BASE_DIR
|
source_directory=$TURTL_BASE_DIR
|
||||||
if [ -d $source_directory ]; then
|
if [ -d $source_directory ]; then
|
||||||
dest_directory=turtl
|
dest_directory=turtl
|
||||||
function_check suspend_site
|
function_check suspend_site
|
||||||
suspend_site ${TURTL_API_DOMAIN_NAME}
|
suspend_site ${TURTL_DOMAIN_NAME}
|
||||||
|
|
||||||
function_check backup_directory_to_usb
|
function_check backup_directory_to_usb
|
||||||
backup_directory_to_usb $source_directory $dest_directory
|
backup_directory_to_usb $source_directory $dest_directory
|
||||||
|
@ -141,7 +141,7 @@ function backup_local_turtl {
|
||||||
if [ -d $source_directory ]; then
|
if [ -d $source_directory ]; then
|
||||||
dest_directory=rethinkdb
|
dest_directory=rethinkdb
|
||||||
function_check suspend_site
|
function_check suspend_site
|
||||||
suspend_site ${TURTL_API_DOMAIN_NAME}
|
suspend_site ${TURTL_DOMAIN_NAME}
|
||||||
|
|
||||||
function_check backup_directory_to_usb
|
function_check backup_directory_to_usb
|
||||||
backup_directory_to_usb $source_directory $dest_directory
|
backup_directory_to_usb $source_directory $dest_directory
|
||||||
|
@ -152,8 +152,8 @@ function backup_local_turtl {
|
||||||
}
|
}
|
||||||
|
|
||||||
function restore_local_turtl {
|
function restore_local_turtl {
|
||||||
read_config_param "TURTL_API_DOMAIN_NAME"
|
read_config_param "TURTL_DOMAIN_NAME"
|
||||||
if [ $TURTL_API_DOMAIN_NAME ]; then
|
if [ $TURTL_DOMAIN_NAME ]; then
|
||||||
temp_restore_dir=/root/tempturtl
|
temp_restore_dir=/root/tempturtl
|
||||||
restore_directory_from_usb $temp_restore_dir turtl
|
restore_directory_from_usb $temp_restore_dir turtl
|
||||||
if [ -d $TURTL_BASE_DIR ]; then
|
if [ -d $TURTL_BASE_DIR ]; then
|
||||||
|
@ -198,8 +198,8 @@ function restore_local_turtl {
|
||||||
}
|
}
|
||||||
|
|
||||||
function backup_remote_turtl {
|
function backup_remote_turtl {
|
||||||
read_config_param "TURTL_API_DOMAIN_NAME"
|
read_config_param "TURTL_DOMAIN_NAME"
|
||||||
if [ $TURTL_API_DOMAIN_NAME ]; then
|
if [ $TURTL_DOMAIN_NAME ]; then
|
||||||
temp_backup_dir=$TURTL_BASE_DIR
|
temp_backup_dir=$TURTL_BASE_DIR
|
||||||
if [ -d $temp_backup_dir ]; then
|
if [ -d $temp_backup_dir ]; then
|
||||||
echo $"Backing up turtl"
|
echo $"Backing up turtl"
|
||||||
|
@ -220,8 +220,8 @@ function backup_remote_turtl {
|
||||||
}
|
}
|
||||||
|
|
||||||
function restore_remote_turtl {
|
function restore_remote_turtl {
|
||||||
read_config_param "TURTL_API_DOMAIN_NAME"
|
read_config_param "TURTL_DOMAIN_NAME"
|
||||||
if [ $TURTL_API_DOMAIN_NAME ]; then
|
if [ $TURTL_DOMAIN_NAME ]; then
|
||||||
temp_restore_dir=/root/tempturtl
|
temp_restore_dir=/root/tempturtl
|
||||||
mkdir $temp_restore_dir
|
mkdir $temp_restore_dir
|
||||||
function_check restore_directory_from_friend
|
function_check restore_directory_from_friend
|
||||||
|
@ -276,15 +276,15 @@ function remove_turtl {
|
||||||
remove_completion_param install_turtl
|
remove_completion_param install_turtl
|
||||||
sed -i '/turtl/d' $COMPLETION_FILE
|
sed -i '/turtl/d' $COMPLETION_FILE
|
||||||
deluser turtl
|
deluser turtl
|
||||||
nginx_dissite $TURTL_API_DOMAIN_NAME
|
nginx_dissite $TURTL_DOMAIN_NAME
|
||||||
if [ -f /etc/nginx/sites-available/$TURTL_API_DOMAIN_NAME ]; then
|
if [ -f /etc/nginx/sites-available/$TURTL_DOMAIN_NAME ]; then
|
||||||
rm /etc/nginx/sites-available/$TURTL_API_DOMAIN_NAME
|
rm /etc/nginx/sites-available/$TURTL_DOMAIN_NAME
|
||||||
fi
|
fi
|
||||||
remove_certs $TURTL_API_DOMAIN_NAME
|
remove_certs $TURTL_DOMAIN_NAME
|
||||||
function_check remove_onion_service
|
function_check remove_onion_service
|
||||||
remove_onion_service turtlapi ${TURTL_API_ONION_PORT}
|
remove_onion_service turtlapi ${TURTL_ONION_PORT}
|
||||||
function_check remove_ddns_domain
|
function_check remove_ddns_domain
|
||||||
remove_ddns_domain $TURTL_API_DOMAIN_NAME
|
remove_ddns_domain $TURTL_DOMAIN_NAME
|
||||||
rm -rf /etc/rethinkdb
|
rm -rf /etc/rethinkdb
|
||||||
rm -rf /var/lib/rethinkdb
|
rm -rf /var/lib/rethinkdb
|
||||||
rm -rf $TURTL_BASE_DIR
|
rm -rf $TURTL_BASE_DIR
|
||||||
|
@ -297,11 +297,11 @@ function turtl_setup {
|
||||||
BINDPORT=${BINDPORT:-8181}
|
BINDPORT=${BINDPORT:-8181}
|
||||||
PROD_ERR_HANDLING=${PROD_ERR_HANDLING:-t}
|
PROD_ERR_HANDLING=${PROD_ERR_HANDLING:-t}
|
||||||
if [[ $ONION_ONLY == 'no' ]]; then
|
if [[ $ONION_ONLY == 'no' ]]; then
|
||||||
FQDN=${FQDN:-$TURTL_API_DOMAIN_NAME}
|
FQDN=${FQDN:-$TURTL_DOMAIN_NAME}
|
||||||
SITE_URL=${SITE_URL:-https://$TURTL_API_DOMAIN_NAME}
|
SITE_URL=${SITE_URL:-https://$TURTL_DOMAIN_NAME}
|
||||||
else
|
else
|
||||||
FQDN=${FQDN:-$TURTL_API_ONION_HOSTNAME}
|
FQDN=${FQDN:-$TURTL_ONION_HOSTNAME}
|
||||||
SITE_URL=${SITE_URL:-http://$TURTL_API_ONION_HOSTNAME}
|
SITE_URL=${SITE_URL:-http://$TURTL_ONION_HOSTNAME}
|
||||||
fi
|
fi
|
||||||
ADMIN_EMAIL=${ADMIN_EMAIL:-$MY_USERNAME@$DEFAULT_DOMAIN_NAME}
|
ADMIN_EMAIL=${ADMIN_EMAIL:-$MY_USERNAME@$DEFAULT_DOMAIN_NAME}
|
||||||
EMAIL_FROM=${EMAIL_FROM:-noreply@$DEFAULT_DOMAIN_NAME}
|
EMAIL_FROM=${EMAIL_FROM:-noreply@$DEFAULT_DOMAIN_NAME}
|
||||||
|
@ -311,9 +311,9 @@ function turtl_setup {
|
||||||
DEFAULT_STORAGE_LIMIT=${DEFAULT_STORAGE_LIMIT:-100}
|
DEFAULT_STORAGE_LIMIT=${DEFAULT_STORAGE_LIMIT:-100}
|
||||||
STORAGE_INVITE_CREDIT=${STORAGE_INVITE_CREDIT:-25}
|
STORAGE_INVITE_CREDIT=${STORAGE_INVITE_CREDIT:-25}
|
||||||
if [[ $ONION_ONLY == 'no' ]]; then
|
if [[ $ONION_ONLY == 'no' ]]; then
|
||||||
LOCAL_UPLOAD_URL=${LOCAL_UPLOAD_URL:-https://$TURTL_API_DOMAIN_NAME}
|
LOCAL_UPLOAD_URL=${LOCAL_UPLOAD_URL:-https://$TURTL_DOMAIN_NAME}
|
||||||
else
|
else
|
||||||
LOCAL_UPLOAD_URL=${LOCAL_UPLOAD_URL:-http://$TURTL_API_ONION_HOSTNAME}
|
LOCAL_UPLOAD_URL=${LOCAL_UPLOAD_URL:-http://$TURTL_ONION_HOSTNAME}
|
||||||
fi
|
fi
|
||||||
LOCAL_UPLOAD_PATH=${LOCAL_UPLOAD_PATH:-"$TURTL_BASE_DIR/data"}
|
LOCAL_UPLOAD_PATH=${LOCAL_UPLOAD_PATH:-"$TURTL_BASE_DIR/data"}
|
||||||
AWS_S3_TOKEN=${AWS_S3_TOKEN:-(:token ''
|
AWS_S3_TOKEN=${AWS_S3_TOKEN:-(:token ''
|
||||||
|
@ -501,10 +501,10 @@ __ENDCONFIG__
|
||||||
|
|
||||||
# install turtl API
|
# install turtl API
|
||||||
cd $TURTL_BASE_DIR/
|
cd $TURTL_BASE_DIR/
|
||||||
git clone $TURTL_API_REPO $TURTL_BASE_DIR/api
|
git clone $TURTL_REPO $TURTL_BASE_DIR/api
|
||||||
cd $TURTL_BASE_DIR/api
|
cd $TURTL_BASE_DIR/api
|
||||||
git checkout $TURTL_API_COMMIT -b $TURTL_API_COMMIT
|
git checkout $TURTL_COMMIT -b $TURTL_COMMIT
|
||||||
set_completion_param "turtl api commit" "$TURTL_API_COMMIT"
|
set_completion_param "turtl commit" "$TURTL_COMMIT"
|
||||||
cd $TURTL_BASE_DIR/quicklisp/local-projects
|
cd $TURTL_BASE_DIR/quicklisp/local-projects
|
||||||
git clone git://github.com/orthecreedence/cl-hash-util
|
git clone git://github.com/orthecreedence/cl-hash-util
|
||||||
if [[ "$check_architecture" != *"arm"* ]]; then
|
if [[ "$check_architecture" != *"arm"* ]]; then
|
||||||
|
@ -538,27 +538,27 @@ __ENDCONFIG__
|
||||||
echo "(pushnew \"./\" asdf:*central-registry* :test #'equal)" >> $TURTL_BASE_DIR/api/launch.lisp
|
echo "(pushnew \"./\" asdf:*central-registry* :test #'equal)" >> $TURTL_BASE_DIR/api/launch.lisp
|
||||||
echo '(load "start")' >> $TURTL_BASE_DIR/api/launch.lisp
|
echo '(load "start")' >> $TURTL_BASE_DIR/api/launch.lisp
|
||||||
|
|
||||||
TURTL_API_ONION_HOSTNAME=$(add_onion_service turtlapi 80 ${TURTL_API_ONION_PORT})
|
TURTL_ONION_HOSTNAME=$(add_onion_service turtlapi 80 ${TURTL_ONION_PORT})
|
||||||
|
|
||||||
turtl_setup
|
turtl_setup
|
||||||
}
|
}
|
||||||
|
|
||||||
function install_turtl_nginx {
|
function install_turtl_nginx {
|
||||||
turtl_nginx_site=/etc/nginx/sites-available/$TURTL_API_DOMAIN_NAME
|
turtl_nginx_site=/etc/nginx/sites-available/$TURTL_DOMAIN_NAME
|
||||||
if [[ $ONION_ONLY == "no" ]]; then
|
if [[ $ONION_ONLY == "no" ]]; then
|
||||||
function_check nginx_http_redirect
|
function_check nginx_http_redirect
|
||||||
nginx_http_redirect $TURTL_API_DOMAIN_NAME
|
nginx_http_redirect $TURTL_DOMAIN_NAME
|
||||||
echo 'server {' >> $turtl_nginx_site
|
echo 'server {' >> $turtl_nginx_site
|
||||||
echo ' listen 443 ssl;' >> $turtl_nginx_site
|
echo ' listen 443 ssl;' >> $turtl_nginx_site
|
||||||
echo ' listen [::]:443 ssl;' >> $turtl_nginx_site
|
echo ' listen [::]:443 ssl;' >> $turtl_nginx_site
|
||||||
echo " server_name ${TURTL_API_DOMAIN_NAME};" >> $turtl_nginx_site
|
echo " server_name ${TURTL_DOMAIN_NAME};" >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
echo ' # Security' >> $turtl_nginx_site
|
echo ' # Security' >> $turtl_nginx_site
|
||||||
function_check nginx_ssl
|
function_check nginx_ssl
|
||||||
nginx_ssl $TURTL_API_DOMAIN_NAME
|
nginx_ssl $TURTL_DOMAIN_NAME
|
||||||
|
|
||||||
function_check nginx_disable_sniffing
|
function_check nginx_disable_sniffing
|
||||||
nginx_disable_sniffing $TURTL_API_DOMAIN_NAME
|
nginx_disable_sniffing $TURTL_DOMAIN_NAME
|
||||||
|
|
||||||
echo ' add_header Strict-Transport-Security max-age=15768000;' >> $turtl_nginx_site
|
echo ' add_header Strict-Transport-Security max-age=15768000;' >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
|
@ -568,7 +568,7 @@ function install_turtl_nginx {
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
echo ' location / {' >> $turtl_nginx_site
|
echo ' location / {' >> $turtl_nginx_site
|
||||||
function_check nginx_limits
|
function_check nginx_limits
|
||||||
nginx_limits $TURTL_API_DOMAIN_NAME '15m'
|
nginx_limits $TURTL_DOMAIN_NAME '15m'
|
||||||
echo " proxy_pass http://localhost:${TURTL_PORT}/;" >> $turtl_nginx_site
|
echo " proxy_pass http://localhost:${TURTL_PORT}/;" >> $turtl_nginx_site
|
||||||
echo ' proxy_set_header Host $host;' >> $turtl_nginx_site
|
echo ' proxy_set_header Host $host;' >> $turtl_nginx_site
|
||||||
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
||||||
|
@ -578,11 +578,11 @@ function install_turtl_nginx {
|
||||||
echo -n '' > $turtl_nginx_site
|
echo -n '' > $turtl_nginx_site
|
||||||
fi
|
fi
|
||||||
echo 'server {' >> $turtl_nginx_site
|
echo 'server {' >> $turtl_nginx_site
|
||||||
echo " listen 127.0.0.1:${TURTL_API_ONION_PORT};" >> $turtl_nginx_site
|
echo " listen 127.0.0.1:${TURTL_ONION_PORT};" >> $turtl_nginx_site
|
||||||
echo " server_name ${TURTL_API_ONION_HOSTNAME};" >> $turtl_nginx_site
|
echo " server_name ${TURTL_ONION_HOSTNAME};" >> $turtl_nginx_site
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
function_check nginx_disable_sniffing
|
function_check nginx_disable_sniffing
|
||||||
nginx_disable_sniffing $TURTL_API_DOMAIN_NAME
|
nginx_disable_sniffing $TURTL_DOMAIN_NAME
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
echo ' # Logs' >> $turtl_nginx_site
|
echo ' # Logs' >> $turtl_nginx_site
|
||||||
echo ' access_log /dev/null;' >> $turtl_nginx_site
|
echo ' access_log /dev/null;' >> $turtl_nginx_site
|
||||||
|
@ -590,7 +590,7 @@ function install_turtl_nginx {
|
||||||
echo '' >> $turtl_nginx_site
|
echo '' >> $turtl_nginx_site
|
||||||
echo ' location / {' >> $turtl_nginx_site
|
echo ' location / {' >> $turtl_nginx_site
|
||||||
function_check nginx_limits
|
function_check nginx_limits
|
||||||
nginx_limits $TURTL_API_DOMAIN_NAME '15m'
|
nginx_limits $TURTL_DOMAIN_NAME '15m'
|
||||||
echo " proxy_pass http://localhost:${TURTL_PORT}/;" >> $turtl_nginx_site
|
echo " proxy_pass http://localhost:${TURTL_PORT}/;" >> $turtl_nginx_site
|
||||||
echo ' proxy_set_header Host $host;' >> $turtl_nginx_site
|
echo ' proxy_set_header Host $host;' >> $turtl_nginx_site
|
||||||
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
echo ' proxy_buffering off;' >> $turtl_nginx_site
|
||||||
|
@ -598,15 +598,15 @@ function install_turtl_nginx {
|
||||||
echo '}' >> $turtl_nginx_site
|
echo '}' >> $turtl_nginx_site
|
||||||
|
|
||||||
function_check add_ddns_domain
|
function_check add_ddns_domain
|
||||||
add_ddns_domain $TURTL_API_DOMAIN_NAME
|
add_ddns_domain $TURTL_DOMAIN_NAME
|
||||||
|
|
||||||
set_completion_param "turtl api domain" "$TURTL_API_DOMAIN_NAME"
|
set_completion_param "turtl domain" "$TURTL_DOMAIN_NAME"
|
||||||
|
|
||||||
function_check create_site_certificate
|
function_check create_site_certificate
|
||||||
create_site_certificate $TURTL_API_DOMAIN_NAME 'yes'
|
create_site_certificate $TURTL_DOMAIN_NAME 'yes'
|
||||||
|
|
||||||
function_check nginx_ensite
|
function_check nginx_ensite
|
||||||
nginx_ensite $TURTL_API_DOMAIN_NAME
|
nginx_ensite $TURTL_DOMAIN_NAME
|
||||||
|
|
||||||
systemctl restart nginx
|
systemctl restart nginx
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue