Bladeren bron

systemd scripts

Bob Mottram 11 jaren geleden
bovenliggende
commit
4c318c3c79
1 gewijzigde bestanden met toevoegingen van 58 en 19 verwijderingen
  1. 58
    19
      install-freedombone.sh

+ 58
- 19
install-freedombone.sh Bestand weergeven

@@ -2935,18 +2935,19 @@ function install_mediagoblin {
2935 2935
 
2936 2936
   MEDIAGOBLIN_DOMAIN_ROOT="/srv/$MEDIAGOBLIN_DOMAIN_NAME"
2937 2937
   MEDIAGOBLIN_PATH="$MEDIAGOBLIN_DOMAIN_ROOT/mediagoblin"
2938
+  MEDIAGOBLIN_PATH_BIN="$MEDIAGOBLIN_PATH/bin"
2938 2939
 
2939 2940
   if [ ! -d $MEDIAGOBLIN_DOMAIN_ROOT ]; then
2940 2941
       mkdir -p $MEDIAGOBLIN_DOMAIN_ROOT
2941 2942
   fi
2942 2943
   chown -hR mediagoblin: $MEDIAGOBLIN_DOMAIN_ROOT
2943 2944
   cd $MEDIAGOBLIN_DOMAIN_ROOT
2944
-  su -c "git clone git://gitorious.org/mediagoblin/mediagoblin.git $MEDIAGOBLIN_PATH" - mediagoblin
2945
+  su -c "git clone git://gitorious.org/mediagoblin/mediagoblin.git $MEDIAGOBLIN_DOMAIN_ROOT" - mediagoblin
2945 2946
   su -c "cd $MEDIAGOBLIN_PATH/mediagoblin; git submodule init" - mediagoblin
2946 2947
   su -c "cd $MEDIAGOBLIN_PATH/mediagoblin; git submodule update" - mediagoblin
2947 2948
   su -c "cd $MEDIAGOBLIN_PATH/mediagoblin; virtualenv --system-site-packages ." - mediagoblin
2948
-  su -c "cd $MEDIAGOBLIN_PATH; ./bin/python setup.py develop" - mediagoblin
2949
-  su -c "cd $MEDIAGOBLIN_PATH/mediagoblin; ./bin/easy_install flup" - mediagoblin
2949
+  su -c "cd $MEDIAGOBLIN_PATH_BIN; python setup.py develop" - mediagoblin
2950
+  su -c "cd $MEDIAGOBLIN_PATH_BIN; easy_install flup" - mediagoblin
2950 2951
   su -c "cp $MEDIAGOBLIN_PATH/mediagoblin.ini $MEDIAGOBLIN_PATH/mediagoblin_local.ini" - mediagoblin
2951 2952
   su -c "cp $MEDIAGOBLIN_PATH/paste.ini $MEDIAGOBLIN_PATH/paste_local.ini" - mediagoblin
2952 2953
 
@@ -3018,7 +3019,7 @@ function install_mediagoblin {
3018 3019
   echo " ini-paste: $MEDIAGOBLIN_PATH/paste_local.ini" >> /etc/uwsgi/apps-available/mg.yaml
3019 3020
 
3020 3021
   echo '[program:celery]' > /etc/supervisor/conf.d/mediagoblin.conf
3021
-  echo "command=$MEDIAGOBLIN_PATH/bin/celery worker -l debug" >> /etc/supervisor/conf.d/mediagoblin.conf
3022
+  echo "command=$MEDIAGOBLIN_PATH_BIN/celery worker -l debug" >> /etc/supervisor/conf.d/mediagoblin.conf
3022 3023
   echo '' >> /etc/supervisor/conf.d/mediagoblin.conf
3023 3024
   echo '; Set PYTHONPATH to the directory containing celeryconfig.py' >> /etc/supervisor/conf.d/mediagoblin.conf
3024 3025
   echo "environment=PYTHONPATH='$MEDIAGOBLIN_PATH',MEDIAGOBLIN_CONFIG='$MEDIAGOBLIN_PATH/mediagoblin_local.ini',CELERY_CONFIG_MODULE='mediagoblin.init.celery.from_celery'" >> /etc/supervisor/conf.d/mediagoblin.conf
@@ -3041,23 +3042,61 @@ function install_mediagoblin {
3041 3042
   ln -s /etc/uwsgi/apps-available/mg.yaml /etc/uwsgi/apps-enabled/
3042 3043
 
3043 3044
   # change settings
3044
-  sed -i "s/notice@mediagoblin.example.org/$MY_USERNAME@$DOMAIN_NAME/g" /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini
3045
-  sed -i 's/email_debug_mode = true/email_debug_mode = false/g' /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini
3046
-  sed -i 's|# sql_engine = postgresql:///mediagoblin|sql_engine = postgresql:///mediagoblin|g' /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini
3045
+  sed -i "s/notice@mediagoblin.example.org/$MY_USERNAME@$DOMAIN_NAME/g" $MEDIAGOBLIN_PATH/mediagoblin_local.ini
3046
+  sed -i 's/email_debug_mode = true/email_debug_mode = false/g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
3047
+  sed -i 's|# sql_engine = postgresql:///mediagoblin|sql_engine = postgresql:///mediagoblin|g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
3047 3048
 
3048 3049
   # add extra media types
3049
-  if grep -q "media_types.audio" /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini; then
3050
-      echo '[[mediagoblin.media_types.audio]]' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini
3051
-  fi
3052
-  if grep -q "media_types.video" /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini; then
3053
-      echo '[[mediagoblin.media_types.video]]' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini
3054
-  fi
3055
-  if grep -q "media_types.stl" /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini; then
3056
-      echo '[[mediagoblin.media_types.stl]]' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin_local.ini
3057
-  fi
3058
-
3059
-  su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; ./bin/pip install scikits.audiolab" - mediagoblin
3060
-  su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; ./bin/gmg dbupdate" - mediagoblin
3050
+  if grep -q "media_types.audio" $MEDIAGOBLIN_PATH/mediagoblin_local.ini; then
3051
+      echo '[[mediagoblin.media_types.audio]]' >> $MEDIAGOBLIN_PATH/mediagoblin_local.ini
3052
+  fi
3053
+  if grep -q "media_types.video" $MEDIAGOBLIN_PATH/mediagoblin_local.ini; then
3054
+      echo '[[mediagoblin.media_types.video]]' >> $MEDIAGOBLIN_PATH/mediagoblin_local.ini
3055
+  fi
3056
+  if grep -q "media_types.stl" $MEDIAGOBLIN_PATH/mediagoblin_local.ini; then
3057
+      echo '[[mediagoblin.media_types.stl]]' >> $MEDIAGOBLIN_PATH/mediagoblin_local.ini
3058
+  fi
3059
+
3060
+  su -c "cd $MEDIAGOBLIN_PATH_BIN; pip install scikits.audiolab" - mediagoblin
3061
+  su -c "cd $MEDIAGOBLIN_PATH_BIN; gmg dbupdate" - mediagoblin
3062
+
3063
+  # systemd init scripts
3064
+
3065
+  echo '[Unit]' > /etc/systemd/system/gmg.service
3066
+  echo 'Description=Mediagoblin' >> /etc/systemd/system/gmg.service
3067
+  echo '' >> /etc/systemd/system/gmg.service
3068
+  echo '[Service]' >> /etc/systemd/system/gmg.service
3069
+  echo 'Type=forking' >> /etc/systemd/system/gmg.service
3070
+  echo 'User=mediagoblin' >> /etc/systemd/system/gmg.service
3071
+  echo 'Group=mediagoblin' >> /etc/systemd/system/gmg.service
3072
+  echo '#Environment=CELERY_ALWAYS_EAGER=true' >> /etc/systemd/system/gmg.service
3073
+  echo 'Environment=CELERY_ALWAYS_EAGER=false' >> /etc/systemd/system/gmg.service
3074
+  echo "WorkingDirectory=$MEDIAGOBLIN_PATH" >> /etc/systemd/system/gmg.service
3075
+  echo "ExecStart=$MEDIAGOBLIN_PATH_BIN/paster serve $MEDIAGOBLIN_PATH/paste_local.ini --pid-file=/var/run/mediagoblin/paster.pid --log-file=/var/log/nginx/mediagoblin_paster.log --daemon --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543" >> /etc/systemd/system/gmg.service
3076
+  echo "ExecStop=$MEDIAGOBLIN_PATH_BIN/paster serve --pid-file=/var/run/mediagoblin/paster.pid $MEDIAGOBLIN_PATH/paste_local.ini stop" >> /etc/systemd/system/gmg.service
3077
+  echo 'PIDFile=/var/run/mediagoblin/mediagoblin.pid' >> /etc/systemd/system/gmg.service
3078
+  echo '' >> /etc/systemd/system/gmg.service
3079
+  echo '[Install]' >> /etc/systemd/system/gmg.service
3080
+  echo 'WantedBy=multi-user.target' >> /etc/systemd/system/gmg.service
3081
+
3082
+
3083
+  echo '[Unit]' > /etc/systemd/system/gmg-celeryd.service
3084
+  echo 'Description=Mediagoblin Celeryd' >> /etc/systemd/system/gmg-celeryd.service
3085
+  echo '' >> /etc/systemd/system/gmg-celeryd.service
3086
+  echo '[Service]' >> /etc/systemd/system/gmg-celeryd.service
3087
+  echo 'User=mediagoblin' >> /etc/systemd/system/gmg-celeryd.service
3088
+  echo 'Group=mediagoblin' >> /etc/systemd/system/gmg-celeryd.service
3089
+  echo 'Type=simple' >> /etc/systemd/system/gmg-celeryd.service
3090
+  echo "WorkingDirectory=$MEDIAGOBLIN_PATH" >> /etc/systemd/system/gmg-celeryd.service
3091
+  echo "Environment='MEDIAGOBLIN_CONFIG=$MEDIAGOBLIN_PATH/mediagoblin_local.ini' CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery" >> /etc/systemd/system/gmg-celeryd.service
3092
+  echo "ExecStart=$MEDIAGOBLIN_PATH_BIN/celeryd" >> /etc/systemd/system/gmg-celeryd.service
3093
+  echo 'PIDFile=/var/run/mediagoblin/mediagoblin-celeryd.pid' >> /etc/systemd/system/gmg-celeryd.service
3094
+  echo '' >> /etc/systemd/system/gmg-celeryd.service
3095
+  echo '[Install]' >> /etc/systemd/system/gmg-celeryd.service
3096
+  echo 'WantedBy=multi-user.target' >> /etc/systemd/system/gmg-celeryd.service
3097
+
3098
+  systemctl start gmg.service
3099
+  systemctl start gmg-celeryd.service
3061 3100
 
3062 3101
   echo 'install_mediagoblin' >> $COMPLETION_FILE
3063 3102
 }