unmade / shelf-showcase

An example of Shelf Cloud ready-to-run docker-compose

Home Page:https://getshelf.cloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support for ARM?

amgno opened this issue · comments

hey @heryoff

Are you talking about arm32 (raspberry pi) or arm64?

The project uses EdgeDB which currently provides only amd64 docker images, but since version EdgeDB 2.0 it should be possible to build your own arm64 docker image.

I'm also interested in ARM, because I'm developing on Apple Silicon, so it is on my map, just not the first priority.

If you want try the project you can check out the cloud version, it is the same as the docker one

hey @heryoff

Are you talking about arm32 (raspberry pi) or arm64?

The project uses EdgeDB which currently provides only amd64 docker images, but since version EdgeDB 2.0 it should be possible to build your own arm64 docker image.

I'm also interested in ARM, because I'm developing on Apple Silicon, so it is on my map, just not the first priority.

If you want try the project you can check out the cloud version, it is the same as the docker one

Yes I'm mainly taking about arm64, even tho arm32 could probably work too.
I'll try the cloud version, thanks

I've just pushed arm64 images, feel free to check

Hey, I was trying to test stuff out but I still get "exec format error", can you explain how to select the arm image?

It should be selected automatically. I checked images on two different machines (with M1 and M1 Pro chips), but I can't checked it on raspberry pi, as I don't have it.

Can you please provide the whole error log you're seeing? Is it happening on pulling stage or when containers starting to run?

Ok I managed to make it work by clearing out the images, thanks

Mmm, I still get "something went wrong" when trying to log-in

You can try changing API_BASE_URL in the docker-compose.yml and set it to http://ip-of-your-container:8000.
In the .shelf-back.env set CORS_ALLOW_ORIGINS to the http://ip-of-your-container:8080 or you can set it *

Still can't make it work, :(

Docker-compose file

services:
  shelf-back:
    image: fdooch/shelf-back:0.1.0-alpha.6
    env_file:
      - ./shelf-back.env
    environment:
      - SHELF_SUPERUSER_USERNAME=admin
      - SHELF_SUPERUSER_PASSWORD=root
    volumes:
      - ./certs:/usr/src/shelf-back/certs
      - ./shelf-data:/usr/src/shelf-data
    ports:
      - "8001:80"
    depends_on:
      - redis
      - edgedb

  shelf-worker:
    image: fdooch/shelf-back:0.1.0-alpha.6
    env_file:
      - ./shelf-back.env
    volumes:
      - ./certs:/usr/src/shelf-back/certs
      - ./shelf-data:/usr/src/shelf-data
    command: ["celery", "-A", "app.tasks", "worker", "-l", "INFO"]
    depends_on:
      - edgedb
      - redis

  shelf-front:
    image: fdooch/shelf-front:0.1.0-alpha.7
    environment:
      - API_BASE_URL=http://localhost:8001
    ports:
      - "8181:80"
    depends_on:
      - shelf-back

  edgedb:
    image: edgedb/edgedb:2.5
    environment:
      - EDGEDB_SERVER_USER=edgedb
      - EDGEDB_PASSWORD=root
      - EDGEDB_SERVER_TLS_CERT_FILE=/certs/edbtlscert.dev.pem
      - EDGEDB_SERVER_TLS_KEY_FILE=/certs/edbprivkey.dev.pem
    volumes:
      - dbvolume:/var/lib/edgedb/data
      - ./certs:/certs
    ports:
      - "5656:5656"

  redis:
    image: redis:alpine
    ports:
      - "6379:6379"

volumes:
  dbvolume: {}

Env file

APP_SECRET_KEY=732871
CELERY_BACKEND_DSN=redis://redis:6379
CELERY_BROKER_DSN=redis://redis:6379
CORS_ALLOW_ORIGINS=http://localhost:8181
DATABASE_DSN=edgedb://edgedb:root@edgedb:5656/edgedb
DATABASE_TLS_CA_FILE=/usr/src/shelf-back/certs/edbtlscert.dev.pem
STORAGE_LOCATION=/usr/src/shelf-data

I changed few ports so they don't conflict with other containers I have running

By looking at the logs I did't find anything strange except for "Edgedb", which prompted this:
_shelf_edgedb_1_logs.txt

By the looks of Safari console, I could tell that it's not getting connected to the server, tried with:

  • the private IP -> didn't work
  • hostname such as shelf-back, shelf-front -> didn't work
  • public ip adress -> didn't work

I'm now out of options

Managed to make it work by putting the domain name, strange it didn't work with the public address then

everything looks correct. Can I ask you to also provide output of the docker compose logs shelf-back output?

edit: my reply was too late, problem seems to be solved

Managed to make it work by putting the domain name, strange it didn't work with the public address then

That is indeed very strange that the public address didn't work. I'm glad you solved the problem and sorry for the inconvenience

Thanks anyway. Btw your project seems really cool, 👍

"Managed to make it work by putting the domain name, strange it didn't work with the public address then" what does this mean exactly?

I just get this:

Failed to load resource: net::ERR_CONNECTION_REFUSED localhost:8001/features/list:1

when trying to sign in