uccser / cs-field-guide

A free online interactive resource/textbook for high school students learning about computer science.

Home Page:https://www.csfieldguide.org.nz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add more troubleshooting regarding installation

Yamboy1 opened this issue · comments

Description

There's a lot of troubleshooting that we need to add, mainly regarding installation and permissions.

Code of Conduct

  • I agree to follow this project's Code of Conduct

I'm not sure how much of this is already known, but here are some issues I had with installation, and the somewhat hacky workarounds I found for them:

  • The ./dev scripts of course don't run in the default Windows terminal, but they run fine through Git Bash with one exception: I needed to change / to ./ in front of /make-interactive-thumbnails.js in cmd_make_interactive_thumbnails(), because otherwise Git Bash tries to run C:/Program Files/Git/make-interactive-thumbnails.js. (It looks like this behaviour can be turned off in Git Bash by first running export MSYS_NO_PATHCONV=1.)

  • I needed to run docker network create uccser-development-stack before running the ./dev scripts, to prevent the error network uccser-development-stack declared as external, but could not be found.

  • As far as I can tell, accessing https://cs-field-guide.localhost requires starting a Traefik service that isn't configured anywhere in this repository. I added the following service to docker-compose.local.yml and then ran ./dev start again, after which I could access https://cs-field-guide.localhost in the browser. The commented lines allow debugging Traefik at localhost:8080. This config doesn't set up any SSL certificates, so you still have to bypass the security warnings in the browser.

    traefik:
        image: traefik:latest
        command:
            - --providers.docker=true
            - --providers.docker.exposedbydefault=false
            - --entrypoints.web-secure.address=:443
            # - --api.insecure=true
        ports:
            - 443:443
            # - 8080:8080
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock:ro
        networks:
            - uccser-development-stack

I'm not sure these tips are ready to put straight into the troubleshooting guide, as I feel that these steps might not be necessary with some tweaks to the setup files, but since I came to GitHub issues looking for help getting set up and I found this issue at the top, I figured I would contribute to it with what I found to work for me.

Oh, I see now - I'd read the installation guide in this repository, but missed the separate installation guide for the UCCSER dev stack, which is expected to be installed first. Oh well, at least I learnt a bit about Traefik and confirmed that a WSL linux distro isn't strictly needed for Windows development. I'd clearly come across the other guide before, because I fixed a spelling mistake in it, but I must have missed the part where it required installing another repo first.

The best thing that could be done is mention the UCCSER dev stack installation guide as a prerequisite at the start of this one, to save anyone else going through the above.