import smtplib | |
import os | |
def send_email(host, port, username, password, subject, body, mail_to, mail_from = None, reply_to = None): | |
if mail_from is None: mail_from = username | |
if reply_to is None: reply_to = mail_to | |
message = """From: %s\nTo: %s\nReply-To: %s\nSubject: %s\n\n%s""" % (mail_from, mail_to, reply_to, subject, body) | |
print (message) | |
try: |
$ sudo apt install curl ca-certificates
$ sudo install -d /usr/share/postgresql-common/pgdg
$ sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
1 server, 2 clients
Install Wireguard on all machines.
version: '4.5' | |
services: | |
# GITLAB | |
gitlab-web: | |
image: 'gitlab/gitlab-ce:latest' | |
restart: always | |
container_name: gitlab-web | |
hostname: '192.168.0.14' | |
environment: |
# See docs/examples | |
# http://doc.gitlab.com/ce/ci/quick_start/README.html | |
# http://doc.gitlab.com/ce/ci/yaml/README.html | |
# GitLab CI template for Go tests. Note this installs | |
# a new working copy of Go in a non-standard path such | |
# that sudo/root is not needed for the install stage. | |
# note that this particular install-environment stage | |
# is overly verbose in order to debug anything tricky |
workflow "Demo workflow" { | |
on = "push" | |
resolves = ["SNS Notification"] | |
} | |
action "Build Image" { | |
uses = "actions/docker/cli@c08a5fc9e0286844156fefff2c141072048141f6" | |
runs = ["/bin/sh", "-c", "docker build -t $IMAGE_URI ."] | |
env = { | |
IMAGE_URI = "xxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/github-action-demo:latest" |
Prerequirements:
- Have Elasticseach + Kibana installed
- Have server.basePath: "/kibana" option configured in your kibana.yml file
i. Install NGINX
apt install nginx
ii. Modify nginx.conf
In /etc/nginx/nginx.conf
you should have a similar setup:
Though we're focused more on server setup procedure in this document, I will still give a very brief explanation in laymen terms for ELK. To those who are starting new in this stack, must have already heard of MVC (Model View Controller), so take it like this:
- Model
=>
Elasticsearch (for Storage, Indexing & Search) - View
=>
Kibana (for DataViz & G-Man, yeah the one in half life 😏) - Controller
=>
Logstash (For Logs & Filtering)
In this tutorial, I will be going over to how to deploy a Javascript app from start to finish using AWS and EC2. Recently, my partner Tu and I launched our app AlgoAcademy (a resource for reviewing algorithms and data structures) and we wanted to share with other developers some of the lessons we learned along the way.
Following this tutorial, you will have an application that has:
- A React frontend, Express backend
- An AWS EC2 server configured to host your application
- SSL-certification with Certbot
- A custom domain name