this post was submitted on 18 Jun 2023
0 points (50.0% liked)

Lemmy Support

4652 readers
1 users here now

Support / questions about Lemmy.

Matrix Space: #lemmy-space

founded 5 years ago
MODERATORS
 

I'm trying to spin up an instance on a local VM for my own testing so using the docker install.

I've reaching the point the instructions that say to run docker-compose up -d.

When I run that as my normal non-root user, I get a permission denied error.

$ docker-compose up -d
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.10/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/usr/lib/python3.10/http/client.py", line 975, in send
    self.connect()
  File "/usr/lib/python3/dist-packages/docker/transport/unixconn.py", line 30, in connect
    sock.connect(self.unix_socket)
PermissionError: [Errno 13] Permission denied

The first time I ran it with sudo, it downloaded a bunch of stuff (but to where I have no clue), and then gave the following error. Every subsequent run it skips the downloading (presumably because it already has all that), and goes straight to the error.

$ sudo docker-compose up -d
Creating network "lemmy_lemmyinternal" with driver "bridge"
Creating network "lemmy_lemmyexternalproxy" with the default driver
Pulling pictrs (asonix/pictrs:0.4.0-beta.19)...
0.4.0-beta.19: Pulling from asonix/pictrs
ef5531b6e74e: Pull complete
1f0396fae2e3: Pull complete
9115eac87d97: Pull complete
e38b3eb392e4: Pull complete
4d5295668c45: Pull complete
Digest: sha256:480d36cd97e5e98e7c76c7d226dc009bd5bb9fa065fdc1f4207699f16e8cc61e
Status: Downloaded newer image for asonix/pictrs:0.4.0-beta.19
Pulling postgres (postgres:15-alpine)...
15-alpine: Pulling from library/postgres
31e352740f53: Pull complete
d7c8ef16402f: Pull complete
36cb57831f52: Pull complete
a120e2610875: Pull complete
64f9e9ad23bd: Pull complete
dd2a4281faaa: Pull complete
daef310ca2c6: Pull complete
c47c060e762a: Pull complete
Digest: sha256:48d8422c6ae570a5bda52f07548b8e65dd055ac0b661f25b44b20e8cff2f75f0
Status: Downloaded newer image for postgres:15-alpine
Building lemmy
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/ME/docker: no such file or directory

It's clearly complaining about a missing file or folder in my home dir, but I have no idea what's supposed to be in that file/folder and it's not mentioned in the instructions. Suggestions?

ETA: Just to try something, I did a mkdir ~/docker and then touch ~/docker/Dockerfile, and now I get...

$ sudo docker-compose up -d
Building lemmy
Sending build context to Docker daemon  111.6MB
Error response from daemon: the Dockerfile (docker/Dockerfile) cannot be empty
ERROR: Service 'lemmy' failed to build : Build failed

Again. I have no idea what's supposed to be in that file. It's not mentioned in the instructions.

you are viewing a single comment's thread
view the rest of the comments
[–] pipipopo@lemmy.pipipopo.pl 0 points 1 year ago (1 children)

in yml instead

build:
   context: ../
   dockerfile: docker/Dockerfile

use:

image: dessalines/lemmy:0.17.4

[–] nulluser@lemmy.world 0 points 1 year ago (2 children)

Well, that seems to have gotten a bit further, at least.

Pulling lemmy (dessalines/lemmy:0.17.4)...
0.17.4: Pulling from dessalines/lemmy
8a49fdb3b6a5: Pull complete
0de2c9bbcc62: Pull complete
0f4c460d690c: Pull complete
Digest: sha256:7aa2f62bf3217191797e374a6aa283b77d13632db2922335d0430029beb53b1d
Status: Downloaded newer image for dessalines/lemmy:0.17.4
Pulling lemmy-ui (dessalines/lemmy-ui:0.17.1)...
0.17.1: Pulling from dessalines/lemmy-ui
8921db27df28: Pull complete
361849a0fe60: Pull complete
4769d5fe84bb: Pull complete
1a33b52da743: Pull complete
b50526249338: Pull complete
cdece431b19a: Pull complete
Digest: sha256:b45e296a82c308c3839f3ce676df3b852aab519e21bd3d7b38e8d0064e95d25e
Status: Downloaded newer image for dessalines/lemmy-ui:0.17.1
Pulling proxy (nginx:1-alpine)...
1-alpine: Pulling from library/nginx
4db1b89c0bd1: Pull complete
bd338968799f: Pull complete
6a107772494d: Pull complete
9f05b0cc5f6e: Pull complete
4c5efdb87c4a: Pull complete
c8794a7158bf: Pull complete
8de2a93581dc: Pull complete
768e67c521a9: Pull complete
Digest: sha256:2d194184b067db3598771b4cf326cfe6ad5051937ba1132b8b7d4b0184e0d0a6
Status: Downloaded newer image for nginx:1-alpine
Creating lemmy_postgres_1 ... error
Creating lemmy_pictrs_1   ... 

ERROR: for lemmy_postgres_1  Cannot create container for service postgres: json: cannot unmarshal number into Go struct field LogConfig.HostConfig.LogConfig.CCreating lemmy_pictrs_1   ... error

ERROR: for lemmy_pictrs_1  Cannot create container for service pictrs: json: cannot unmarshal number into Go struct field LogConfig.HostConfig.LogConfig.Config of type string

ERROR: for postgres  Cannot create container for service postgres: json: cannot unmarshal number into Go struct field LogConfig.HostConfig.LogConfig.Config of type string

ERROR: for pictrs  Cannot create container for service pictrs: json: cannot unmarshal number into Go struct field LogConfig.HostConfig.LogConfig.Config of type string
ERROR: Encountered errors while bringing up the project.
[–] pipipopo@lemmy.pipipopo.pl 1 points 1 year ago* (last edited 1 year ago)

looks like you don't have folders for pictrs and postgres eg.

volumes: - ./volumes/pictrs

edit yml again :)

[–] kristian@lemmy.astheriver.art 1 points 1 year ago

I think I had that same error regarding numbers and strings: if you’re using that docker-compose file you need to put “” quotation marks around the number 4 in line 7, so it reads max-file: “4”

You’re probably better off using the docker-compose.yml from the Ansible repo as your starting point and working from there, the one in the main repo is a bit of a mess as it’s being actively worked on at the minute.