Supporting the third sector with their technology challenges

A passion for solving problems

  • Update Plesk Docker Images

    Docker > Settings > Overview > Recreate, making sure that “Reset variable to default” is not checked.

    Finally start.

  • Multipass cloud-init

    Multipass is pretty useful but what a pain this was to figure out, due to Ubuntu’s Node.js package not working with AWS-CDK.

    Multipass lets you manage VM in Ubuntu and can take cloud-init scripts as a parameter. I wanted an Ubuntu LTS instance with AWS CDK, which needs Node.js and python3-venv.

      - python3-venv
      - unzip
    package_update: true
    package_upgrade: true
      - path: "/etc/environment"
        append: true
        content: |
          export PATH=\
      - wget 
      - tar xvf node-v20.11.1-linux-x64.tar.xz -C /opt
      - export PATH=/opt/node-v20.11.1-linux-x64/bin:$PATH
      - npm install -g npm@latest
      - npm install -g aws-cdk
      - git config --system "Dougie Richardson"
      - git config --system ""
      - git config --system init.defaultBranch main
      - wget
      - unzip
      - ./aws/install

    Save that as cdk.yaml and spin up an new instance:

    multipass launch --name cdk --cloud-init cdk.yaml

    There’s a couple useful things to note if you’re checking this out:

    • Inside the VM there’s a useful log to assist debugging /var/log/cloud-init-output.log.
    • While YAML has lots of ways to split text over multiple lines, when you don’t want space use a backslash.

    Shell into the new VM with multipass shell cdk, then we can configure programmatic access and bootstrap CDK.

    aws sso configure
    aws sso login --profile profile_name
    aws sts get-caller-identity --profile profile_name
    aws configure get region --profile profile_name

    The last two commands give the account and region to bootstrap:

    cdk bootstrap aws://account_number/region --profile profile_name

  • Another site live!

    Tarbat Discovery Centre requested a new website for their Discovery Centre at the start of the year, which is now deployed!

    Working closely with a designer was a great experience and the charity are pleased with the result.

    Avoiding complexity and using hosted solutions minimise maintenance and training for the charity, allowing them to focus on their core mission.