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 %}
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
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.
Try this docker-compose file: https://github.com/LemmyNet/lemmy/blob/main/docker/docker-compose.yml
Here’s the docs for pict-rs: https://git.asonix.dog/asonix/pict-rs/src/branch/main/pict-rs.toml
Everything in the config file has an env var you can set. The most important one is the
PICTRS__SERVER__API_KEY
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.
Edit: here it is https://github.com/LemmyNet/lemmy/blob/main/docker/docker-compose.yml
No idea why they don’t link to that one in the first place. I’d fix it if I knew how.
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’
Thank you, I was wondering, what that stuff was
I just updated my comment above with more info, FYI.
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.
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…
as @walden already mentioned, the files in Lemmy’s documentation are the wrong ones. The correct file seems to be in https://github.com/LemmyNet/lemmy/blob/main/docker/docker-compose.yml.
The documentation won’t help you if you don’t want to use Ansible.
I switched to using https://github.com/ubergeek77/Lemmy-Easy-Deploy by @ubergeek77@lemmy.ubergeek77.chat