home · contact · privacy
Add website repo setup.
[config] / buster / setup_scripts / setup_website.sh
index a9909fb98dd7e55a902892c98c8b7b88a99e12a4..2910eee52c8e377724d1bdffe282b9220fcf9a64 100755 (executable)
@@ -3,16 +3,17 @@ set -e
 set -x
 # Heavily inspired by <https://docs-develop.pleroma.social/backend/installation/debian_based_en/>
 
-if [ "$#" -ne 2 ]; then
-    echo 'Need domain name and mail as argument.'
+if [ "$#" -ne 3 ]; then
+    echo 'Need domain name and mail and old server IP as argument.'
     false
 fi
 domain="$1"
 mail="$2"
+old_server="$3"
 
 # Install configs, set up firewall.
 config_tree_prefix="${HOME}/config/buster"
-./install_for_target.sh web
+./install_for_target.sh web website
 ./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" web website
 nft -f /etc/nftables.conf
 
@@ -31,6 +32,22 @@ chown plom:plom /var/repos
 # Prepare NGINX and GitWeb config.
 sed -i "s/REPLACE_fqdn_ECALPER/${domain}/g" /etc/gitweb.conf
 sed -i "s/REPLACE_fqdn_ECALPER/${domain}/g" /etc/nginx/sites-available/website.nginx
-ln -s /etc/nginx/sites-available/static.nginx /etc/nginx/sites-enabled/website.nginx
+ln -s /etc/nginx/sites-available/website.nginx /etc/nginx/sites-enabled/website.nginx
+
+# Set up website.
+rm -rf /var/www
+mkdir /var/www
+chown plom:plom /var/www
+cp "${config_tree_prefix}/setup_scripts/prepare_to_meet_server.sh" /home/plom/
+chown plom:plom /home/plom/prepare_to_meet_server.sh
+su -lc plom "./prepare_to_meet_server.sh ${old_server}"
+read -p'Hit Enter when you are done.' ignore
+su -lc plom "cd /var/repos && git clone --mirror ${old_server}/repos/website"
+cp "${config_tree_prefix}/other_files/website_hook_post-receive /var/repos/website.git/hooks/post-receive"
+su -lc plom 'cd /var/www && git clone /var/repos/website.git .'
+
+# TODO:
+# - commit git-daemon-export-ok directly into the public repos; rename
+#   /home/plom/public_repos to /home/plom/repos
 
 service nginx restart