I am currently trying to create my own Lemmy instance and am following the join-lemmy.org docker guide. But unfortunately docker compose up doesn't work with the default config and throw's a yaml: line 32: found character that cannot start any token error. Is there something I can do to fix this?
The section in question is
{% for item in lemmy_env_vars %}
{% for key, value in item.items() %}
- {{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% endif %}
I'm not a pro at Docker, but I've spun up over 30 different services using Docker Compose so I'm more than a novice. I would say that Lemmy's documentation is the worst I've ever seen.
The website points you at that compose file which is (I think?) designed for Ansible. I think there's another example somewhere without all the jibbery joo, but I can't search for it right now.
If memory serves, the default docker compose expose the database port with a basic hard coded password, too. So imagine using the compose without reading too much, next thing you know you’re running a free Postgres database for the world.
Edit: yep, still publishing the db port with hard coded password…
The lemmy docs are all a mess. Try writing something that uses the lemmy api and you start crying because looking up the endpoints in the code tells you what it does faster than their 'documentation'
If you use that docker compose file, I recommend you comment out the build section and uncomment the image section in the lemmy service.
I also recommend you use a reverse proxy and Docker networks rather than exposing the postgres instance on port 5433, but if you aren’t familiar with Docker networks you can leave it as is for now. If you’re running locally and don’t open that port in your router’s firewall, it’s a non-issue unless there’s an attacker on your LAN, but given that you’re not gaining anything from exposing it (unless you need to connect to the DB directly regularly - as a one off you could temporarily add the port mapping), it doesn’t make sense to increase your attack surface for no benefit.
This looks like a Jinja template, so definitely supposed so be populated by something else first. Yaml is basically just a prettier Json so it wouldn't support something like that section on its own.