docker-baserow icon indicating copy to clipboard operation
docker-baserow copied to clipboard

Update docker image

Open jwillmer opened this issue 4 years ago • 18 comments

Baserow is currently on version 1.0.1 image

but the last build of this repo is: image

jwillmer avatar Mar 08 '21 08:03 jwillmer

I can't find a new image on docker hub. Do you need to manually push it?

jwillmer avatar Mar 08 '21 20:03 jwillmer

Doesn't seem to be building properly. Will need to put out a revision release shortly. First day back from a 2 week holiday, Might be a day or two.

tiredofit avatar Mar 08 '21 20:03 tiredofit

any luck @tiredofit ?

jwillmer avatar Mar 11 '21 14:03 jwillmer

Not quite. I just switched workstatiosn to a Ryzen based system and started "fresh" for the first time in 13 years. One of the side effects from this, is my Docker (local) builds are throwing some very strange errors for users other than root. It seems when I "ADD" my install folder, whatever folders are in that folder reset the images permissions to 700 which limits the ability to use sudo and change uid, gid. That and dealing with a meltdown of a data centre, a hardware raid controller flipping bits.

Long story short, no, but soon when I have all ducks in a row.

tiredofit avatar Mar 11 '21 15:03 tiredofit

As long as your data center is not this one you can count yourself lucky 😁

jwillmer avatar Mar 11 '21 16:03 jwillmer

I'm affected by it in our enterprise.

tiredofit avatar Mar 11 '21 17:03 tiredofit

@tiredofit any update? (Have you lost some data or did you had backups?)

jwillmer avatar Mar 19 '21 09:03 jwillmer

We lost about 45 minutes of DB transactions on some not so busy services - One of the fallout was recovering our in house Gitlab installation. That failed and it became a near 2 week process to rebuild by 4 people. I just received word everything is good to go and I'm feeling good now. We didn't lose any data persay, just access to the CI Secrets and Variables we had defined. We opted for a brand new install as ours was old and tired after 5 years of usage. Exporting from the old frozen system to the new one just took time and team.

So with all that - We have a new Docker baserow image this morning. tiredofit/baserow:0.5.0 or latest should be built now and give you access to Baserow 1.0.1.

There's a new variable and data volume (/data) and MEDIA_HOSTNAME to watch out for - Readme has been updated to support it.

Let me know how this works. FWIW the reason why your PR wouldn't compile is something to do with the Python cryptography module requiring Rust/Cargo now. Should be smooth sailing for their next release.

tiredofit avatar Mar 19 '21 13:03 tiredofit

Wow, sounds like you had a couple of stressful days. Glad the fallout was minimal. Will test the new image right away. Thanks for the effort 👍

jwillmer avatar Mar 19 '21 13:03 jwillmer

Hold off for a few minutes 0.5.1 is being uploaded as we speak. It's just a smaller version of 0.5.0 as I found 300mb of cache that needed to be removed.

tiredofit avatar Mar 19 '21 13:03 tiredofit

I was setting up a new instance with basserow and only added the media domain/file location to my existing configuration. But when I try to create a new account I get a CORS error. I'm not sure if I can fix that in my trafik config or if that needs to be fixed in the containers nginx?

Error:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://baserow-api.MYDOMAIN.TLD/api/user/. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

Config:

    baserow-app:
      image: tiredofit/baserow:0.5.1
      container_name: baserow-app
      restart: always
      networks:
        baserow_app:
        traefik_proxy:
            aliases:
                - baserow-api.${DOMAINNAME}                    
                - baserow-media.${DOMAINNAME}                  
                - baserow.${DOMAINNAME}
      environment:
        - ZABBIX_HOSTNAME=baserow-app
    
        - TIMEZONE=Europe/Berlin
        - DEBUG_MODE=FALSE
        - CONTAINER_LOG_LEVEL=INFO
    
        - API_HOSTNAME=baserow-api.${DOMAINNAME}
        - APPLICATION_HOSTNAME=baserow.${DOMAINNAME}
        - MEDIA_HOSTNAME=baserow-media.${DOMAINNAME}
    
        - DB_HOST=baserow-db
        - DB_PORT=5432
        - DB_USER=baserow
        - DB_PASS=baserow
        - DB_NAME=baserow
    
        - LOG_LEVEL=info
    
        - APP_DEBUG=False
        - BACKEND_WORKERS=5
        - LANGUAGE=en-us
        - PASSWORD_RESET_MAX_AGE=24        
      volumes:
        - ${USERDIR}/docker/baserow/media:/data
      depends_on:
        - baserow-db
      labels:
        - traefik.enable=true
        - traefik.http.routers.baserow.rule=Host(`baserow.${DOMAINNAME}`) || Host(`baserow-api.${DOMAINNAME}`) || Host(`baserow-media.${DOMAINNAME}`)
        - traefik.http.services.baserow.loadbalancer.server.port=80

jwillmer avatar Mar 19 '21 14:03 jwillmer

Yuck, CORS issues :) I'm willing to bet its something I've missed, and being set via the Python Baserow code. You can try in the short term just to set it at your Proxy level while we figure out what has changed with these labels:

      - traefik.http.middlewares.baserow-cors.headers.accessControlAllowOriginList=*
      - traefik.http.middlewares.baserow-cors.headers.accessControlAllowCredentials=true
      - traefik.http.middlewares.baserow-cors.headers.accessControlAllowMethods=GET,POST,PUT,PATCH,DELETE
      - traefik.http.middlewares.baserow-cors.headers.accessControlAllowHeaders=User-Agent,Keep-Alive,Content-Type,Authorization,x-jwt-token,x-api-host
      - traefik.http.middlewares.baserow-cors.headers.accessControlMaxAge=600
      - traefik.http.middlewares.baserow-cors.headers.addVaryHeader=true
      - traefik.http.routers.baserow.middlewares=baserow-cors@docker

tiredofit avatar Mar 19 '21 15:03 tiredofit

CORS fixed but now after login this turns up:

image

image

jwillmer avatar Mar 19 '21 15:03 jwillmer

Oof now a websocket :) How fun. OK, There's some big changes that have occurred it seems going from the beta versions to the 1.x series. I'm going to have to review the code and see whats going on here. There's ways around all of this, I just need to reverse engineer it a bit more. I should have some time today and then also next week as my entire org is off on a break for 2 weeks.

tiredofit avatar Mar 19 '21 15:03 tiredofit

O.K., sorry for the constant negative feedback :weary:

Fyi: There is a settings file which let's you disable the signup for new users. Probably a good idea to map this into docker-compose / mention in the README.

jwillmer avatar Mar 19 '21 15:03 jwillmer

Looks like #2 also talks about this. I will review the settings too :) Not to worry. I built this as a Proof of Concept a while back and admittedly haven't kept up to date with the changes as the product has matured. I'll invest some more energy into it.

tiredofit avatar Mar 19 '21 16:03 tiredofit

CORS fixed but now after login this turns up:

image

image

@tiredofit Any update on the websocket issue? Thanks.

masood-anwer avatar Oct 11 '21 19:10 masood-anwer

In my case, this issue was solved when using http in the domain name. If I using https the issue still appears.

sihandry avatar Jan 20 '22 06:01 sihandry