Added script for etherpad
This commit is contained in:
		
							
								
								
									
										73
									
								
								install-etherpad.bash
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										73
									
								
								install-etherpad.bash
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
CONTAINER=$1
 | 
			
		||||
 | 
			
		||||
APPNAME="etherpad"
 | 
			
		||||
APPREPO="git://github.com/ether/etherpad-lite.git"
 | 
			
		||||
 | 
			
		||||
NODEVER="9.5.0"
 | 
			
		||||
 | 
			
		||||
DOMAIN="logerais.com"
 | 
			
		||||
TIMEZONE="Europe/Paris"
 | 
			
		||||
 | 
			
		||||
if [ -z "$CONTAINER" ]; then echo "Missing parameter"; exit 1 ; fi
 | 
			
		||||
 | 
			
		||||
# Set container timezone
 | 
			
		||||
lxc file edit "$CONTAINER/etc/timezone" <<< "${TIMEZONE}"
 | 
			
		||||
 | 
			
		||||
# Install packages
 | 
			
		||||
lxc exec $CONTAINER -- apt update
 | 
			
		||||
 | 
			
		||||
# Database
 | 
			
		||||
 | 
			
		||||
lxc exec $CONTAINER -- apt install -y postgresql
 | 
			
		||||
lxc exec $CONTAINER -- su --login postgres <<< "createuser ${APPNAME}"
 | 
			
		||||
lxc exec $CONTAINER -- su --login postgres <<< "createdb --owner=${APPNAME} ${APPNAME}"
 | 
			
		||||
lxc exec $CONTAINER -- su --login postgres --shell /usr/bin/psql <<< "ALTER USER \"${APPNAME}\" WITH PASSWORD '${APPNAME}';"
 | 
			
		||||
 | 
			
		||||
# Application
 | 
			
		||||
 | 
			
		||||
lxc exec $CONTAINER -- apt install -y curl wget git
 | 
			
		||||
lxc exec $CONTAINER -- apt install -y gzip python libssl-dev pkg-config build-essential
 | 
			
		||||
lxc exec $CONTAINER -- apt install -y moreutils jq
 | 
			
		||||
 | 
			
		||||
lxc exec $CONTAINER -- userdel -r ${APPNAME}
 | 
			
		||||
lxc exec $CONTAINER -- useradd -m --shell /bin/bash ${APPNAME}
 | 
			
		||||
lxc exec $CONTAINER -- usermod --groups sudo --append ${APPNAME}
 | 
			
		||||
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command 'git clone https://github.com/riywo/anyenv ~/.anyenv'
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command 'echo export PATH="\$HOME/.anyenv/bin:\$PATH" >> ~/.profile'
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command 'echo eval \"\$\(anyenv init -\)\" >> ~/.profile'
 | 
			
		||||
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command 'anyenv install nodenv'
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command "nodenv install ${NODEVER}"
 | 
			
		||||
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command "git clone ${APPREPO} ${APPNAME}"
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command "cd ${APPNAME} && nodenv local ${NODEVER}"
 | 
			
		||||
lxc exec $CONTAINER -- su --login ${APPNAME} --command "cd ${APPNAME} && bin/run.sh"
 | 
			
		||||
 | 
			
		||||
#lxc file edit $CONTAINER/etc/systemd/system/${APPNAME}.service <<EOF
 | 
			
		||||
#[Unit]
 | 
			
		||||
#Description=Gogs (Go Git Service)
 | 
			
		||||
#After=syslog.target
 | 
			
		||||
#After=network.target
 | 
			
		||||
#After=postgresql.service
 | 
			
		||||
#After=nginx.service
 | 
			
		||||
#
 | 
			
		||||
#[Service]
 | 
			
		||||
#Type=simple
 | 
			
		||||
#User=${APPNAME}
 | 
			
		||||
#Group=${APPNAME}
 | 
			
		||||
#WorkingDirectory=/home/${APPNAME}/${APPNAME}
 | 
			
		||||
#ExecStart=/home/${APPNAME}/${APPNAME}/${APPNAME} web
 | 
			
		||||
#Restart=always
 | 
			
		||||
#Environment=USER=${APPNAME} HOME=/home/${APPNAME}
 | 
			
		||||
#
 | 
			
		||||
#[Install]
 | 
			
		||||
#WantedBy=multi-user.target
 | 
			
		||||
#EOF
 | 
			
		||||
#
 | 
			
		||||
#lxc exec $CONTAINER systemctl enable ${APPNAME}
 | 
			
		||||
#lxc exec $CONTAINER systemctl start ${APPNAME}
 | 
			
		||||
 | 
			
		||||
# lxc restart $CONTAINER
 | 
			
		||||
		Reference in New Issue
	
	Block a user