gill.nu

  • start
  • content
  • about
  • Unraid Tinyauth v5 migration

    I’ve been running Tinyauth for quite some time and it’s been working great. Last night something broke after backup and the regular auto update/start of the docker image. Checking Tinyauth site https://tinyauth.app/docs/breaking-updates/4-to-5/ it’s clear some configuration changes is needed to go from v4 to v5.

    To get Tinyauth up and running until the configuration changes were done I changed docker repository from ghcr.io/steveiliop56/tinyauth:latest to ghcr.io/steveiliop56/tinyauth:v4

    Reading at https://forums.unraid.net/topic/133764-support-grtgbln-docker-templates/page/14/ the unraid repository owner grtgbln had made an answer on the issues: “I don’t see any documented changes in terms of Docker container setup for v5. Issues with the config or anything inside the container are best directed at the upstream developer: https://github.com/steveiliop56/tinyauth/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen“.

    I continued reading documentation at https://tinyauth.app and it states that the Enviromental Variables has changed in v5.

    I therefore do not agree with grtgbln’s answer on the issue and took the time to see if I could fix it myself.

    Below is an example how my old Tinyauth config looks in Unraid (some stuff anonymized with xxxxxxxxxxx).

    v4 config
    docker run
      -d
      --name='Tinyauth'
      --net='br0'
      --ip='xxx.xxx.xxx.xxx'
      --pids-limit 2048
      -e TZ="Europe/Berlin"
      -e HOST_OS="Unraid"
      -e HOST_HOSTNAME="Tower"
      -e HOST_CONTAINERNAME="Tinyauth"
      -e 'TCP_PORT_3000'='3000'
      -e 'SECRET'='xxxxxxxxxxx'
      -e 'ROOT_URL'='xxxxxxxxxxx'
      -e 'APP_URL'='xxxxxxxxxxx'
      -e 'USERS'='xxxxxxxxxxx:xxxxxxxxxxx'
      -e 'APP_TITLE'='xxxxxxxxxxx'
      -e 'BACKGROUND_IMAGE'='/resources/bg1.jpg'
      -e 'RESOURCES_DIR'='/mnt/tinyfolder'
      -e 'PORT'='3000'
      -e 'ADDRESS'='0.0.0.0'
      -l net.unraid.docker.managed=dockerman
      -l net.unraid.docker.webui='http://[IP]:[PORT:3000]/'
      -l net.unraid.docker.icon='https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/tinyauth-icon.png'
      -l 'traefik.enable'='false'
      -v '/mnt/user/appdata/tinyauth/':'/mnt/tinyfolder':'rw' 'ghcr.io/steveiliop56/tinyauth:v4'
    4c09ad14614fbbeed2f66a0e086e53a2dd792a69ac742a30fcc5ffe2ade062b0

    To get new variables I used the Configuration Manager.

    APP_URL changed to TINYAUTH_APPURL
    USERS changed to TINYAUTH_AUTH_USERS
    APP_TITLE changed to TINYAUTH_UI_TITLE
    BACKGROUND_IMAGE changed to TINYAUTH_UI_BACKGROUNDIMAGE
    RESOURCES_DIR changed to TINYAUTH_RESOURCES_PATH
    ADDRESS changed to TINYAUTH_SERVER_ADDRESS

    Both ROOT_URL and SECRET seems untouched.

    With these new variables it’s time to change them using Unraid Web UI.
    Go to Docker page, choose edit on the TinyAuth docker object. Go to bottom and choose “Add Another Path, Port, Variable, Label or Device”.

    Add alla variables with the new name with your old data.


    When all new variables is added don’t forget to change back to the repository ghcr.io/steveiliop56/tinyauth:latest (if you manually changed it to v4).

    v5 config
    docker run
      -d
      --name='Tinyauth'
      --net='br0'
      --ip='192.168.10.125'
      --pids-limit 2048
      -e TZ="Europe/Berlin"
      -e HOST_OS="Unraid"
      -e HOST_HOSTNAME="Tower"
      -e HOST_CONTAINERNAME="Tinyauth"
      -e 'TCP_PORT_3000'='3000'
      -e 'SECRET'='xxxxxxxxxxx'
      -e 'ROOT_URL'='xxxxxxxxxxx'
      -e 'APP_URL'='xxxxxxxxxxx'
      -e 'USERS'='xxxxxxxxxxx:xxxxxxxxxxx'
      -e 'APP_TITLE'='xxxxxxxxxxx'
      -e 'BACKGROUND_IMAGE'='/resources/bg.jpg'
      -e 'RESOURCES_DIR'='/mnt/tinyfolder'
      -e 'TINYAUTH_APPURL'='xxxxxxxxxxx'
      -e 'TINYAUTH_AUTH_USERS'='xxxxxxxxxxx:xxxxxxxxxxx'
      -e 'TINYAUTH_UI_TITLE'='xxxxxxxxxxx'
      -e 'TINYAUTH_UI_BACKGROUNDIMAGE'='/resources/bg1.jpg'
      -e 'TINYAUTH_RESOURCES_PATH'='/mnt/tinyfolder'
      -e 'PORT'='3000'
      -e 'ADDRESS'='0.0.0.0'
      -l net.unraid.docker.managed=dockerman
      -l net.unraid.docker.webui='http://[IP]:[PORT:3000]/'
      -l net.unraid.docker.icon='https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/tinyauth-icon.png'
      -l 'traefik.enable'='false'
      -v '/mnt/user/appdata/tinyauth/':'/mnt/tinyfolder':'rw' 'ghcr.io/steveiliop56/tinyauth:latest'
    07b880bd3fafc5ab541688eee8566c17470b08af83a0aec508d172c720ed1551

    Testing with the new config Tinyauth is up and running without errors with latest v5. The old Enviromental variables is still showing in Unraid but that’s something that needs to be fixed by repository owner. Next time I might start my own Unraid repository instead of relying on others, could be something new to learn.

    Just want to add that I’m grateful for all the work repository owners like grtgbl do. It must be time consuming and it can’t be easy to keep them all up to date.

    Johan Gill

    10 April 2026
    IT
    No comments on Unraid Tinyauth v5 migration
    Docker, English content, IT, Repository, Tech, Unraid
  • tactics.gill.nu

    Skapade en hemsida för att kunna spela tactics för att slippa behöva komma ihåg allt i huvudet eller använda papper och penna.
    Går att köra direkt på https://tactics.gill.nu och fungerar bra med surfplattorna jag testat på.

    • Tactics-regler så som jag lärt mig av brorsan, dessa som används på Carlstad Dart Club (CDC)
    • Ljust/Mörkt läge
    • Information med spelregler och förklaring av ikoner
    • Fungerar bra på de surfplattor jag testat (Android och iPad)

    Mörkt läge
    Mörkt läge
    Ljust läge
    Ljust läge

    Kommer lägga upp koden på min GitHub när jag har tid över och förbättrat viss CSS-kod. Finns vissa förbättringar som behöver genomföras för plattor med låg upplösning och för spelinstruktionerna.

    Har du förslag på förbättringar eller något annat du vill kommentera så kan du alltid skicka ett mejl till johan@gill.nu eller kommentera direkt i detta inlägg.

    Johan Gill

    22 March 2026
    Darts
    No comments on tactics.gill.nu
    Dart, Darts, GitHub, Swedish content, Tactics, tactics.gill.nu
  • clock_mpf

    Mission Pinball Framework doesn’t have any native way to use time and dates.
    To get around the lack of it I did my own code so I could use time and date for high scores and status screen in game.

    It works great and I share the code I wrote on my github at clock_mpf.

    clock_mpf runs as it’s own mode. I run it with game_mode: false so it can be run when my machine starts.
    Just copy the files or code from GitHub and create a clock folder inside your modes folder where you put the folders/files and then add/activate the mode in your config.yaml (or whatever file you use).

    #example of modes: in config.yaml
    modes:
      - clock #Dont forget to add me! 

    The GitHub code has some example how to use it in clock.yaml.
    Here is how it’s built…

    1. When event mode_clock_started happens it first sets the time.
    2. Event mode_clock_started starts a timer that loops and every time it completes with event timer_set_clock_time_complete it writes the time to the machine variable named time_variable.
    3. Machine variable set_date is written to every time time_variable is saved using the event time_variable_saved.
    4. You can always trigger set_date or set_clock with your own events.
      Just use event_player (or some other player) and set_date or set_clock.
    #from clock.yaml
    
    event_player:
        time_variable_saved: set_date #Set the date when time_variable is written.
        timer_set_clock_time_complete: set_clock #write time to set_clock when timer is complete.
        mode_clock_started: set_clock #At start of mode so it doesn't take 10 seconds (timers time) to set clock and date.

    set_date and set_clock writes date and time to machine variables named time_variable and date_variable. Use it in any way you want.

    #from: clock.yaml
    machine_vars:
        time_variable:
            value_type: str
            initial_value: banan
            persist: true      
        date_variable:
            value_type: str
            initial_value: banan
            persist: true     

    Questions? Make a comment.

    Johan Gill

    10 September 2025
    Pinball
    No comments on clock_mpf
    clock_mpf, English content, GitHub, Homebrew Pinball, Instruction, Mission Pinball Framework, Pinball
  • How to hide mouse cursor in Godot Media Controller

    This is a repost of my instruction that originally were posted in July 2024 and hosted at GillPinball Atlassian Confluence.
    Instruction is written for GMC/Godot Media Controller and MPF/Mission Pinball Framework (https://missionpinball.org/) but shouldn’t differ much if programing anything else in Godot.

    1. Load your MPFWindow scene in Godot.
    2. Add any Child Node, I suggest you add a label.
    3. Make the label hidden so it don’t show up in all your scenes.
    4. Right click on your Label and choose Attach script. Create the gd-script.
    5. Go to Script at the top or double click the script in the FileSystem (inside Godot).
    6. Add a function like below…. if you have another node than Label the extends differs.
    GDScript
    extends Label
    
    func _ready():
          Input.mouse_mode = Input.MOUSE_MODE_HIDDEN

    Johan Gill

    9 September 2025
    Pinball
    No comments on How to hide mouse cursor in Godot Media Controller
    English content, Godot, Homebrew Pinball, Instruction, Mission Pinball Framework, Pinball

(c) Johan Gill