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.
Also, whichever configuration files you use make sure to check that the ports are the same in all of them! I don’t know if it’s fixed now, but when I was setting mine up the docker-compose.yml and the nginx.conf file given in the join-docker instructions had different port numbers for the same service (I think one still used 1234 for lemmy-ui and one had been changed to 1236), so you still wouldn’t be able to connect to it even if you got it running.