浏览代码

Change pleroma directory

Bob Mottram 7 年前
父节点
当前提交
b424e8899e
共有 1 个文件被更改,包括 46 次插入50 次删除
  1. 46
    50
      src/freedombone-app-pleroma

+ 46
- 50
src/freedombone-app-pleroma 查看文件

@@ -40,6 +40,7 @@ PLEROMA_ONION_PORT=8011
40 40
 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git"
41 41
 PLEROMA_COMMIT='7252f6b054dfdfac1f9bac77c442c5a1ebd898af'
42 42
 PLEROMA_ADMIN_PASSWORD=
43
+PLEROMA_DIR=/etc/pleroma
43 44
 
44 45
 PLEROMA_BACKGROUND_IMAGE_URL=
45 46
 
@@ -71,13 +72,6 @@ function remove_user_pleroma {
71 72
     remove_username="$1"
72 73
 
73 74
     ${PROJECT_NAME}-pass -u $remove_username --rmapp pleroma
74
-
75
-    function_check get_completion_param
76
-    PLEROMA_DOMAIN_NAME=$(get_completion_param "pleroma domain")
77
-    if [ -d /var/www/$PLEROMA_DOMAIN_NAME ]; then
78
-        cd /var/www/$PLEROMA_DOMAIN_NAME/htdocs
79
-        php scripts/deleteprofile.php -n $remove_username -y
80
-    fi
81 75
 }
82 76
 
83 77
 function add_user_pleroma {
@@ -86,15 +80,7 @@ function add_user_pleroma {
86 80
 
87 81
     ${PROJECT_NAME}-pass -u $new_username -a pleroma -p "$new_user_password"
88 82
 
89
-    PLEROMA_DOMAIN_NAME=$(get_completion_param "pleroma domain")
90
-    if [ -d /var/www/${PLEROMA_DOMAIN_NAME}/htdocs ]; then
91
-        cd /var/www/$PLEROMA_DOMAIN_NAME/htdocs
92
-        php scripts/registeruser.php -n $new_username -w "$new_user_password" -e "$new_username@$HOSTNAME"
93
-        ${PROJECT_NAME}-addemail -u $new_username -e "noreply@$PLEROMA_DOMAIN_NAME" -g pleroma --public no
94
-        echo '0'
95
-    else
96
-        echo '1'
97
-    fi
83
+    echo '0'
98 84
 }
99 85
 
100 86
 function install_interactive_pleroma {
@@ -204,7 +190,7 @@ function pleroma_create_database {
204 190
     run_system_query_postgresql "GRANT ALL ON ALL tables IN SCHEMA public TO pleroma;"
205 191
     run_system_query_postgresql "GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;"
206 192
 
207
-    cd /var/www/$PLEROMA_DOMAIN_NAME/htdocs
193
+    cd $PLEROMA_DIR
208 194
     mix ecto.create
209 195
     mix ecto.migrate
210 196
 }
@@ -341,7 +327,7 @@ function backup_local_pleroma {
341 327
     function_check suspend_site
342 328
     suspend_site ${PLEROMA_DOMAIN_NAME}
343 329
 
344
-    source_directory=/var/www/${PLEROMA_DOMAIN_NAME}/htdocs
330
+    source_directory=$PLEROMA_DIR
345 331
     dest_directory=pleroma
346 332
     backup_directory_to_usb $source_directory $dest_directory
347 333
 
@@ -361,7 +347,7 @@ function restore_local_pleroma {
361 347
     if [ $PLEROMA_DOMAIN_NAME ]; then
362 348
         echo $"Restoring pleroma"
363 349
         temp_restore_dir=/root/temppleroma
364
-        pleroma_dir=/var/www/${PLEROMA_DOMAIN_NAME}/htdocs
350
+        pleroma_dir=$PLEROMA_DIR
365 351
 
366 352
         function_check pleroma_create_database
367 353
         pleroma_create_database
@@ -392,7 +378,7 @@ function backup_remote_pleroma {
392 378
     function_check suspend_site
393 379
     suspend_site ${PLEROMA_DOMAIN_NAME}
394 380
 
395
-    source_directory=/var/www/${PLEROMA_DOMAIN_NAME}/htdocs
381
+    source_directory=$PLEROMA_DIR
396 382
     dest_directory=pleroma
397 383
     backup_directory_to_friend $source_directory $dest_directory
398 384
 
@@ -412,7 +398,7 @@ function restore_remote_pleroma {
412 398
     if [ $PLEROMA_DOMAIN_NAME ]; then
413 399
         echo $"Restoring pleroma"
414 400
         temp_restore_dir=/root/temppleroma
415
-        pleroma_dir=/var/www/${PLEROMA_DOMAIN_NAME}/htdocs
401
+        pleroma_dir=$PLEROMA_DIR
416 402
 
417 403
         function_check pleroma_create_database
418 404
         pleroma_create_database
@@ -445,6 +431,8 @@ function remove_pleroma {
445 431
     systemctl disable pleroma
446 432
     rm /etc/systemd/system/pleroma.service
447 433
 
434
+    apt-get -yq remove esl-erlang elixir
435
+
448 436
     function_check remove_nodejs
449 437
     remove_nodejs pleroma-backend
450 438
 
@@ -460,13 +448,17 @@ function remove_pleroma {
460 448
     if [ -f /etc/nginx/sites-available/$PLEROMA_DOMAIN_NAME ]; then
461 449
         rm /etc/nginx/sites-available/$PLEROMA_DOMAIN_NAME
462 450
     fi
451
+    if [ -d $PLEROMA_DIR ]; then
452
+        rm -rf $PLEROMA_DIR
453
+    fi
463 454
     function_check drop_database_postgresql
464 455
     drop_database_postgresql
465 456
     function_check remove_onion_service
466 457
     remove_onion_service pleroma ${PLEROMA_ONION_PORT}
467 458
     remove_app pleroma
468 459
     remove_completion_param install_pleroma
469
-    sed -i '/pleroma/d' $COMPLETION_FILE
460
+    sed -i '/pleroma domain/d' $COMPLETION_FILE
461
+    sed -i '/pleroma commit/d' $COMPLETION_FILE
470 462
 
471 463
     function_check remove_ddns_domain
472 464
     remove_ddns_domain $PLEROMA_DOMAIN_NAME
@@ -508,32 +500,40 @@ function install_pleroma {
508 500
     install_nodejs pleroma-backend
509 501
     install_postgresql
510 502
 
511
-    # get the repo
512 503
     if [ ! -d /var/www/$PLEROMA_DOMAIN_NAME ]; then
513 504
         mkdir /var/www/$PLEROMA_DOMAIN_NAME
514 505
     fi
515
-    if [ ! -d /var/www/$PLEROMA_DOMAIN_NAME/htdocs ]; then
516
-
517
-        if [ -d /repos/pleroma ]; then
518
-            mkdir /var/www/$PLEROMA_DOMAIN_NAME/htdocs
519
-            cp -r -p /repos/pleroma/. /var/www/$PLEROMA_DOMAIN_NAME/htdocs
520
-            cd /var/www/$PLEROMA_DOMAIN_NAME/htdocs
521
-            git pull
522
-        else
523
-            function_check git_clone
524
-            git_clone $PLEROMA_REPO /var/www/$PLEROMA_DOMAIN_NAME/htdocs
525
-        fi
506
+    if [ -d $PLEROMA_DIR ]; then
507
+        rm -rf $PLEROMA_DIR
508
+    fi
526 509
 
527
-        if [ ! -d /var/www/$PLEROMA_DOMAIN_NAME/htdocs ]; then
528
-            echo $'Unable to clone pleroma repo'
529
-            exit 783523
530
-        fi
510
+
511
+    # create user
512
+    useradd -d $PLEROMA_DIR -s /bin/false pleroma
513
+    adduser pleroma www-data
514
+
515
+    # get the repo
516
+    if [ -d /repos/pleroma ]; then
517
+        mkdir -p $PLEROMA_DIR
518
+        cp -r -p /repos/pleroma/. $PLEROMA_DIR
519
+        cd $PLEROMA_DIR
520
+        git pull
521
+    else
522
+        function_check git_clone
523
+        git_clone $PLEROMA_REPO $PLEROMA_DIR
531 524
     fi
532 525
 
533
-    cd /var/www/$PLEROMA_DOMAIN_NAME/htdocs
526
+    if [ ! -d $PLEROMA_DIR ]; then
527
+        echo $'Unable to clone pleroma backend repo'
528
+        exit 783523
529
+    fi
530
+
531
+
532
+    # checkout the commit
533
+    cd $PLEROMA_DIR
534 534
     git checkout $PLEROMA_COMMIT -b $PLEROMA_COMMIT
535 535
     set_completion_param "pleroma commit" "$PLEROMA_COMMIT"
536
-    chown -R www-data:www-data /var/www/$PLEROMA_DOMAIN_NAME/htdocs
536
+    chown -R pleroma:pleroma $PLEROMA_DIR
537 537
 
538 538
 
539 539
     # web config
@@ -567,7 +567,7 @@ function install_pleroma {
567 567
         echo '  access_log /dev/null;' >> $pleroma_nginx_site
568 568
         echo '  error_log /dev/null;' >> $pleroma_nginx_site
569 569
         echo '' >> $pleroma_nginx_site
570
-        echo "  root /var/www/$PLEROMA_DOMAIN_NAME/htdocs;" >> $pleroma_nginx_site
570
+        echo "  root $PLEROMA_DIR;" >> $pleroma_nginx_site
571 571
         echo '' >> $pleroma_nginx_site
572 572
         echo '  index index.html;' >> $pleroma_nginx_site
573 573
         echo '  location / {' >> $pleroma_nginx_site
@@ -594,8 +594,7 @@ function install_pleroma {
594 594
     echo '  access_log /dev/null;' >> $pleroma_nginx_site
595 595
     echo '  error_log /dev/null;' >> $pleroma_nginx_site
596 596
     echo '' >> $pleroma_nginx_site
597
-    echo '  # Root' >> $pleroma_nginx_site
598
-    echo "  root /var/www/$PLEROMA_DOMAIN_NAME/htdocs;" >> $pleroma_nginx_site
597
+    echo "  root $PLEROMA_DIR;" >> $pleroma_nginx_site
599 598
     echo '' >> $pleroma_nginx_site
600 599
     echo '  index index.html;' >> $pleroma_nginx_site
601 600
     echo '  location / {' >> $pleroma_nginx_site
@@ -621,10 +620,7 @@ function install_pleroma {
621 620
 
622 621
 
623 622
     # back end
624
-    useradd -d /var/www/$PLEROMA_DOMAIN_NAME/htdocs/ -s /bin/false pleroma
625
-    adduser pleroma www-data
626
-
627
-    cd /var/www/$PLEROMA_DOMAIN_NAME/htdocs
623
+    cd $PLEROMA_DIR
628 624
     mix deps.get
629 625
 
630 626
     function_check pleroma_create_database
@@ -637,7 +633,7 @@ function install_pleroma {
637 633
     sed -i "s|database:.*|database: \"pleroma\",|g" $pleroma_secret
638 634
     sed -i "/config :pleroma, Pleroma.Web.Endpoint/a url: [host: \"$PLEROMA_DOMAIN_NAME\", scheme: \"https\", port: 443]," $pleroma_secret
639 635
 
640
-    pleroma_config=/var/www/$PLEROMA_DOMAIN_NAME/htdocs/config/config.exs
636
+    pleroma_config=config/config.exs
641 637
     sed -i "s|name: .*|name: \"$PLEROMA_TITLE\",|g" $pleroma_config
642 638
     sed -i "s|email: .*|email: \"$MY_EMAIL_ADDRESS\",|g" $pleroma_config
643 639
 
@@ -658,8 +654,8 @@ function install_pleroma {
658 654
     echo '' >> /etc/systemd/system/pleroma.service
659 655
     echo '[Service]' >> /etc/systemd/system/pleroma.service
660 656
     echo 'User=pleroma' >> /etc/systemd/system/pleroma.service
661
-    echo "WorkingDirectory=/var/www/$PLEROMA_DOMAIN_NAME/htdocs/pleroma"
662
-    echo "Environment=\"HOME=/var/www/$PLEROMA_DOMAIN_NAME/htdocs\"" >> /etc/systemd/system/pleroma.service
657
+    echo "WorkingDirectory=$PLEROMA_DIR"
658
+    echo "Environment=\"HOME=$PLEROMA_DIR\"" >> /etc/systemd/system/pleroma.service
663 659
     echo 'ExecStart=/usr/local/bin/mix phx.server' >> /etc/systemd/system/pleroma.service
664 660
     echo 'ExecReload=/bin/kill $MAINPID' >> /etc/systemd/system/pleroma.service
665 661
     echo 'KillMode=process' >> /etc/systemd/system/pleroma.service