Code Monkey home page Code Monkey logo

wikijs-cf-repo's Introduction

IBM Cloud Foundry public - Wiki.js deployment

This repo is an Open Toolchain definition for IBM Cloud Continuous Delivery, to deploy Wiki.js to IBM Cloud Foundry public.

This deployment assumes you have an IBM Cloud account.

For information about Wiki.js, including detailed installation steps, read the following links:

Automated deployment via IBM Cloud Continuous Delivery

Deploy to IBM Cloud Foundry

Step-by-step guidance if required:

  1. Click Deploy to IBM Cloud, this imports the Open Toolchain deployment template into IBM Cloud Continuous Delivery.
  2. Open Toolchain is imported and is complete when the page loads
    • toolchain.yml is executed first and refers to:
      • deploy.json (Page Layout)
      • locals.yml (Translation files)
      • nls/messages.yml (Text Translations)
      • pipeline.yml (Execution steps)
  3. Select the GitHub repository to clone to, and Cloud Foundry deployment target.
  4. Click "Create" to execute the toolchain, including the build pipeline and IBM Cloud Foundry public
  5. Build pipeline is executed
    • Download the latest Wiki.js release
    • Unpack the latest Wiki.js release
    • Create IBM Cloud services for Cloud Foundry app (i.e. PostgreSQL)
    • Populate Cloud Foundry manifest.yml Environment Variables with Env Var from Open Toolchain input
    • Blue-Green Deploy to Cloud Foundry (i.e. cf push)
  6. Wiki.js is running on IBM Cloud Foundry public

Manual deployment from IBM Cloud CLI

  1. Login to IBM Cloud

ibmcloud login

  1. Target the Resource Group

ibmcloud target -g resource_group

  1. Create new IBM Cloud Foundry public Organization for the RG into a specified Region (edit as required)

ibmcloud account org-create new-cf-org --region us-south

  1. Create new IBM Cloud Foundry public Space in the CF Org for the RG

ibmcloud cf create-space new-cf-space -o new-cf-org

  1. Target the new CF Org and CF Space, and set the domain to be used in connecting to Cloud Foundry. NOTE: Using ibmcloud target --cf will revert to your default domain which may not be preferred for this deployment

ibmcloud target --cf-api api.us-south.cf.cloud.ibm.com -o new-cf-org -s new-cf-space

  1. Create new PostgreSQL service named "db-psql" (edit name as required) in the Resource Group with default basic/low settings

ibmcloud resource service-instance-create db-psql databases-for-postgresql standard us-south

  1. Check the new PostgreSQL service named "db-psql" (edit name as required) is active (takes 5-15mins for production-ready PostgreSQL DB)

ibmcloud resource service-instances

  1. Create service instance alias named "db-psql" for the PostgreSQL service named "db-psql" to be used for binding the to CF App running in the CF Space

ibmcloud resource service-alias-create db-psql --instance-name db-psql

  1. Edit manifest-vars.yml file as required to change deployment names

Specify the Region and PostgreSQL database service instance name

  1. Instantiate the CF App using cf push

ibmcloud cf push --vars-file=manifest-vars.yml

  1. NOTE: In the unlikely event there is an issue with the routing for the CF App after deployment, attempt below (source: https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-update-domain)

ibmcloud cf map-route wikijs-cf us-south.cf.appdomain.cloud --hostname wikijs-cf


NOTES:

  • IBM Cloud Resource Groups cannot be deleted
  • Within an IBM Cloud Resource Group, Cloud Foundry Orgs cannot be deleted
  • System Domains used for CF Apps are associated to the Account's default region (e.g accounts from EU would use eu-de.cf.appdomain.cloud, and accounts from US would use us-south.cf.appdomain.cloud)
  • Use the IBM Cloud CLI to list all IBM Cloud Foundry public marketplace services to attach to CF Apps with $ ibmcloud cf marketplace | awk -F' ' '{print $1}'

wikijs-cf-repo's People

Contributors

ngpixel avatar

Stargazers

Crystal_Alchemist avatar

Watchers

 avatar Qdigital avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.