tiddlyhost / tiddlyhost-com

Rails application for creating and hosting TiddlyWiki sites, plus resources for deploying it to https://tiddlyhost.com/
Other
184 stars 17 forks source link

Error using docker-compose-prod.yml #320

Open linonetwo opened 1 year ago

linonetwo commented 1 year ago

I'm trying to play with the service, and potentially set up a free site for Chinese users to increase user group of Tiddlywiki.

But I get this error

[+] Running 2/2 ✘ jobs Error 2.9s ! app Warning 2.9s 2023/09/01 19:13:01 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed [+] Building 2.1s (3/3) FINISHED => [internal] load build definition from Dockerfile.prod 0.2s => => transferring dockerfile: 1.28kB 0.0s => [internal] load .dockerignore 0.2s => => transferring context: 588B 0.0s => ERROR [internal] load metadata for docker.io/sbaird/tiddlyhost-base:latest 1.9s

[internal] load metadata for docker.io/sbaird/tiddlyhost-base:latest:

failed to solve: sbaird/tiddlyhost-base:latest: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

linonetwo commented 1 year ago

Also encounter error running commands in MacOS

% make build-base
docker-compose stop
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services: 'db'
make: *** [cleanup] Error 1
% make fast-build-base
docker-compose build --progress plain --build-arg USER_ID=501 --build-arg GROUP_ID=20 app
Build or rebuild services.

Services are built once and then tagged as `project_service`,
e.g. `composetest_db`. If you change a service's `Dockerfile` or the
contents of its build directory, you can run `docker-compose build` to rebuild it.

Usage: build [options] [--build-arg key=val...] [SERVICE...]

Options:
    --compress              Compress the build context using gzip.
    --force-rm              Always remove intermediate containers.
    --no-cache              Do not use cache when building the image.
    --pull                  Always attempt to pull a newer version of the image.
    -m, --memory MEM        Sets memory limit for the build container.
    --build-arg key=val     Set build-time variables for services.
    --parallel              Build images in parallel.
make: *** [fast-build-base] Error 1
simonbaird commented 1 year ago

I haven't tried building the container images on MacOS, so I'm not sure about these errors. What version of docker and docker compose do you have?

My versions on Fedora:

$ docker-compose version
Docker Compose version v2.20.2

$ docker version
Client: Docker Engine - Community
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Fri Jul 21 20:37:15 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.6
  Git commit:       a61e2b4
  Built:            Fri Jul 21 20:35:40 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
linonetwo commented 1 year ago

I'm using docker desktop for macOS, seems we have large difference in version...

Maybe this is the cause of Unsupported config option for services: 'db'

% docker-compose version
docker-compose version 1.24.1, build 4667896b
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018
% docker version
Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        74b1e89
 Built:             Thu Jul 25 21:18:17 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.1
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.5
  Git commit:       74b1e89
  Built:            Thu Jul 25 21:17:52 2019
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
linonetwo commented 1 year ago

But can you make a public build of image? Since the code is open-sourced, there is no reason to use private image, right? I'm going to run it in a windows server which can't run makefile, so I will still need to publish an image to docker hub in macOS, and pull it in the windows...

simonbaird commented 3 months ago

It's a reasonable suggestion, but I think #237 needs to be done first. Currently there is a bunch of tiddlyhost.com specific stuff in that iamge, e.g. the logo, the help links, paypal and other donation links, subscription details, etc, so it's not suitable for general purpose use.