Skip to content

Instantly share code, notes, and snippets.

@suvozy
Created July 6, 2020 07:39
Show Gist options
  • Save suvozy/120afdde4d81733c7be4cd7427640479 to your computer and use it in GitHub Desktop.
Save suvozy/120afdde4d81733c7be4cd7427640479 to your computer and use it in GitHub Desktop.
rime.wiki

Topics

  • [[Home]]
  • [[Install]]
  • [[Schema Analysis]]
  • [[Actor]]
  • [[Post]]
  • [[Collection]]

Extra

  • [[Support]]
  • [[Features]]
  • [[Credits]]

kind

  1. user
  2. page
  3. org
  4. channel
  5. blog

id

service + kind + x_actor_id
service kind
facebook user
page
flickr user
foursquare user
github user
org
google user (g+,gmail)
channel (youtube)
blog (blogger)
instagram user
linkedin user
org
microsoft user
vimeo user
tumblr blog
twitter user

oauth.service

  1. Facebook
  2. Flickr
  3. Foursquare
  4. GitHub
  5. Google
  6. Instagram
  7. LinkedIn
  8. Microsoft
  9. Vimeo
  10. Tumblr
  11. Twitter

Todo

  • Soundcloud
  • Behance
  • 500px
  • Dropbox

Domain names

  • rime.co, *.rime.co
postmaster@rime.co
admin@rime.co
suvozit@live.com
webmaster@rime.co
hostmaster@rime.co
administrator@rime.co

Step 1: Select delivery method

Web

Step 2: Create distribution

Origin Settings

Origin Domain Name rime.s3.amazonaws.com #
Alternate Domain Names usercontent.rime.co

Route 53

Name: rime.co.
Type: A - IPv4 address
Alias: Yes
Alias Target: -- CloudFront Distributions -- usercontent.rime.co (XXXXXXXXXX.cloudfront.net)
Name Type Value
rime.co A ALIAS XXXXXXXXXX.cloudfront.net.

Endpoint

https://material.io/icons/
http://schema.org/docs/full.html

No. Type icon icon schema.org
1 Album photo_album CreativeWork / WebPage / CollectionPage / ImageGallery
2 Article subject CreativeWork / Article
3 Audio music_note CreativeWork / MediaObject / AudioObject
4 Code code CreativeWork / SoftwareSourceCode
5 Event event Event
6 Group group CreativeWork / WebPage
7 Photo photo_camera CreativeWork / Photograph
8 Playlist playlist_play CreativeWork / MusicPlaylist
9 Poll poll CreativeWork / Comment / Answer
10 Product shopping_cart Product / IndividualProduct
11 Question question_answer CreativeWork / Question
12 Quote format_quote CreativeWork / Conversation
13 Video videocam CreativeWork / MediaObject / VideoObject
  • Status | CreativeWork / Message / EmailMessage
  • Chat | Tumblr chat | CreativeWork / Conversation
  • Answer | Tumblr Ask, Quora, StackOverflow (accepted/best answers) | CreativeWork / Comment / Answer
  • Question | Quora, StackOverflow Questions | CreativeWork / Question

Related schemas

  • CreativeWork / Article / BlogPosting
  • CreativeWork / Blog
  • CreativeWork / WebPage / CollectionPage / ImageGallery,VideoGallery
  • CreativeWork / WebPage / QAPage
  • CreativeWork / WebPage / SearchResultsPage

AWS

  • PCAX86YA697TUC 100 USD
  • PC2UDBLJY6DCT0D 100 USD
  • PC1WI1FIQ29H79Y 100 USD

Google AdWords

  • 66WRY-MV7QT-HGVQ 2000 INR
  • AM4XV-WLGFX-CNM4 INR 2000* of free online advertising credit when you spend your first INR 500.

GoDaddy SSL

  • cjc28c Save 28% Off Your Order
  • cjc25ssl Save 25% Off All SSL Certificates:
  • FB2SSLX20 Save 20% Off SSL Certificates
  • gdbbj1005 25% off your next order
  • GDBBF1005 15% off your next order
  • GDBBA1005 20% off your next order
  • gdbba22 10% off your next order
  • GDBBD1901 25% off your next purchase of $75 or more
  1. Create Key Pair my-key-pair
  2. Use the chmod command to make sure your private key file isn't publicly viewable. For example, if the name of your private key file is my-key-pair.pem, use the following command:
chmod 400 /drag-n-drop/my-key-pair.pem

Old server

Server login

ssh -i key.pem ubuntu@PHPMYADMIN_SERVER_IP_1

Export

mysqldump --host=mydbinstance.abcdefghijkl.us-east-1.rds.amazonaws.com --user=awsuser --password=mypassword mydb > db_backup.sql
ls -a -l

Move to html

mv db_backup.sql /srv/www/phpmyadmin/current
cd /srv/www/phpmyadmin/current/
ls -a -l

URL http://PHPMYADMIN_SERVER_IP_1/db_backup.sql

New server

Download

wget http://PHPMYADMIN_SERVER_IP_1/db_backup.sql

Import

mysql --host=mydbinstance.abcdefghijkl.us-east-1.rds.amazonaws.com --user=awsuser --password=mypassword mydb < db_backup.sql

References:

S3

https://cyberduck.io/

Weblog

  • Collect broken links
  • Embed url
  • Auto Thumbnail (Images Cached, positioned, repetation removed [via giphy])
  • Cross-post (canonical + title, match in a while)
  • Refresh
  • Repost
  • Cache
  • Real time (not required now!!!)
  • Title, description, body
  • SEO (AMP, Schema, Social Tags)
  • Analytics (Google analytics, events, tag manager)
  • Collection
  • Topics
  • Search
  • RSS (all, collection, topics)
  • Random
  • About (life events, institutions - school, work, places)
  • Places
  • Contact (Notification, Invite)
  • Custom Domain
  • PNG, JPG (logo, name, title)

WIP

Concepts

install

brew install gearman

edit

nano /usr/local/etc/php/5.6/php.ini
# extension=gearman.so

run

To have launchd start gearman at login:
  ln -sfv /usr/local/opt/gearman/*.plist ~/Library/LaunchAgents
Then to load gearman now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.gearman.plist
Or, if you don't want/need launchctl, you can just run:
  gearmand -d

IAM

Create User

GitHub

Inline Policies

OpsWorks-CreateDeployment

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "opsworks:CreateDeployment",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "opsworks:UpdateApp",
      "Resource": "*"
    }
  ]
}

GitHub - Services AWS OpsWorks

https://github.com/suvozit/rime/settings/hooks

App [[OpsWorks: App]] OpsWorks ID
Stack [[OpsWorks: Stack]] OpsWorks ID
Branch name master
GitHub api url
Aws access key ABCDEFGHIJKLMNOPQRST
Aws secret access key ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
GitHub token
  • Active

Welcome to the Rime wiki!

<!doctype html>

         _ .....Hit me I dare you......ya ya ya....
        / \
    __/    \_
   /_  -  \  \                      ,:',:`,:' ........Oh yeah, yes you...HA!
  / / /     \ \                  __||_||_||_||___
 |    |     / |             ____[""""""""""""""""]___
 /   /     \   \            \ " '''''''''''''''''''' \
 ~~^~^~HZ~~^~^~^~~^~^~^~~jgs~^~^~^^~^~^~^~^~^~^~^~~^~^~^~^~~^~^

                  _
                 / \ ......See, I told you.....
             __/    \_
            /_  -  \  \                   ____  ..... Oh, heck...gulp..glub..
           / / /     \ \            ,' ._|    \
          |   |     /  |            :__: :    |
         /   /      \   \            --: :    |\o
~~^~~^~~~~^^~^~^~^~^~^~~~^~~^~HZ~~^~^~~~^~^~^^~~~~^~^~^~~^^^~^^^
         _____ _           
        | __  |_|_____ ___ 
        |    -| |     | -_|
        |__|__|_|_|_|_|___|

  -- http://ascii.co.uk/art/titanic 

Page rendered in 1.0226 seconds, 3.51MB size.
CodeIgniter Version 3.1.3.

Group

  • Worker-Server

Worker-Server

  • AmazonS3FullAccess

User

User Name Group
GitHub.log-pixel
log-pixel Worker-Server
rime Worker-Server
ses-smtp-user.20150101-123456

GitHub.log-pixel

See [[GitHub#github-deploy]]

log-pixel

https://github.com/suvozit/log-pixel/blob/master/application/config/api_key.php#L32-L41

rime

https://github.com/suvozit/log-pixel/blob/master/application/config/production/api_key.php#L32-L41

/*
|--------------------------------------------------------------------------
| AWS SDK
|
| http://aws.amazon.com/sdk-for-php/
|--------------------------------------------------------------------------
*/
$config['aws_account_id'] = '012345678901';
$config['aws_access_key'] = 'ABCDEFGHIJKLMNOPQRST';
$config['aws_secret_key'] = '∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗';

ses-smtp-user.20150101-123456

See [[SES#smtp-settings]]

https://github.com/suvozit/log-pixel/blob/master/application/config/production/email.php#L23-L24

$config['smtp_user']  = 'ABCDEFGHIJKLMNOPQRST';
$config['smtp_pass']  = '∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗';

https://iframely.com/docs/host

  1. Download latest itteco/iframely/releases
  2. Update config.local.js.SAMPLE to config.local.js
  3. Zip and upload
cd /Users/suvozit/Downloads/iframely-1.0.4
zip -r iframely-1.0.4.zip .

Elastic Beanstalk

Application information

Application name: Iframely

Environment information

Environment name: iframely
Domain: iframely.us-east-1.elasticbeanstalk.com
Description: Embeds codes for today's Internet

Base configuration

Platform: Node.js
Application code: https://s3.amazonaws.com/rime/iframely-1.0.4.zip

screen shot 2017-02-21 at 9 30 39 pm itteco/iframely#154

Software Configuration

screen shot 2017-02-24 at 1 27 27 pm 2 Container Options - Node command: npm start

  1. [[Route 53]]
  2. [[EC2: Key Pairs]]
  3. [[RDS]]
  4. [[phpMyAdmin]]
  5. [[OpsWorks: Stack]]
  6. [[OpsWorks: App]]
  7. [[Certificate Manager]], [[Load Balancer]]
  8. [[OpsWorks: Layers and Instances]]
  9. [[S3]]
  10. [[SNS, SQS]]
  11. [[SES]]
  12. [[GitHub Deploy]]

More

  • [[Export Import DB]]
  • [[Installing Elasticsearch and Kibana]]
  • [[CloudFront]]
  • [[IAM]]
  • [[Security Groups]]
  • [[Iframely]]

Examples

s3://elasticmapreduce/bootstrap-actions/configure-daemons
s3://elasticmapreduce/bootstrap-actions/run-if
s3://elasticmapreduce/bootstrap-actions/download.sh

s3://elasticmapreduce/bootstrap-actions/download.sh

#!/bin/bash
set -e
wget -S -T 10 -t 5 http://elasticmapreduce.s3.amazonaws.com/bootstrap-actions/file.tar.gz
mkdir -p /home/hadoop/contents
tar -xzf file.tar.gz -C /home/hadoop/contents

InstallElasticsearch

s3://suvozit/emr-bootstrap-actions/elasticsearch/elasticsearch_install.rb

InstallNginxKibana

s3://suvozit/emr-bootstrap-actions/elasticsearch/kibananginx_install.rb

References

Classic Load Balancer

Step 1: Configuration

Load Balancer name: PHP-LB
Create LB Inside: My Default VPC Default

Listener Configuration:

Load Balancer Protocol Load Balancer Port Instance Protocol Instance Port
HTTP 80 HTTP 80
HTTPS 443 HTTP 80

Step 2: Security Groups

Assign a security group: Select an existing security group

Security Group ID Name Description
sg-XXXXXXXX default AWS-OpsWorks-LB-Server

Step 3: Security Settings

Choose an existing certificate from AWS Certificate Manager (ACM)

Step 4: Health Check

Ping Protocol TCP
Ping Port 80

Route 53

Name: rime.co.
Type: A - IPv4 address
Alias: Yes
Alias Target: -- Elastic Load Balancers -- PHP-LB
Name Type Value
rime.co A ALIAS dualstack.php-lb-XXXXXXXXXX.us-east-1.elb.amazonaws.com.

OpsWorks App Deploy

https://help.github.com/articles/generating-ssh-keys/

id_rsa      -----BEGIN RSA PRIVATE KEY-----
id_rsa.pub  ssh-rsa

GitHub - Deploy Keys

https://github.com/suvozit/rime/settings/keys

Title AWS OpsWorks
key ssh-rsa

Settings

Name rime
Type PHP
Document root Default

Application Source

Repository type Git
Repository URL git@github.com:suvozit/rime
Repository SSH key Protected value -----BEGIN RSA PRIVATE KEY-----
Branch/Revision master

Environment Variables

-

Add Domains

-

SSL Settings

Enable SSL No Default

Add Layer

OpsWorks PHP App Server

Layer type PHP App Server
Elastic Load Balancer PHP-LB ([[Load Balancer]])
Instance Shutdown Behavior Wait Default

Recipes

Repository URL https://github.com/RimeOfficial/opsworks-cookbooks
Setup
Configure
Deploy composer::install, phpenv::php_env_vars, directory::default
Undeploy
Shutdown

OpsWorks PHP Worker Server

Layer type Custom
Name PHP Worker Server
Short Name pws

Recipes

Repository URL https://github.com/RimeOfficial/opsworks-cookbooks
Setup mod_php5_apache2
Configure php::configure
Deploy deploy::php, composer::install, phpenv::php_env_vars, directory::default, cronjobs::default
Undeploy deploy::php-undeploy
Shutdown apache2::stop

Instances PHP App Server

Hostname paro Default
Size t2.micro
Subnet Default
Scaling type 24/7 Default
Hostname dev-d Default
Size t2.medium
Subnet Default
Scaling type Load-based

Instances PHP Worker Server

Hostname chandramukhi Default
Size t2.micro
Subnet Default
Scaling type 24/7 Default

Settings

Name Rime
Region US East (N. Virginia)
VPC Default
Default subnet Default
Default operating system Ubuntu 14.04 LTS
Default root device type EBS backed
Default SSH key suvozit

Configuration management

Chef version 11.10
Use custom Chef cookbooks Yes
Repository type Git
Repository URL https://github.com/RimeOfficial/opsworks-cookbooks
Repository SSH key
Branch/Revision master
Manage Berkshelf No

Advanced options

Default root device type EBS backed Default
IAM role aws-opsworks-service-role Default
IAM instance profile aws-opsworks-ec2-role Default
Hostname theme Baked Goods
OpsWorks Agent version Auto-update Use latest version Default
Custom JSON blob/master/opsworks/custom.json

Replace:
ci_email_smtp_user, ci_email_smtp_pass, db_hostname
aws_account_id, aws_access_key, aws_secret_key
Permissions: AmazonS3FullAccess, AmazonSESFullAccess, AmazonSQSFullAccess

blob/master/opsworks/custom.json#L12-L14

Security

Use OpsWorks security groups Yes Default

OpsWorks

Stack

Name phpMyAdmin
Region US East (N. Virginia)
Default operating system Ubuntu 14.04 LTS
Default SSH key suvozit
Hostname theme Greek Deities

Layer

Layer type PHP App Server

App

Name phpMyAdmin
Repository URL https://github.com/RimeOfficial/phpMyAdmin
Branch/Revision master
Environment Variables
Key Value
host mydbinstance.XXXXXXXXXXXX.us-east-1.rds.amazonaws.com
blowfish random_md5_hash

phpMyAdmin

http://instance.ip/phpmyadmin

EC2 Security Group

Name RDS
Group Name rds-launch-wizard
Description Created from the RDS Management Console

Inbound

Type Protocol Port Range Source
MYSQL/Aurora TCP 3306 sg-XXXXXXXX (AWS-OpsWorks-PHP-App-Server)
MYSQL/Aurora TCP 3306 sg-XXXXXXXX (AWS-OpsWorks-Custom-Server)

Outbound Default

Type Protocol Port Range Source
All traffic All All 0.0.0.0/0

method

  1. feed = list = expecting all type
  2. collection = concerntrated type or a single type
    collection = concerntrated to a single type
    collection = type_list

id

[[actor#id]] + method + x_post_id

service kind post contact about
Facebook user list friends,likes about
page list likes about
Flickr user album_list following
Foursquare user list following
GitHub user list following
org list
Google user (g+,gmail) list email,following about
channel (youtube) list following
blog (blogger) list following
Instagram user list following
LinkedIn user following about
org about
Microsoft user email
Vimeo user list following
Tumblr blog list
Twitter user list following

Collections

ID Name icon type
1 · Album photo_album
2 · Article subject
3 · Audio music_note
4 · Code code
5 · Event event
6 · Group group
7 · Photo photo_camera
8 · Playlist playlist_play
9 · Poll poll
10 · Product shopping_cart
11 · Question question_answer
12 · Quote format_quote
13 · Video videocam
- feed
- timeline
- channels type playlist.video, playlist.multimedia,
- album

instagram feed
twitter feed
facebook feed, about.achivements
google+ feed
youtube feed, collection
blogger feed
flickr feed, collection
vimeo feed, collection

feed = expecting all type (basic)
collection = concerntrated = a single type
Service Post type
tumblr Photo photo
Text article / status
Quote status
Audio audio / status
Video video / status
Chat status
Question status
Link status

About

  • Education Experience
  • Work Experience
  • Milestones
Service Post About
facebook:user videos, albums, status messages Education Experience, Work Experience
facebook:page videos, albums, status messages Milestones
flickr:user albums
foursquare:user checkins
github:user repos, gists
github:org repos
google:user photos, poll, status messages organizations
google:channel videos, playlists
google:blog articles
instgram:user photos
linkedin:user Education Experience, Work Experience
linkedin:user Milestones
microsoft:user contacts
vimeo:user videos, playlists, channels
tumblr:blog articles, photos, videos, sounds, status msgs, Asks
twitter:user photos, videos, polls, status msgs

Author

wall post, organization, repost

Video

looping, slow mo, 360, 3D

Parameter Group

Parameter Group Family mysql5.7
Name default
Description Default parameter group for MySQL 5.7
Parameter Group Family mysql5.7
Name basic
Description default-copy

Parameters Comparison

Parameter basic default
slow_query_log 1 <engine-default>
innodb_autoinc_lock_mode 0 <engine-default>

Instance

DB Details

Instance Specifications

DB Engine mysql
License Model General Public License
DB Engine Version 5.7.16
DB Instance Class db.t2.micro
Multi-AZ Deployment No
Storage Type General Purpose (SSD) Default
Allocated Storage* 20 GB

Settings

DB Instance Identifier* mydbinstance
Master Username* awsuser
Master Password* mypassword

Advanced Settings

Network & Security

VPC* Default VPC Default
Subnet Group default Default
Publicly Accessible Yes Default
Availability Zone No Preference Default
VPC Security Group(s) Create new Security Group

Database Options

Database Name mydb
Database Port 3306 Default
DB Parameter Group basic
Option Group default:mysql-5-7 Default

Backup

Default

Maintenance

Default


Config

Update db_hostname in ../blob/master/opsworks/custom.json#L9

Hosted Zone

Domain Name Type Record Set Count Comment Hosted Zone ID
rime.co. Public 14 Connecting World's Information

Record Set

NS Nameserver (Default)

Name Type Value
rime.co. NS ns-1111.awsdns-11.co.uk.
ns-2222.awsdns-22.org.
ns-3333.awsdns-33.com.
ns-4444.awsdns-44.net. Default
# GoDaddy NS
NS-1111.AWSDNS-11.CO.UK
NS-2222.AWSDNS-22.ORG
NS-333.AWSDNS-33.COM
NS-444.AWSDNS-44.NET

SOA (Default)

Name Type Value
rime.co. SOA ns-1111.awsdns-11.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 Default

CNAME Subdomain

Name Type Value
www.rime.co. CNAME rime.co

MX Mail Exchange

Incoming mails

Name Type Value
rime.co. MX 0 smtp.asia.secureserver.net.
10 mailstore1.asia.secureserver.net.
  • [[Load-Balancer#route-53]]
  • [[SES]]

Buckets

  • Development suvozit
  • Production rime

Bucket Policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Allow Public Access to All Objects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bucket/*"
        }
    ]
}

CROS Configuration

<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
    </CORSRule>
</CORSConfiguration>
http://bucket.s3-us-east-1.amazonaws.com/object
http://s3-us-east-1.amazonaws.com/bucket/object

Cyberduck

365x24x60x60 = 3,15,36,000 sec

defaults write ch.sudo.cyberduck s3.metadata.default \
"Cache-Control=public,max-age=31536000 Creator=Cyberduck"
ci_sessions
user
|
+---user_login
+---user_autologin
|
+---user_email
+---user_email_subscription
+---user_task_vars
|
+---people_graph = subscription
|
|   oauth
|   |
|   +---oauth_cache
|   |
|   |   actor
|   |   |
|   +---+---oauth_actor
|   |   |
+---+---+---actor_user
+---+---+---actor_user_guest
|       |
|       +---actor_method
|       |
|       +---actor_about
|       +---post
|       +---post_tag
|       +---contact_email
|       +---contact_actor
|
+---promo_invite
+---promo_feedback

Custom

Default OpsWorks

  • AWS-OpsWorks-Default-Server [[OpsWorks#php-app-server]], [[OpsWorks#php-worker-server]]
  • AWS-OpsWorks-Custom-Server [[OpsWorks#php-worker-server]]
  • AWS-OpsWorks-PHP-App-Server [[OpsWorks#php-app-server]]
  • AWS-OpsWorks-LB-Server [[Load Balancer#security-group]]

Domains

Verify a New Domain

Domain: example.com

  • Generate DKIM Settings

Route 53 - Records

Name Type Value
_amazonses.example.com. TXT "XXXXX"
XXXXX._domainkey.example.com. CNAME XXXXX.dkim.amazonses.com
XXXXX._domainkey.example.com. CNAME XXXXX.dkim.amazonses.com
XXXXX._domainkey.example.com. CNAME XXXXX.dkim.amazonses.com

Email Addresses

Verify a new Email Address

Email Address: postmaster@example.com

Notifications

  • SNS Topic Configuration: notifications [[SNS, SQS]]
  • Email Feedback Forwarding: Disable

DKIM

Enable

Domain SPF

Name Type Value
example.com. TXT "v=spf1 a mx include:amazonses.com ~all"

SNS Topics

  • ses-notifications

SQS Queues

Region: US East (N. Virginia) Default

  • ses-notifications

Subscribe the queues to respective notification topics.

GoDaddy

Phone

  • 040-49187600
  • 18001210111

Email

  • support@in.godaddy.com
  • support@godaddy.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment