this post was submitted on 07 Jun 2023
15 points (100.0% liked)

Lemmy Support

4650 readers
7 users here now

Support / questions about Lemmy.

Matrix Space: #lemmy-space

founded 5 years ago
MODERATORS
 

I'm trying this on Ubuntu 22.04 Rust's cargo install seems to keep creating permission problems between what I have to install, compile and what gets published in the cargo "registry", which causes issues at runtime when I run as lemmy:lemmy through systemctl.

If I run: cargo install lemmy_server --target-dir /usr/bin/ --locked --features embed-pictrs as a non-root user, I get permission denied issues with /usr/bin/.future-incompat-report.json and /usr/bin/release

If I run the build as a root user, and then manually copy the binaries to /usr/bin and chmod them to lemmy:lemmy, then try to run as lemmy:lemmy, it appears the binary is trying to access some "registry" files in /root/.cargo/registry (for which of course it does not have permissions.)

How do I fix this?

you are viewing a single comment's thread
view the rest of the comments
[–] KIM_JONG_JUICEBOX@lemmy.ml 2 points 1 year ago (2 children)

Thank you!

So the git based build instructions from @Grouchy@lemmy.grouchysysadmin.com works.

What was missing for me was then the rust version and the full list of sql commands.

1. Rust version

Remove rust installed from Ubuntu apt repo (v 1.65)
Install rust from rustup (v 1.70)

2. Postgres commands

sudo -iu postgres psql -c "CREATE USER lemmy WITH PASSWORD 'db-passwd';"
sudo -iu postgres psql -c "CREATE DATABASE lemmy WITH OWNER lemmy;"
sudo -iu postgres psql -c "ALTER USER lemmy WITH SUPERUSER;"


[–] RoundSparrow@lemmy.ml 2 points 1 year ago (1 children)

The lemmy-ui steps, the next part - are pretty outdated. It has instructions to install NodeJS 12.x, which is really far back. I have no idea which version the Docker install is using...

The latest version of Node is 20

[–] KIM_JONG_JUICEBOX@lemmy.ml 2 points 1 year ago* (last edited 1 year ago) (1 children)

Before I even get there, the instructions say I should be able to run

curl localhost:8536/api/{version}/site

And it should return some json structure.

But I see this returning 404

lemmy_server[41511]: 2023-06-09T17:02:35.296098Z  INFO actix_web::middleware::logger: 127.0.0.1 "GET /api/0.17.3/site HTTP/1.1" 404 0 "-" "curl/7.81.0" 0.000074

Is that the correct way to specify the version?

Is there a better log than journalctl which would actually tell me what REST endpoints it is using?

[–] RoundSparrow@lemmy.ml 2 points 1 year ago (1 children)

Is that the correct was to specify the version?

No, I had to dig around too, the correct command is:

curl localhost:8536/api/v3/site

[–] KIM_JONG_JUICEBOX@lemmy.ml 1 points 1 year ago (2 children)

Thank you, again!

How was I to know {version} in the REST endpoint path was supposed to be "v3"?

Any luck with the lemmy-ui install?

[–] RoundSparrow@lemmy.ml 1 points 1 year ago

I found another documentation page that actually tells you how to get the "v3" version....

https://join-lemmy.org/docs/en/contributors/04-api.html

That needs to be part of the "Lemmy from Scratch" documentation page too.

[–] RoundSparrow@lemmy.ml 1 points 1 year ago* (last edited 1 year ago) (1 children)

I knew it was v3 because I saw a webapp failure on one of the Lemmy instance (lemmy.ml) I was using ;) We need to update those install documents.

It seems right now I can get a client to load, but websockets aren't working. Others on Reddit reported the same issue: https://old.reddit.com/r/Lemmy/comments/142sszq/spinning_up_lemmy_websockets_dont_connect/

[–] KIM_JONG_JUICEBOX@lemmy.ml 2 points 1 year ago (1 children)

Why are you tagged as bot account?

[–] RoundSparrow@lemmy.ml 2 points 1 year ago (1 children)

Oops. I was running some test code that IIRC set the bot field (it was code for creating a bot) on my own login. I just changed it. Thanks for letting me know.

[–] KIM_JONG_JUICEBOX@lemmy.ml 1 points 1 year ago (1 children)

Well, you are the only person really responding to me here with helpful information.

So if you are a bot, I welcome our new robot overlords.

I'm still trying to get the lemmy-ui installed. I'll check your links. Looks like they updated the join-lemmy.org page.

I owe you a beer, or a pint of 10w-40.

[–] RoundSparrow@lemmy.ml 1 points 1 year ago* (last edited 1 year ago)

ha.

I didn't have much trouble with lemmu-ui, I ended up following instructions that put it at /var/lib/lemmy-ui on Ubuntu 22.04 server.

I already had nginx running for a different domain name on that server, so that confused me for a while. As the SSL certification instructions assume you have an empty nginx server, it won't prompt you for domain names if you already have some defined. Once I figured that out, the instructions worked fine.

  1. I moved all my live site config files out of /etc/nginx/sites-enabled

  2. ran the certbot certonly --nginx command from the 'From Scratch" instructions, which now prompted me for domain names interactively.

  3. put back my previous sites-enabled files I removed in step 1.

  4. Then the template in the 'From Scratch' instructions worked fine after the sed commands to modify it: https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/nginx.conf

Are you stuck on updating NodeJS on your server? I already had Node apps on my server, so I followed my standard setup for node. I'm running lemmy-ui on Node.js v19.4.0, I think it probably wold work on version 20.x too. My npm --version says 9.3.1 and my yarn --version says 1.22.19

I'm glad you got it working :)