ETA: This is being done on a Raspberry Pi 4 running 64-bit Raspbian using an external SSD as storage.
I am following the instructions here: https://github.com/LemmyNet/lemmy-docs/blob/4249465e9960cad97245aa03b3ad4c758ff945c7/src/en/administration/install_docker.md
Please note that I have only used docker a few times in the past and have always failed so that could be a contributing factor.
My goal for the moment is just to have the instance on localhost so I can play around with it before deciding if running my own instance is something I have the time for.
Here are the steps I have taken so far and the result:
- apt install docker-compose docker.io
- mkdir /lemmy
- cd /lemmy
- wget https://raw.githubusercontent.com/LemmyNet/lemmy/release/v0.17/docker/prod/docker-compose.yml
- wget https://raw.githubusercontent.com/LemmyNet/lemmy/release/v0.17/docker/prod/lemmy.hjson
- mkdir -p volumes/pictrs
- sudo chown -R 991:991 volumes/pictrs
- change db pswd in docker-compose.yml
- created nginx.conf (in root of lemmy folder) with config info on the above-linked page
- edited lemmy.hjson and changed admin username, admin pswd, site name, hostname (to “localhost,” also tried “127.0.0.1”), set postgres pswd to db pswd I put into docker-compose.yml
- then i run docker-compose up -d and get the following message:
`WARNING: The Qa variable is not set. Defaulting to a blank string. WARNING: The k variable is not set. Defaulting to a blank string. ERROR: Couldn’t connect to Docker daemon at http+docker://localhost - is it running?
If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable. `
I imagine I’m doing a lot of things wrong. I would be extremely appreciative for any help anybody can provide.
It looks like no containers have even been created:
I guess it didn’t get far enough in the process to make them?
Hmm. Well I literally just setup a Pi running a Lemmy instance last week. I can walk you through the steps that I took…
Ubuntu Server using https://www.raspberrypi.com/software/. Raspbian should also work with these steps, but I just happened to use Ubuntu Server. So feel free to skip this step.
Install Docker via these instructions: https://docs.docker.com/engine/install/ubuntu/. If you used these steps to install Docker prior, feel free to skip, but if you just did
apt-get install...
you may need to revisit that page.created a
lemmy
folder somewhere on my machine. For the sake of argument, I’m going to assume/docker/lemmy
for now.3a) Create the
volumes
andpictrs
folders and chown them as described in original documentation: https://join-lemmy.org/docs/en/administration/install_docker.htmlCopy the
docker-compose.yml
file as described in the documentation as well as the lemmy.hjson. I placed the docker-compose in/docker
and thelemmy.hjson
in/docker/lemmy
.Edit the
docker-compose.yml
so that you use the latest pre-build images instead of building from source. To do that you’ll want to remove the lines that look like this:and instead replace them with:
but before we do that we need to determine the latest tags that are available to the Pi. You can look here: https://hub.docker.com/r/dessalines/lemmy/tags and here: https://hub.docker.com/r/dessalines/lemmy-ui/tags. For the Pi though the latest versions available are:
0.17.3-linux-arm64
for both the backend and the UI.P.S. I did lookup the error you got and it seems to be related to Nginx. So if above steps don’t work, you may need to paste your
nginx.conf
file.Okay so here are the contents of the nginx.conf file:
}
All of this looks fine. But incase anyone else has any ideas, here’s the results I found looking up the original error: https://github.com/docker/compose/issues/4189
Okay so I don’t see
in the docker compose file anywhere. Where should I then place
?
https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/docker-compose.yml
... services: proxy: ... lemmy: # image: dessalines/lemmy:dev # use this to build your local lemmy server image for development # run docker compose up --build build: context: ../ dockerfile: docker/Dockerfile # args: # RUST_RELEASE_MODE: release # this hostname is used in nginx reverse proxy and also for lemmy ui to connect to the backend, do not change hostname: lemmy
Just copied this from the above URL. But just under
lemmy:
there’s a few comments and the reference to the build section. You’ll want to remove those lines. and just have:lemmy: image: dessalines/lemmy:0.17.3-linux-arm64 ...
You’ll need to do the same thing for
lemmy-ui
, but it’s build section is already commented out but the default compose is using an incorrect tag for the Pi.See below:
... lemmy-ui: image: dessalines/lemmy-ui:0.17.1 # use this to build your local lemmy ui image for development # run docker compose up --build # assuming lemmy-ui is cloned besides lemmy directory # build: # context: ../../lemmy-ui # dockerfile: dev.dockerfile ...
so for it, you just want to change it to:
lemmy-ui: image: dessalines/lemmy-ui:0.17.3-linux-arm64 ...
Got it, thank you!