---
# System prepended metadata

title: Kelvin Devops

---

# Kelvin Devops

## The example Woocommerce website for generating installer
- Domain: https://gopig.xyz
- Admin user: admin/123456

## How to export the current runing Woocommerce website to installer
1. Go to installer `/root/repository`
2. Run `bash wpexample-code.sh`
3. The new installer already for download: https://gopig.xyz/downloads/wordpress-allinone.zip, you can see all versions before at: https://gopig.xyz/downloads

## How to install a new Woocommerce website

1. SSH to the new vps
2. Install dependencies: 
    - centos: `yum install unzip zip curl`
    - ubuntu: `sudo apt-get install -y unzip zip curl`
3. ```curl -O -k https://gopig.xyz/downloads/wordpress-allinone.zip && unzip wordpress-allinone.zip -d installer```
4. `cd installer`
5. Copy `config.example.ini` to `config.ini`
6. Modify `config.ini`:
    - Database information: `WP_DB` `WP_USER` `WP_PW`
    - Website domain: `WP_DOMAIN`
    - Proxy ports: `NGINX_HTTP_PORT`, `NGINX_HTTPS_PORT` (default value will be fine)
    - Deploy directory: `DEPLOY_DIR`
    
    6.1: Configurations for `setup-letsencrypt.sh`
        Using Let's Encrypt Certificate Authority
        - `SSL_MODE`:
            * `1`: Staging mode, recommend at the first time run script for testing purpose
            * `0`: Production mode. After staging mode succesffully using this value


    6.2: Configurations for `setup-pre-ssl.sh`
        Use this script if you has SSL certificate files, or runing without SSL
        - `SSL_CERT`: the SSL certificate file (.cert or fullchain.pem)
        - `SSL_KEY`: the SSL private key file (.key or privkey.pem)
7. Run one of setup script file base on the configurations above
- `./setup-letsencrypt.sh`
- `./setup-pre-ssl.sh`

## Update code for stores
1. `ssh root@gopig.xyz`
2. `cd repository`
3. Add new vps `url` (or `ip`) to `vps.txt` file, one line for one vps, make sure SSH public key was added to vps. To get SSH public key from example site, run `cat ~/.ssh/id_rsa.pub`, copy it then ssh to new vps via `ssh root@[vps]` and run `nano ~/.ssh/authorized_keys` (if `.ssh` directory does not exist, just run `mkdir .ssh`) and paste copied ssh public key to it
4. Run `bash update-code.sh`

## Deploy Hub
1. `ssh root@marvel-hub.com`
2. `su - kelvin`
3. `cd scripts`
### Backend
- `./deploy-backend.sh`

### Frontend
- `./deploy-dashboard.sh`