Wednesday 1 April 2020

Install Postcode.io local on Oracle cloud instance

[root@larryfree077 postcode.io]# yum repolist all
Loaded plugins: langpacks, ulninfo
repo id                            repo name                                              status
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community                            disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - Source                   disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community                            disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - Source                   disabled
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community                            disabled
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - Source                   disabled
mysql-connectors-community/x86_64  MySQL Connectors Community                             enabled:    141
mysql-connectors-community-source  MySQL Connectors Community - Source                    disabled
mysql-tools-community/x86_64       MySQL Tools Community                                  enabled:    105
mysql-tools-community-source       MySQL Tools Community - Source                         disabled
mysql-tools-preview/x86_64         MySQL Tools Preview                                    disabled
mysql-tools-preview-source         MySQL Tools Preview - Source                           disabled
mysql55-community/x86_64           MySQL 5.5 Community Server                             disabled
mysql55-community-source           MySQL 5.5 Community Server - Source                    disabled
mysql56-community/x86_64           MySQL 5.6 Community Server                             disabled
mysql56-community-source           MySQL 5.6 Community Server - Source                    disabled
mysql57-community/x86_64           MySQL 5.7 Community Server                             disabled
mysql57-community-source           MySQL 5.7 Community Server - Source                    disabled
mysql80-community/x86_64           MySQL 8.0 Community Server                             enabled:    161
mysql80-community-source           MySQL 8.0 Community Server - Source                    disabled
ol7_MODRHCK/x86_64                 Latest RHCK with fixes from Oracle for Oracle Linux 7S disabled
ol7_UEKR3/x86_64                   Latest Unbreakable Enterprise Kernel Release 3 for Ora disabled
ol7_UEKR3_OFED20/x86_64            OFED supporting tool packages for Unbreakable Enterpri disabled
ol7_UEKR4/x86_64                   Latest Unbreakable Enterprise Kernel Release 4 for Ora disabled
ol7_UEKR4_OFED/x86_64              OFED supporting tool packages for Unbreakable Enterpri disabled
ol7_UEKR4_archive/x86_64           Unbreakable Enterprise Kernel Release 4 for Oracle Lin disabled
ol7_UEKR5/x86_64                   Latest Unbreakable Enterprise Kernel Release 5 for Ora enabled:    263
ol7_UEKR5_RDMA/x86_64              Oracle Linux 7 UEK5 RDMA (x86_64)                      disabled
ol7_UEKR5_archive/x86_64           Unbreakable Enterprise Kernel Release 5 for Oracle Lin disabled
ol7_addons/x86_64                  Oracle Linux 7Server Add ons (x86_64)                  enabled:    411
ol7_developer/x86_64               Oracle Linux 7Server Development Packages (x86_64)     enabled:  1,247
ol7_developer_EPEL/x86_64          Oracle Linux 7Server Development Packages (x86_64)     enabled: 31,212
ol7_developer_UEKR5/x86_64         Oracle Linux 7Server Unbreakable Enterprise Kernel Rel disabled
ol7_developer_kvm_utils/x86_64     Oracle Linux 7Server KVM Utilities for Development and disabled
ol7_ksplice                        Ksplice for Oracle Linux 7Server (x86_64)              enabled:  5,294
ol7_kvm_utils/x86_64               Oracle Linux 7Server KVM Utilities (x86_64)            disabled
ol7_latest/x86_64                  Oracle Linux 7Server Latest (x86_64)                   enabled: 16,657
ol7_latest_archive/x86_64          Oracle Linux 7Server Latest (x86_64) - Archive         disabled
ol7_oci_included/x86_64            Oracle Software for OCI users on Oracle Linux 7Server  enabled:    154
!ol7_ociyum_config                 OCI specific release packages Oracle Linux 7Server (x8 disabled
ol7_optional_archive/x86_64        Oracle Linux 7Server Optional (x86_64) - Archive       disabled
ol7_optional_latest/x86_64         Oracle Linux 7Server Optional Latest (x86_64)          enabled: 12,151
ol7_security_validation/x86_64     Oracle Linux 7Server (x86_64) Security Validations     disabled
ol7_software_collections/x86_64    Software Collection Library release 3.0 packages for O enabled: 14,398
ol7_u0_base/x86_64                 Oracle Linux 7Server GA installation media copy (x86_6 disabled
ol7_u1_base/x86_64                 Oracle Linux 7Server Update 1 installation media copy  disabled
ol7_u2_base/x86_64                 Oracle Linux 7Server Update 2 installation media copy  disabled
ol7_u3_base/x86_64                 Oracle Linux 7Server Update 3 installation media copy  disabled
ol7_u4_base/x86_64                 Oracle Linux 7Server Update 4 installation media copy  disabled
ol7_u5_base/x86_64                 Oracle Linux 7Server Update 5 installation media copy  disabled
ol7_u6_base/x86_64                 Oracle Linux 7Server Update 6 installation media copy  disabled
ol7_u7_base/x86_64                 Oracle Linux 7Server Update 7 installation media copy  disabled
ol7_x86_64_userspace_ksplice       Ksplice aware userspace packages for Oracle Linux 7Ser disabled
packages-microsoft-com-prod        packages-microsoft-com-prod                            enabled:    542
repolist: 82,736

[root@larryfree077 opc]# yum update -y

[root@larryfree077 opc]# sudo yum install docker-engine -y

[root@larryfree077 postcodes.io]# sudo service docker start
Redirecting to /bin/systemctl start docker.service

[root@larryfree077 postcodes.io]# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
Trying to pull repository docker.io/library/hello-world ...
latest: Pulling from docker.io/library/hello-world
1b930d010525: Pull complete

============= Install docker-compose ==================

[root@larryfree077 ~]# sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   617  100   617    0     0   2715      0 --:--:-- --:--:-- --:--:--  2718
100 16.3M  100 16.3M    0     0  5269k      0  0:00:03  0:00:03 --:--:-- 6873k
[root@larryfree077 ~]# sudo chmod +x /usr/local/bin/docker-compose
[root@larryfree077 ~]# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
[root@larryfree077 ~]# docker-compose --version
docker-compose version 1.25.4, build 8d51620a
[root@larryfree077 ~]#

==================== Postcode.io Git installation ===========

[root@larryfree077 postcode.io]#
[root@larryfree077 postcode.io]# git clone https://github.com/ideal-postcodes/postcodes.io.git

[root@larryfree077 postcode.io]# git clone https://github.com/ideal-postcodes/postcodes.io.git
Cloning into 'postcodes.io'...
remote: Enumerating objects: 36, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 6777 (delta 25), reused 0 (delta 0), pack-reused 6741
Receiving objects: 100% (6777/6777), 5.23 MiB | 2.63 MiB/s, done.
Resolving deltas: 100% (4372/4372), done.
[root@larryfree077 postcode.io]# ls -lrt
total 4
drwxr-xr-x. 12 root root 4096 Apr  1 22:08 postcodes.io

=============== Install postcode.io through docker ============

[root@larryfree077 postcodes.io]# ls -lrt
total 460
-rw-r--r--. 1 root root   2605 Apr  1 22:08 README.md
-rw-r--r--. 1 root root   2520 Apr  1 22:08 Makefile
-rw-r--r--. 1 root root   1072 Apr  1 22:08 LICENSE
-rw-r--r--. 1 root root    222 Apr  1 22:08 Dockerfile.pg
-rw-r--r--. 1 root root    293 Apr  1 22:08 Dockerfile
-rw-r--r--. 1 root root  10534 Apr  1 22:08 CHANGELOG.md
-rw-r--r--. 1 root root    373 Apr  1 22:08 app.js
drwxr-xr-x. 6 root root     63 Apr  1 22:08 app
drwxr-xr-x. 2 root root   4096 Apr  1 22:08 bin
drwxr-xr-x. 2 root root   4096 Apr  1 22:08 config
-rw-r--r--. 1 root root    565 Apr  1 22:08 server.js
drwxr-xr-x. 6 root root     92 Apr  1 22:08 public
-rw-r--r--. 1 root root 396819 Apr  1 22:08 package-lock.json
-rw-r--r--. 1 root root   2789 Apr  1 22:08 package.json
-rw-r--r--. 1 root root     79 Apr  1 22:08 latest
-rw-r--r--. 1 root root    439 Apr  1 22:08 healthcheck.js
-rw-r--r--. 1 root root    453 Apr  1 22:08 docker-compose.yml
drwxr-xr-x. 5 root root     46 Apr  1 22:08 docker
drwxr-xr-x. 3 root root   4096 Apr  1 22:08 data
drwxr-xr-x. 4 root root   4096 Apr  1 22:08 test
[root@larryfree077 postcodes.io]# docker-compose up -d
Creating network "postcodesio_default" with the default driver
Pulling db (idealpostcodes/postcodes.io.db:latest)...
Trying to pull repository docker.io/idealpostcodes/postcodes.io.db ...
latest: Pulling from docker.io/idealpostcodes/postcodes.io.db
8e402f1a9c57: Pull complete
12541ba6b234: Pull complete
005e29442040: Pull complete
41c5b79c54a2: Pull complete
06a0f06e7ff2: Pull complete
220327ec1498: Pull complete
16a91839d2ba: Pull complete
863de4abb10f: Pull complete
e31248775d21: Pull complete
7bb4e245ad6b: Pull complete
d6c5a4266dcd: Pull complete
184937b6dad5: Pull complete
9974b9e4f9df: Pull complete
82cef0393e20: Pull complete
Digest: sha256:40e1ff80626844eb090f502648bdb2f2ce9987edb42e7d957d83ee5ad66963a7
Status: Downloaded newer image for idealpostcodes/postcodes.io.db:latest
Pulling api (idealpostcodes/postcodes.io:latest)...
Trying to pull repository docker.io/idealpostcodes/postcodes.io ...
latest: Pulling from docker.io/idealpostcodes/postcodes.io
aad63a933944: Pull complete
17551d40f9c7: Pull complete
1d4f35a66b6c: Pull complete
d4192b8fc2e1: Pull complete
40254495986d: Pull complete
3387a8cfe350: Pull complete
9b5f26067248: Pull complete
bacd1d89acba: Pull complete
Digest: sha256:79a8564c9deb69781397733e3378b476ef1a6b0ccbf873c9f2c521facbfcc3d0
Status: Downloaded newer image for idealpostcodes/postcodes.io:latest
Creating postcodesio_db_1 ... done
Creating postcodesio_api_1 ... done
[root@larryfree077 postcodes.io]#


================ Get postcode Info ===============

[root@larryfree077 postcodes.io]#
[root@larryfree077 postcodes.io]# curl localhost:8000/postcodes/HA27EE | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   764  100   764    0     0   1803      0 --:--:-- --:--:-- --:--:--  1823
{
  "status": 200,
  "result": {
    "postcode": "HA2 7EE",
    "quality": 1,
    "eastings": 513562,
    "northings": 187742,
    "country": "England",
    "nhs_ha": "London",
    "longitude": -0.362586,
    "latitude": 51.577113,
    "european_electoral_region": "London",
    "primary_care_trust": "Harrow",
    "region": "London",
    "lsoa": "Harrow 025C",
    "msoa": "Harrow 025",
    "incode": "7EE",
    "outcode": "HA2",
    "parliamentary_constituency": "Harrow West",
    "admin_district": "Harrow",
    "parish": "Harrow, unparished area",
    "admin_county": null,
    "admin_ward": "West Harrow",
    "ced": null,
    "ccg": "NHS Harrow",
    "nuts": "Harrow and Hillingdon",
    "codes": {
      "admin_district": "E09000015",
      "admin_county": "E99999999",
      "admin_ward": "E05000305",
      "parish": "E43000205",
      "parliamentary_constituency": "E14000732",
      "ccg": "E38000074",
      "ccg_id": "08E",
      "ced": "E99999999",
      "nuts": "UKI74"
    }
  }
}
[root@larryfree077 postcodes.io]#
[root@larryfree077 postcodes.io]#
[root@larry