this post was submitted on 13 May 2024
23 points (87.1% liked)

Selfhosted

40198 readers
815 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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 %}
top 10 comments
sorted by: hot top controversial new old
[–] walden@sub.wetshaving.social 20 points 6 months ago* (last edited 6 months ago) (3 children)

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.

[–] chiisana@lemmy.chiisana.net 9 points 6 months ago* (last edited 6 months ago)

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…

[–] neshura@bookwormstory.social 3 points 6 months ago

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'

[–] SomeBoyo@feddit.de 1 points 6 months ago (2 children)

Thank you, I was wondering, what that stuff was

[–] walden@sub.wetshaving.social 2 points 6 months ago

I just updated my comment above with more info, FYI.

[–] hedgehog@ttrpg.network 2 points 6 months ago

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.

[–] BlueEther@no.lastname.nz 7 points 6 months ago
[–] ptz@dubvee.org 5 points 6 months ago

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

[–] snekmuffin@lemmy.dbzer0.com 4 points 6 months ago

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.

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.