#!/bin/bash # MUST have this script and sockeye-linux-x64-server.zip in coreapps folder ############################# echo STARTING... echo INSTALL .NET CORE apt-get install -y aspnetcore-runtime-6.0 echo INSTALL POSTGRESQL sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get -y install postgresql sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password 'yourcaraintgotnobrakesitsjustlaughingatyou';" echo INSTALL REPORTING LIBS sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \ libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \ libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \ libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libgbm1 \ ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget echo INSTALL SOCKEYE apt install zip unzip -y mkdir /srv/coreapps/sockeye mkdir /srv/coreapps/sockeye/data mkdir /srv/coreapps/sockeye/.local-chromium cd /srv/coreapps/sockeye unzip -o ../sockeye-linux-x64-server.zip chown -vR :www-data /srv/coreapps/sockeye chmod -R g+rw /srv/coreapps/sockeye/data chmod -R g+rwx /srv/coreapps/sockeye/.local-chromium echo '[Unit]' >> /etc/systemd/system/sockeye.service echo 'Description=sockeye server' >> /etc/systemd/system/sockeye.service echo '' >> /etc/systemd/system/sockeye.service echo '[Service]' >> /etc/systemd/system/sockeye.service echo 'WorkingDirectory=/srv/coreapps/sockeye' >> /etc/systemd/system/sockeye.service echo 'ExecStart=/usr/bin/dotnet /srv/coreapps/sockeye/sockeye.dll' >> /etc/systemd/system/sockeye.service echo 'Restart=always' >> /etc/systemd/system/sockeye.service echo 'RestartSec=10' >> /etc/systemd/system/sockeye.service echo 'KillSignal=SIGINT' >> /etc/systemd/system/sockeye.service echo 'SyslogIdentifier=sockeye-server' >> /etc/systemd/system/sockeye.service echo 'User=www-data' >> /etc/systemd/system/sockeye.service echo 'Environment=ASPNETCORE_ENVIRONMENT=Production' >> /etc/systemd/system/sockeye.service echo 'Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false' >> /etc/systemd/system/sockeye.service echo '' >> /etc/systemd/system/sockeye.service echo '[Install]' >> /etc/systemd/system/sockeye.service echo 'WantedBy=multi-user.target' >> /etc/systemd/system/sockeye.service systemctl enable sockeye.service echo START SOCKEYE SERVICE systemctl start sockeye.service # echo INSTALL NGINX # apt install nginx -y # echo 'server {' > /etc/nginx/sites-available/default # echo ' listen 80;' >> /etc/nginx/sites-available/default # echo " server_name $DOMAINNAME;" >> /etc/nginx/sites-available/default # echo ' location / {' >> /etc/nginx/sites-available/default # echo ' add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;' >> /etc/nginx/sites-available/default # echo ' add_header X-XSS-Protection "1; mode=block" always;' >> /etc/nginx/sites-available/default # echo ' add_header X-Content-Type-Options "nosniff" always;' >> /etc/nginx/sites-available/default # echo ' add_header X-Frame-Options "SAMEORIGIN" always;' >> /etc/nginx/sites-available/default # echo ' add_header Referrer-Policy "strict-origin" always;' >> /etc/nginx/sites-available/default # echo ' gzip on;' >> /etc/nginx/sites-available/default # echo ' gzip_vary on;' >> /etc/nginx/sites-available/default # echo ' gzip_min_length 10240;' >> /etc/nginx/sites-available/default # echo ' gzip_proxied expired no-cache no-store private auth;' >> /etc/nginx/sites-available/default # echo ' gzip_http_version 1.1;' >> /etc/nginx/sites-available/default # echo ' gzip_types application/javascript text/css application/json text/plain;' >> /etc/nginx/sites-available/default # echo '' >> /etc/nginx/sites-available/default # echo ' proxy_pass http://127.0.0.1:7575;' >> /etc/nginx/sites-available/default # echo ' proxy_http_version 1.1;' >> /etc/nginx/sites-available/default # echo ' proxy_set_header Upgrade $http_upgrade;' >> /etc/nginx/sites-available/default # echo ' proxy_set_header Connection keep-alive;' >> /etc/nginx/sites-available/default # echo ' proxy_set_header Host $host;' >> /etc/nginx/sites-available/default # echo ' proxy_cache_bypass $http_upgrade;' >> /etc/nginx/sites-available/default # echo ' proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;' >> /etc/nginx/sites-available/default # echo ' proxy_set_header X-Forwarded-Proto $scheme;' >> /etc/nginx/sites-available/default # echo ' proxy_connect_timeout 3600;' >> /etc/nginx/sites-available/default # echo ' proxy_send_timeout 3600;' >> /etc/nginx/sites-available/default # echo ' proxy_read_timeout 3600;' >> /etc/nginx/sites-available/default # echo ' send_timeout 3600; ' >> /etc/nginx/sites-available/default # echo ' client_max_body_size 25M;' >> /etc/nginx/sites-available/default # echo ' }' >> /etc/nginx/sites-available/default # echo '}' >> /etc/nginx/sites-available/default # systemctl restart nginx # echo INSTALL CERTBOT # apt install certbot python3-certbot-nginx -y # echo GET CERTIFICATE # certbot --nginx --noninteractive --agree-tos --email ops@onsockeye.com --no-eff-email -d $DOMAINNAME echo ...COMPLETED