I’m attempting to get a Lemmy server running on Debian 11 using this documentation:
https://join-lemmy.org/docs/administration/from_scratch.html
The following command fails as a result of some minor version incompatibilities: cargo install lemmy_server --target-dir /usr/bin/ --locked --features embed-pictrs
Removing --locked seems to work, but it fails compiling later in the process with the following output:
Compiling diesel-async v0.1.1
error[E0405]: cannot find trait RowGatWorkaround
in module diesel::row
–> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/diesel-async-0.1.1/src/pg/row.rs:16:23
|
16 | impl<'a> diesel::row::RowGatWorkaround<'a, diesel::pg::Pg> for PgRow {
| ^^^^^^^^^^^^^^^^ not found in diesel::row
error[E0405]: cannot find trait RowGatWorkaround
in module diesel::row
–> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/diesel-async-0.1.1/src/pg/row.rs:30:39
|
30 | …diesel::row::RowGatWorkaround<'b, diesel::pg::Pg>>::Field>
| ^^^^^^^^^^^^^^^^ not found in diesel::row
For more information about this error, try rustc --explain E0405
.
error: could not compile diesel-async
(lib) due to 2 previous errors
error: failed to compile lemmy_server v0.17.4
, intermediate artifacts can be found at /usr/bin/
Does anyone know how I can remedy this?
Thanks for the advice. I’m old school and never use Docker, but maybe it’s time I get over that. I’m actually out of my element anyway in that I do a lot of self-hosting but up to this point it has almost all used Apache and MySQL rather than Nginx and Postgres. Hopefully someone will come along with a solution for the diesel-async compiling error while I’m at work for the next few hours, but if not I’ll give your suggestion a shot this evening.
You’ll have to do some reading, but here’s some (almost) turnkey repos for all the pieces you need to host Lemmy (and other things) in docker.
I use Traefik instead of nginx to do load balancing / edge routing / reverse proxy / SSL termination (and automatic generation via LetsEncrypt - it’s proven to be bulletproof in a good few production setups.