Skip to content

Instantly share code, notes, and snippets.

# Add user
adduser ubuntu
# Set to super user
usermod -aG sudo ubuntu
# Switch user
sudo su ubuntu
# Add .ssh to ubuntu user
# For NodeJS install
nginx-extras
# For NodeJS + Ruby on Rails install Nginx Passenger from official website
https://www.phusionpassenger.com/library/install/nginx/install/oss/bionic/
# Install certbot
https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx.html
# Requesting certificate
server {
listen 80 default_server;
server_name _;
index index.html index.htm index.nginx-debian.html;
root /var/www/html;
location ^~ /.well-known/acme-challenge {
allow all;
default_type "text/plain";
}
location / {
server {
passenger_ruby /home/ubuntu/.rvm/gems/ruby-2.7.1@soon-to-be-programmer-deploy-demo/wrappers/ruby;
listen 80;
server_name demo.soontobeprogrammer.com;
passenger_enabled on;
root /home/ubuntu/soon-to-be-programmer-deploy-demo/public;
rails_env production;
}
server {
passenger_ruby /home/ubuntu/.rvm/gems/ruby-2.7.1@soon-to-be-programmer-deploy-demo/wrappers/ruby;
ssl_prefer_server_ciphers on;
# Add HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
client_max_body_size 20M;
listen 443;
server_name demo.soontobeprogrammer.com;
passenger_enabled on;
@PRIMEADAWAS
PRIMEADAWAS / Dockerfile
Created December 21, 2023 06:33 — forked from SaKKo/Dockerfile
NextJS Google cloud run note
FROM node:17.0.1
ARG BUILD_ENV
RUN mkdir -p /usr/src/app
COPY package*.json /usr/src/app/
RUN cd /usr/src/app/; npm install
WORKDIR /usr/src/app
COPY . /usr/src/app
upstream MY_APP {
server 127.0.0.1:3000;
server 127.0.0.1:3000 max_fails=1 fail_timeout=30s backup;
keepalive 64;
}
server {
listen 80 default_server;
server_name _;
location / {
# this setup 4GB of swap file.
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
# reboot once
sudo reboot
# SSH back to server and check swapon again.
# check swap file
sudo ufw allow 22/tcp # for ssh
sudo ufw allow 80/tcp # for http
sudo ufw allow 443/tcp # only for ssl
sudo ufw show added # make sure ports that you needed are opened.
# only run this if you are ready
sudo ufw enable