added code-server

Signed-off-by: Marc Ahlgrim <marc@onemarcfifty.com>
This commit is contained in:
Marc Ahlgrim 2022-08-31 19:59:19 +02:00
parent 5473938286
commit ba4a5fac73

View File

@ -4,21 +4,39 @@
# vanilla debian 11 # vanilla debian 11
# RUN AS ROOT! # RUN AS ROOT!
# you might wan to change this
# sets all passwords of users and the vscode server to "onemarcfifty"
USERPASSWORD=onemarcfifty
# first we install some software
apt update apt update
apt -y upgrade apt -y upgrade
apt install -y python3 pip sudo wget curl apt install -y python3 pip sudo wget curl
# now let's add the rundeck user
useradd -m -G sudo -s /bin/bash rundeck useradd -m -G sudo -s /bin/bash rundeck
# passwd rundeck echo "rundeck:$USERPASSWORD" | chpasswd
# install ansible through pip
pip install ansible pip install ansible
# download the rundeck installation script and run it directly
# then install rundeck
curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/deb-setup.sh 2> /dev/null | sudo bash -s rundeck curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/deb-setup.sh 2> /dev/null | sudo bash -s rundeck
apt update apt update
apt -y install rundeck apt -y install rundeck
# replace the localhost entries in the config files with the hostname
sed -i s/localhost/`hostname`/g /etc/rundeck/framework.properties sed -i s/localhost/`hostname`/g /etc/rundeck/framework.properties
sed -i s/localhost/`hostname`/g /etc/rundeck/rundeck-config.properties sed -i s/localhost/`hostname`/g /etc/rundeck/rundeck-config.properties
# optional: move to mariadb
# install mariadb # install mariadb
apt install -y mariadb-server apt install -y mariadb-server
# create rundeck db # create rundeck db
@ -27,15 +45,54 @@ mysql -u root -e 'create database rundeck'
RANDOMPASSWORD=`date +%s | sha256sum | base64 | head -c 32` RANDOMPASSWORD=`date +%s | sha256sum | base64 | head -c 32`
mysql -u root -e "create user rundeck@localhost identified by '$RANDOMPASSWORD'" mysql -u root -e "create user rundeck@localhost identified by '$RANDOMPASSWORD'"
mysql -u root -e 'grant ALL on rundeck.* to rundeck@localhost' mysql -u root -e 'grant ALL on rundeck.* to rundeck@localhost'
# update the rundeck config # update the rundeck config
# comment out the original data source
sed -i s/^dataSource.url/\#dataSource.url/g /etc/rundeck/rundeck-config.properties sed -i s/^dataSource.url/\#dataSource.url/g /etc/rundeck/rundeck-config.properties
echo 'dataSource.driverClassName = org.mariadb.jdbc.Driver'>>/etc/rundeck/rundeck-config.properties
echo 'dataSource.url = jdbc:mysql://localhost/rundeck?autoReconnect=true&useSSL=false' >>/etc/rundeck/rundeck-config.properties # point the datasource to the new local mariadb installation
echo 'dataSource.username = rundeck' >>/etc/rundeck/rundeck-config.properties
echo "dataSource.password = $RANDOMPASSWORD" >>/etc/rundeck/rundeck-config.properties (cat >> /etc/rundeck/rundeck-config.properties) <<EOF
dataSource.driverClassName = org.mariadb.jdbc.Driver
dataSource.url = jdbc:mysql://localhost/rundeck?autoReconnect=true&useSSL=false
dataSource.username = rundeck
dataSource.password = $RANDOMPASSWORD
EOF
RANDOMPASSWORD="nothing here" RANDOMPASSWORD="nothing here"
# start rundeck services # start rundeck services
/etc/init.d/rundeckd start /etc/init.d/rundeckd start
systemctl enable rundeckd systemctl enable rundeckd
# now let's install visual studio code server (vscode-server)
wget https://github.com/coder/code-server/releases/download/v4.6.0/code-server_4.6.0_amd64.deb
sudo apt install ./code-server_4.6.0_amd64.deb
# now we need to configure a systemd unit file so that
# code-server starts automatically
# please note that this uses http unencrypted.
# You might want to tweak this for added security
(cat >/etc/systemd/system/code-server.service) <<EOF
[Unit]
Description=code-server
After=networking.service
[Service]
Type=simple
User=rundeck
Environment=PASSWORD=$USERPASSWORD
WorkingDirectory=/var/lib/rundeck
ExecStart=/usr/bin/code-server --host 0.0.0.0
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable code-server.service
systemctl start code-server.service