Category: Technology

Every post that has something got to do with technology…whether it’s to do with computers, phone, the internet. It’ll be posted here

  • Swap from SQLite to MySQL 8 for Ghost

    Swap from SQLite to MySQL 8 for Ghost

    Whenever Ghost released 5.0 back in May, they made a change so that Ghost no longer supports SQLite3 or MySQL 5.

    I didn’t mind running SQLite until the recent 5.9 changes on the Docker image for Ghost changed all of that. So now, if you try to run Ghost via SQLite3 on your Docker container, it will stop working.

    Obviously, if you still want your site to run, you would either need to continue to use a older version of Ghost (Eg. Anything <5.9) OR change to MySQL 8.

    Unfortunely, if you are running a modern day control panel like Plesk or cPanel, you may not be able to use MySQL 8 as it may have only been distrbuted with MariaDB. MariaDB is not supported on Ghost either. Solely Oracle’s MySQL 8.

    So if you already have MariaDB installed and you do not want to go through the hassle of going through the task of switching database engines and potentially causing issues for non-Ghost sites, then carry out the following:

    ⚠️
    🚨

    This will involve creating 2 Docker containers:

    • A new Ghost docker container
    • MySQL 8 Docker container.

    We’ll quicky go through the MySQL 8 Docker set up.

    • Volume Mapping should set to /var/lib/mysql and the 2nd box should be set to /var/docker/<container_name>/mysql

      • You can put this anywhere that you like, but I advise keeping it within the /var/ directory for ease of access.
    • Uncheck the ‘Automatic Port mapping’ and you will be presented with 2 ports.

      • Port 3306 would already be used by MariaDB so change this to another port. I chose 3307.
      • Port 33060 would also be used by MariaDB so change this to 33061

    Where it has Environment Variables, add the following:

    • MYSQL_ROOT_PASSWORD and in the 2nd box, add in your root password. This is caps sensitive, so ensure this is strong.

    🚨

    Now with the database server created, we will need to create the database, for this, you will need to drop into the shell for this container.

    In SSH, connect to your server and ensure that you are on root user.

    • Type docker exec -it <mysql_docker_container> /bin/bash/ eg: docker exec -it mysqleight_docker /bin/bash and press enter.
    • Type mysql -p and enter in your MYSQL_ROOT_PASSWORD that you set earlier. Now you should see mysql >
    • Type CREATE DATABASE db_name; (Replace db_name with the new name of your database)
    • Type exit; to drop out of the MySQL shell and then Ctrl/Cmd+D to drop out of the docker container.

    Now to set up Ghost.

    Create a Ghost container as per my guide here:

    Sidenote: The above link should be a bookmark and look fancy and shit, but because I am using a .blog TLD, it breaks! Mental! I have already reported it to the Ghost devs but they are not looking at it. 🙄

    When you are setting the “Environment Variables”, you will need to make the following additions:

    ⚠️
    • database__clientmysql
    • database__connection__host123.123.123.123 (Your Server IP address)
    • database__connection__userroot
    • database__connection__password**************
    • database__connection__databasedb_name
    • database__connection__port3007

    Press “OK” and this will create a blank new Ghost site.

    Create your site as per normal, then go to https://<site>/ghost/#/settings/labs to import your content.

    Then copy your content folder back to /var/ghost/my_new_awesome_ghost_container/content – Restart the Ghost container and most (if not all), your posts, content, themes and everything should be back.

    You can update the Ghost container as you would have before.

  • Quick Tip: Restore the older Volume Mixer in Windows 11

    Quick Tip: Restore the older Volume Mixer in Windows 11

    Recently Microsoft released an update for Windows 11 that doesn’t allow you to open the older version of the Volume Mixer.

    Old Volume Mixer
    New Volume Mixer within ‘Settings’

    To restore the old Volume Mixer, go to:

    Start >> Type into the search box sndvol.exe and press enter.

    This will open it up. Once it’s open, Right-click on the icon on the taskbar and click ‘Pin to taskbar’ and drag it beside the Start button for easy access.

    Way better than using the clunky ‘Settings’ menu.

  • How to upgrade Ghost 5 on Plesk Obsidian

    How to upgrade Ghost 5 on Plesk Obsidian

    This is a follow-on to my previous post about installing Ghost 5 on Plesk Obsidian. Please check it out!

    🚨

    This is actually really simple, but, we want to be protected first!

    Go into your Ghost site, click on the Cog “⚙” at the bottom and click on “Labs” and click on “Export your content” to download the content.

    When that is done, head into Plesk.

    • Go to “Docker” on the left-hand side.
    • Find your container. Eg. padraig_is_awesome
    • Click on “Details”
    • Click “Recreate”
    • Choose the latest version numbered. Do NOT choose latest
    In this example: “4.0.1 (Current)” is the version that I have installed currently and we want to choose “4.1.0” as the new version!
    • DO NOT CHECK THE BOX for “Reset variables to default”. This will break your site!
    • Click on “Recreate” and after a few seconds, it will be upgraded.

    You can check the version of your site by going into your Ghost admin panel, clicking on the avatar on the bottom left and clicking on “About Ghost”

  • How to install Ghost 5 on Plesk Obsidian

    How to install Ghost 5 on Plesk Obsidian

    This is an update to the Ghost 4 install guide from March 2021. The instructions are pretty much the same.

    UPDATE: 20th December 2022 – This guide has been updated to include instructions on implementing Ghost with MySQL 8.


    Yesterday, May 23rd, Ghost released Version 5 to everyone which contains support for new custom premium tiers, multiple newsletters, special offers, detailed audience segmenting, and expanded analytics.

    They have also expanded their ‘cards’ feature which is embeddable content native within Ghost. They have support for videos, podcasts, callouts (Which will be demonstrated in this post) and even N /// F /// T's via OpenSea URLs (but that is something that you will probably not see here)

    A full look at the changelog for Ghost 5 can be found here:

    https://ghost.org/changelog/5


    So let’s install Ghost on Plesk.

    🚨

    Prerequisites

    • Plesk Obsidian – (I am using 18.0.43)
    • Docker extension (This is already preinstalled, but you should check in the ‘Extensions’ menu to make sure)
    • MySQL 8 (MariaDB is not supported) – Ensure that you create a new database and note the details. [If you are on Debian (like me), you will need to install a MySQL 8 Docker container in order to use it]

    Installing Ghost

    • Go to “Docker
    • In the search box, type in “Ghost” and press enter.
    • You will see “ghost” with the [OFFICIAL] tag. Click the highlighted arrow and choose the latest version (This may say 5.0.0 or similar. Do not choose latest or 5.x.x-alpine)
    • This will download the image and bring you to the next screen.

    Configuring Ghost Docker Container! (😨)

    🚨

    • Container Name: Call this whatever you want, ideally something relating to your site. For this example, we’re calling this padraig_is_awesome
    • Check the box for ✅”Automatic start after system reboot
    • Un-check the box for “Automatic port mapping
      • Manual mapping: 2368 to external 32778
    • Volume mapping:
      • Container“: /var/lib/ghost/content
      • Host“: /var/ghost/padraig_is_awesome/content (replace padraig_is_awesome with your container name from the top of the page!
    • Near the bottom of the page, click on “Add Variable
    • In the blank boxes, type url in the first box and your URL (eg: https://padraig.blog in the second box (Make sure this domain is registered and added to Plesk)
    • Add the database details:
      • Ensure that the database has been created first before proceeding. The information below is just sample data and should not be used!
      • database__clientmysql
      • database__connection__host123.123.123.123 (Your Server IP address)
      • database__connection__userroot
      • database__connection__password**************
      • database__connection__databasedb_name
      • database__connection__port3006

    Your screen should look very similar to this:

    • Now click “OK” and let it install.
    • Go back to “Websites & Domains” and find your site, click on “Docker Proxy Rules

    • Click “Add Rule
      • URL: Leave this alone
      • Container: Choose your container
      • Port: This should say 2368 -> 32778
      • Click “OK

    • Give that a couple of minutes for it to work and you can access your site via https://padraig.blog/ghost (Obviously replace padraig.blog with your own domain name)

    And you should be good to go!


    Frequently Asked Questions!

    What if I want to run a 2nd or 3rd Ghost blog on Plesk?

    Repeat the steps above, the only thing to change are:

    • The “Container Name
    • The port, change it from 32778 to 32779

    What if I want it at domain.com/blog?

    • Indicate this in the url on the setup page.
    • And when you add it in the rule on the “Docker Proxy Rules” page, add blog where it says “URL

    I want to move this to/from a subdomain from/to a naked domain?

    • Go into the “Docker Proxy Rules” and remove the rule from here.
    • Go into “Docker” on the left-hand side.
    • Click on “Settings” beside the container and adjust the url in here. This will more than likely restart the container.
    • Re-add the “Docker Proxy Rules” to the new subdomain or naked domain.

    How do I access the files if I want to import themes or other content?

    • Connect via SSH to your server (FTP will not work)
    • Navigate to /var/ghost/$containername/content

    If there are any other questions, hit me up on Twitter and I will try to help where possible, but as mentioned, I am not an expert. Do not rely on me to resolve your issue. Try StackOverflow, Plesk’s forums, Ghost’s forums, Google, DuckDuckGo.


  • Choosing my next music streaming service

    Choosing my next music streaming service

    If you have been living under a rock this week, Spotify decided to choose mis-information about t h e  p l a g u e over talent that is on their platform leading to Neil Young to pull his music off the service.

    It’s now time to see what the competition has available and how they shape up against the giant that is Spotify.

    Pre-requisites:

    • Must be available at a decent price (In around €10 per month)
    • Must have a desktop application for Windows (Web player does not count)
    • Must have an Android app.

    This will be broken down in four categories.

    • Pricing – Trial and then cost afterwards
    • Availability – What songs are available.
    • Applications – What are the applications for Windows/Android like.
    • Discoverability – How can I discover new music based on what I like.

    Equipment: I am using two devices for this. A Windows 11 PC and my Samsung Galaxy A41 running Android 11.

    Pricing:

    Our benchmark throughout this is going to be Spotify of course… All pricing is correct as of 28th January 2022. I’m also not including Family Plans, Student plans or “plus” tiers. Just the bog standard plans.

    • Spotify (Benchmark) – 1 month free trial then €9.99 per month
    • Apple Music – 3 months free trial then €9.99 per month +1 point
    • Tidal – 1 month free trial* then €9.99 per month 0 points
    • Deezer – 1 month free trial then €11.99 per month -1 point

    Note: Tidal had an offer to sign up for 3 months at €1 then €9.99 a month afterwards which is what I went with. The offer may not be available if you are reading this in the future.

    While the standard here is 1 month, it’s hard to pass up Apple’s 3-month free trial and then €9.99 per month afterwards for the service. Deezer is the most expensive of the lot here.

    Current Score

    • Apple Music – 1pt
    • Tidal – 0pts
    • Deezer – -1pt

    Availability

    If you even remotely know me, you probably know that I like Japanese music. Whether that is City Pop, J-Rock, J-Pop, or game soundtracks, I like it. So it’s going to be important for these services to have a lot of the songs that I listen to available.

    A challenge that I gave the other platforms was to re-create my 2021 Spotify playlist. In here is game OST’s, WWE music, city pop, future funk and even some covers. A good selection.

    Each service must have had the exact same song, either from the same album or on another compilation, but it can’t be a cover (Unless it’s already a cover ha!)

    • Spotify (Benchmark) – 54
    • Apple Music – 54 out of 54
    • Tidal – 16 out of 54
    • Deezer – 35 out of 54

    I was blown away with Apple Music. Even going as far as turning the Hiragana/Katakana into Romaji and giving me the search results. A lot of the music that I was looking for was translated from Japanese into English. Very Impressive. +1 point

    Tidal was a massive disappointment. I had high hopes for the platform but it just couldn’t give me anything remotely close. A lot of artists were missing. -1 point

    Deezer was ‘OK’. It had some of the artists but their discography was either lacking or contained only 1 single. An example would be: GOLDEN BOMBER. It had the song that I was looking for but nothing else. No other songs, no other albums. And they weren’t alone as multiple artists only had 1 single as well. 0 points

    Current Scores:

    • Apple Music – 2pts
    • Deezer: 0pts
    • Tidal: -1pt

    Applications

    Apple Music

    • Windows – Oh boy… You are forced to use iTunes if you want to use Apple Music on Windows. There is no way around it. The interface is slow and can be clunky to use. Once you are in the ‘Browse’ page and looking at content on the Apple Music page, it’s fine.
      Download methods: .exe from the Apple website or through the Microsoft Store. -1 point
    • Android App – Probably the best way to use the service unless you are using a Mac. More modern and clearly a port of the iOS version. 0 points

    Tidal

    • Windows – Electron app. Very similar but more simplistic layout compared to Spotify. Could do with a bit more colour on it. Performs well, but doesn’t stray far from the Spotify way of displaying music.
      Download methods: .exe from the Tidal website or through the Microsoft Store.0 points
    • Android App – App seems a bit more fleshed out compared to it’s desktop counterpart. Quite responsive. Loading times are very quick when loading artists or albums. +1 point

    Deezer

    • Windows App – Electon app. Similar layout to Tidal/Spotify but it works. Exploration throughout the app is very similar to Spotify and the search is really really powerful.
      Download methods: Microsoft Store only. +1 point
    • Android App – Again, very similar to how Spotify and even Apple Music is laid out. It does the job it needs to. 0 points

    Current Scores:

    • Apple Music – 1pt
    • Tidal – 0pts
    • Deezer – 1pt

    Discoverability

    For this, I want to see how well each application shows me recommendations based on the music that I like or have put into my playlists.

    • Apple Music – They have this ‘For You’ tab in iTunes with different ‘stations’ based on artists that I liked and does a decent job of giving me “X + Similar Artists” station but it only gives a handful. More would be nice.

      If you are viewing an album, it will show you recommended artists based on the one that you are viewing. I wish this was more fleshed out to show individual tracks, perhaps albums. Room to improve. 0 points

    • Tidal – Absolutely abysmal. Other than a playlist based on the artists that I chose during the onboarding wizard, it has not recommended me anything that I haven’t listened to before.

      The ‘Explore’ tab is a bunch of R&B and Hip Hop music that is curated and presented by Tidal themselves. -1 point

    • Deezer – This has been the best of the whole lot. It is giving daily playlists (ala Daily Mix from Spotify), playlists based on the music that I have added to playlists/listened to and other artists that I may like.

      Wayyyy better than any of the other services including Spotify. +1 point

    Final Scores:

    • Deezer: 2 points
    • Apple Music: 1 point
    • Tidal: -1 point

    Conclusion:

    Deezer edged out a victory against Apple Music thanks to it’s discoverability. On the flip side, their catalogue, while containing lots of artists, has a scarce discography.

    Apple let itself down with the enforcement of an unmaintained iTunes for Windows and has a serious discoverability issue. But it makes this up in song availability.

    Tidal is just flat out poor. It couldn’t find a majority of the songs that I had in my playlists, and was missing a lot of my favourite artists and songs. And they were pushing their own curated content on top of this.

    Their only redeeming feature were the applications.


    I am going to cancel my Tidal subscription and uninstall the apps. I can see it working for certain people who are into HiFi music but for me personally, it doesn’t fit the bill.

    I’m in two minds about Deezer, while I like their discoverability, the lack of availability is really putting me off.

    And it’s the opposite for Apple Music, their discoverability is poor but availability is good. And while it’s bad, iTunes is usable for me.

    For now, I am going to give Apple and Deezer their free trial periods a chance to see if they can impress me.

  • ‘Meta’ is Facebook’s new corporate name…

    ‘Meta’ is Facebook’s new corporate name…

    Earlier today, Facebook head lizard, Mark Zuckerburg announced that the parent company for Facebook, WhatsApp, Instagram, Messenger and Oculus is now becoming ‘Meta’ as they double down in the Metaverse… meta.

    Their idea is that they can bring a real world scenario (Like your home) into the Virtual world to the point where doing work with the power of moving windows with your fingers like they do in the movies is becoming a reality and not a cliché.

    It doesn’t change the fact that Facebook are a scummy company. No changes to privacy or safety on the platform and this new ‘horizon’ gimmick is nothing more than them announcing they are doubling down on the invasion of privacy and safety.

    A scary future to say the least.