#cloud-config users: - name: ubuntu sudo: ALL=(ALL) NOPASSWD:ALL groups: users, admin home: /home/ubuntu shell: /bin/bash ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0WGP1EZykEtv5YGC9nMiPFW3U3DmZNzKFO5nEu6uozEHh4jLZzPNHSrfFTuQ2GnRDSt+XbOtTLdcj26+iPNiFoFha42aCIzYjt6V8Z+SQ9pzF4jPPzxwXfDdkEWylgoNnZ+4MG1lNFqa8aO7F62tX0Yj5khjC0Bs7Mb2cHLx1XZaxJV6qSaulDuBbLYe8QUZXkMc7wmob3PM0kflfolR3LE7LResIHWa4j4FL6r5cQmFlDU2BDPpKMFMGUfRSFiUtaWBNXFOWHQBC2+uKmuMPYP4vJC9sBgqMvPN/X2KyemqdMvdKXnCfrzadHuSSJYEzD64Cve5Zl9yVvY4AqyBD aws-key ssh_pwauth: true disable_root: false package_update: true packages: - curl - wget - nginx - aspnetcore-runtime-6.0 write_files: - content: | [Unit] Description=Demo Shop [Service] WorkingDirectory=/var/www/app ExecStart=/usr/bin/dotnet /var/www/app/ShopDemo.dll Restart=always RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target path: /etc/systemd/system/shop-app.service - content: | server { listen 80; server_name default; location / { proxy_pass http://127.0.0.1:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } path: /home/ubuntu/nginx runcmd: - sudo cd ~ - sudo git clone https://gitlab.com/ch-tbz-it/Stud/m346/m346scripts.git # install mongodb shell - sudo wget -qO- https://www.mongodb.org/static/pgp/server-6.0.asc | sudo tee /etc/apt/trusted.gpg.d/server-6.0.asc - sudo echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list - sudo apt-get update - sudo apt-get install -y mongodb-mongosh # import mongodb collections - mongosh "mongodb+srv://[[Mongodb-Cluster-URL]]/" --u [[Mongodb-username]] -p [[Mongodb-password]] < ~/KN06/shop-database-mongodb.txt # install App - sudo mkdir /var/www - sudo mkdir /var/www/app - sudo sed -i 's//[[Mongodb-Cluster-URL]]/g' ./m346scripts/KN06/dotnet/appsettings.json - sudo sed -i 's//[[Mongodb-username]]/g' ./m346scripts/KN06/dotnet/appsettings.json - sudo sed -i 's//[[Mongodb-password]]/g' ./m346scripts/KN06/dotnet/appsettings.json - sudo cp -r ./m346scripts/KN06/dotnet/* /var/www/app/ - sudo systemctl enable shop-app.service - sudo systemctl start shop-app.service - sudo service nginx start - sudo cp /home/ubuntu/nginx /etc/nginx/sites-available/default - sudo nginx -s reload