Skip to content

Install Guide

Minhyeok LEE edited this page Nov 30, 2023 · 1 revision

Tested on: Ubuntu 20.04 LTS

  • environment list(tested)

    Pre-installation is required below.

    • Go ( go1.21.0 >)
    • Buffalo ( v0.18.8 > )
    • postgres
    • nvm ( 0.33.11 > )
      • node ( v18.18.2 > )
      • npm ( 9.8.1 > )
    • keycloak ( 22.0.3 > )
      • openjdk ( 17 > ) or docker
  • install Go [[Go official install link](https://go.dev/doc/install)]

    1. Remove any previous Go installation by deleting the /usr/local/go folder (if it exists), then extract the archive you just downloaded into /usr/local, creating a fresh Go tree in /usr/local/go:

      $ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
      

      (You may need to run the command as root or through sudo).

      Do not untar the archive into an existing /usr/local/go tree. This is known to produce broken Go installations.

    2. Add /usr/local/go/bin to the PATH environment variable.

      You can do this by adding the following line to your $HOME/.profile or /etc/profile (for a system-wide installation):

      export PATH=$PATH:/usr/local/go/bin
      

      Note: Changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, just run the shell commands directly or execute them from the profile using a command such as source $HOME/.profile.

    3. Verify that you've installed Go by opening a command prompt and typing the following command:

      $ go version
      # go version go1.21.0 linux/amd64
      # go1.21.0 > tested
      
    4. Confirm that the command prints the installed version of Go.

  • install Buffalo [[buffalo official install link](https://gobuffalo.io/documentation/getting_started/installation/)]

    $ wget https://github.com/gobuffalo/cli/releases/download/v0.18.14/buffalo_0.18.14_Linux_x86_64.tar.gz
    $ tar -xvzf buffalo_0.18.14_Linux_x86_64.tar.gz
    $ sudo mv buffalo /usr/local/bin/buffalo
    
    • check installation

      $ buffalo version
      # INFO[0000] Buffalo version is: v0.18.8
      # v0.18.8 > tested
      
      $ buffalo
      
      Build Buffalo applications with ease
      
      Usage:
        buffalo [command]
      
      Available Commands:
        build       Build the application binary, including bundling of webpack assets
        completion  Generate the autocompletion script for the specified shell
        db          [PLUGIN] [DEPRECATED] please use `buffalo pop` instead.
        destroy     Destroy generated components
        dev         Run the Buffalo app in 'development' mode
        fix         Attempt to fix a Buffalo applications API to match version v0.18.6
        generate    Generate application components
        help        Help about any command
        info        Print diagnostic information (useful for debugging)
        new         Creates a new Buffalo application
        plugins     tools for working with buffalo plugins
        pop         [PLUGIN] A tasty treat for all your database needs
        routes      Print all defined routes
        setup       Setup a newly created, or recently checked out application.
        task        Run grift tasks
        test        Run the tests for the Buffalo app. Use --force-migrations to skip schema load.
        version     Print the version information
      
      Flags:
        -h, --help   help for buffalo
      
      Use "buffalo [command] --help" for more information about a command.
      
  • install nvm [[nvm install git](https://github.com/nvm-sh/nvm)]

    • install check & setting

      # install check
      $ nvm --version
      # 0.33.11
      
      $ nvm install Hydrogen
      $ node -v 
      # v18.18.2
      $ npm -v
      # 9.8.1
      
  • install Keycloak [[keycloak official install](https://www.keycloak.org/)]

    • keycloak-22.0.3/conf/keycloak.conf

      # keycloak-22.0.3/conf/keycloak.conf
      
      # Basic settings for running in production. Change accordingly before deploying the server.
      
      # Database
      
      # The database vendor.
      db=postgres
      
      # The username of the database user.
      db-username={DB user}
      
      # The password of the database user.
      db-password={DB user password}
      
      # The full database JDBC URL. If not provided, a default URL is set based on the selected database vendor.
      db-url=jdbc:postgresql://{DB host}/{DB name}
      
      # Observability
      
      # If the server should expose healthcheck endpoints.
      #health-enabled=true
      
      # If the server should expose metrics endpoints.
      #metrics-enabled=true
      
      # HTTP
      
      # The file path to a server certificate or certificate chain in PEM format.
      https-certificate-file=${kc.home.dir}conf/server.crt.pem
      # The file path to a private key in PEM format.
      https-certificate-key-file=${kc.home.dir}conf/server.key.pem
      
      # The proxy address forwarding mode if the server is behind a reverse proxy.
      #proxy=reencrypt
      
      # Do not attach route to cookies and rely on the session affinity capabilities from reverse proxy
      #spi-sticky-session-encoder-infinispan-should-attach-route=false
      
      # Hostname for the Keycloak server.
      #hostname=myhostname
      

Table of contents

Clone this wiki locally