소스 검색

Beginning of media server

Bob Mottram 8 년 전
부모
커밋
0c1317b566
No account linked to committer's email
1개의 변경된 파일74개의 추가작업 그리고 0개의 파일을 삭제
  1. 74
    0
      src/freedombone

+ 74
- 0
src/freedombone 파일 보기

@@ -9861,6 +9861,79 @@ function install_dlna_server {
9861 9861
 	echo 'install_dlna_server' >> $COMPLETION_FILE
9862 9862
 }
9863 9863
 
9864
+MEDIA_SERVER_DOMAIN_NAME=
9865
+MEDIA_SERVER_BASE_DIRECTORY=/var/www
9866
+MEDIA_SERVER_WORKING_DIRECTORY=${MEDIA_SERVER_BASE_DIRECTORY}/mediadrop
9867
+MEDIA_SERVER_REPO="https://github.com/mediadrop/mediadrop"
9868
+MEDIA_SERVER_COMMIT='ad44f47d99b5d57d3396a3afb80d68a4a182dadd'
9869
+MEDIADROP_VERSION='0.11.0'
9870
+
9871
+function install_media_server {
9872
+	if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9873
+		return
9874
+	fi
9875
+	if [ ! $MEDIA_SERVER_DOMAIN_NAME ]; then
9876
+		return
9877
+	fi
9878
+	# update to a new commit if needed
9879
+	set_repo_commit $MEDIA_SERVER_WORKING_DIRECTORY "Media server commit" "$MEDIA_SERVER_COMMIT" $MEDIA_SERVER_REPO
9880
+	if [ -d $MEDIA_SERVER_WORKING_DIRECTORY ]; then
9881
+		chown -R www-data:www-data $MEDIA_SERVER_WORKING_DIRECTORY
9882
+	fi
9883
+
9884
+	if grep -Fxq "install_media_server" $COMPLETION_FILE; then
9885
+		return
9886
+	fi
9887
+
9888
+	apt-get -y install git-core python python-dev python-lxml python-pil
9889
+	apt-get -y install python-virtualenv npm nodejs-legacy automake
9890
+	apt-get -y install fcgiwrap
9891
+	apt-get -y install libjpeg-dev zlib1g-dev libfreetype6-dev libmysqlclient-dev
9892
+	apt-get -y install python-setuptools python-virtualenv
9893
+
9894
+	# create directory
9895
+	if [ ! -d $MEDIA_SERVER_BASE_DIRECTORY ]; then
9896
+		mkdir -p $MEDIA_SERVER_BASE_DIRECTORY
9897
+	fi
9898
+
9899
+	# create python environment
9900
+	cd $MEDIA_SERVER_BASE_DIRECTORY
9901
+	virtualenv --distribute --no-site-packages venv
9902
+	source venv/bin/activate
9903
+
9904
+	# clone the repo
9905
+	git_clone $MEDIA_SERVER_REPO $MEDIA_SERVER_WORKING_DIRECTORY
9906
+	if [ ! -d $MEDIA_SERVER_WORKING_DIRECTORY ]; then
9907
+		echo $'Unable to clone mediadrop'
9908
+		exit 732581
9909
+	fi
9910
+	cd $MEDIA_SERVER_WORKING_DIRECTORY
9911
+	git checkout $MEDIA_SERVER_COMMIT -b $MEDIA_SERVER_COMMIT
9912
+	python setup.py develop
9913
+
9914
+	cd $MEDIA_SERVER_BASE_DIRECTORY
9915
+	paster make-config MediaDrop deployment.ini
9916
+	if [ ! -f deployment.ini ]; then
9917
+		echo $'deployment.ini not created'
9918
+		exit 726567
9919
+	fi
9920
+
9921
+	# database authentication
9922
+	sed -i "sqlalchemy.url = mysql://mediadrop_user:mysecretpassword@localhost/mediadrop?charset=utf8&use_unicode=0" deployment.ini
9923
+
9924
+	# initial data
9925
+	cp -a mediadrop/data .
9926
+	paster setup-app deployment.ini
9927
+
9928
+	# enable full test search
9929
+	mysql -u root mediadrop < mediadrop/setup_triggers.sql
9930
+
9931
+	# launch
9932
+	paster serve --reload deployment.ini
9933
+
9934
+	echo 'install_media_server' >> $COMPLETION_FILE
9935
+}
9936
+
9864 9937
 function install_mediagoblin {
9865 9938
 	if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9866 9939
 		return
@@ -11171,6 +11244,7 @@ install_hubzilla
11171 11244
 #install_search_engine
11172 11245
 install_dlna_server
11173 11246
 configure_firewall_for_dlna
11247
+#install_media_server
11174 11248
 #install_mediagoblin
11175 11249
 #install_ipfs
11176 11250
 repair_databases_script