this post was submitted on 07 Jul 2023
6 points (80.0% liked)

Selfhosted

40729 readers
571 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 2 years ago
MODERATORS
6
Lemmy selfhost problem (self.selfhosted)
submitted 1 year ago* (last edited 1 year ago) by Orban to c/selfhosted
 

Hey guys, im writing here because i'm really out of options and ideas. I have been trying to set up my lemmy instance in docker put i keep failing at the first step. I have filled every {{}} detail and still getting this error:

The Compose file './docker-compose.yml' is invalid because: Invalid top-level property "x-logging". Valid top-level sections for this Compose file are: version, services, networks, volumes, secrets, configs, and extensions starting with "x-".

You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.

I have tried to edit the version number, even deleting it but then im getting this:

The Compose file './docker-compose.yml' is invalid because: Unsupported config option for x-logging: 'options' Unsupported config option for services: 'proxy'

Do you have any idea?

Edit: Thank you all for the ideas. Actually the docker compose up -d solved it!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 1 year ago (11 children)

Your docker install is too old and it doesn't support that docker-compose version, you probably should update your docker to more recent one (are you running debian 10 on default repositories?), or you could remove logging references from file (these x-logging lines in each service and whole section on top of file)

[–] Orban 1 points 1 year ago* (last edited 1 year ago) (1 children)

Im using centos, everything is up to date with the latest versions.

or you could remove logging references from file (these x-logging lines in each service and whole section on top of file)

Im getting the same error

[–] Orban 3 points 1 year ago (2 children)

Here is my docker-compose.yml

spoilerversion: "3.7"

services: proxy: image: nginx:1-alpine ports: # actual and only port facing any connection from outside # Note, change the left number if port 1236 is already in use on your system # You could use port 80 if you won't use a reverse proxy - "8536:8536" volumes: - ./nginx_internal.conf:/etc/nginx/nginx.conf:ro,Z restart: always depends_on: - pictrs - lemmy-ui

lemmy: image: dessalines/lemmy:latest hostname: lemmy restart: always environment: - RUST_LOG="warn" volumes: - ./lemmy.hjson:/config/config.hjson:Z depends_on: - postgres - pictrs

lemmy-ui: image: dessalines/lemmy-ui:latest environment: - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy:8536 - LEMMY_UI_LEMMY_EXTERNAL_HOST=* - LEMMY_UI_HTTPS=true volumes: - ./volumes/lemmy-ui/extra_themes:/app/extra_themes depends_on: - lemmy restart: always

pictrs: image: asonix/pictrs:0.4.0-rc.7 # this needs to match the pictrs url in lemmy.hjson hostname: pictrs # we can set options to pictrs like this, here we set max. image size and forced format for conversion # entrypoint: /sbin/tini -- /usr/local/bin/pict-rs -p /mnt -m 4 --image-format webp environment: - PICTRS_OPENTELEMETRY_URL=http://otel:4137 - PICTRS__API_KEY=lemmy1234
- RUST_LOG=debug - RUST_BACKTRACE=full - PICTRS__MEDIA__VIDEO_CODEC=vp9 - PICTRS__MEDIA__GIF__MAX_WIDTH=256 - PICTRS__MEDIA__GIF__MAX_HEIGHT=256 - PICTRS__MEDIA__GIF__MAX_AREA=65536 - PICTRS__MEDIA__GIF__MAX_FRAME_COUNT=400 user: 991:991 volumes: - ./volumes/pictrs:/mnt:Z restart: always deploy: resources: limits: memory: 690m

postgres: image: postgres:15-alpine hostname: postgres environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=lemmy1234
- POSTGRES_DB=lemmy volumes: - ./volumes/postgres:/var/lib/postgresql/data:Z - ./customPostgresql.conf:/etc/postgresql.conf restart: always

postfix: image: mwader/postfix-relay environment: - POSTFIX_myhostname=lemmy.domain.com restart: "always"

[–] [email protected] 2 points 1 year ago (2 children)

This looks good to me. I suspect the problem is not with the compose file itself, but in the tool you're invoking - something must be wrong with docker-compose. Try using docker compose up -d instead of docker-compose up -d (requires Docker v20.10.13+).

Posting output of docker-compose version, docker version and docker compose version may shine some light on this.

[–] Orban 3 points 1 year ago (1 children)

docker compose up -d

Jesus man that was it. docker compose up -d solved it. Thank you so much

[–] [email protected] 2 points 1 year ago

This means your docker-compose is very outdated or even broken.

To give you some context, originally Docker Compose was a separate project. It's a separate program called docker-compose. It evolved for quite a while, and was eventually rewritten and included as a part of Docker itself, becaming a sub-command (docker compose).

Just uninstall the old Compose (so it won't cause you any issues) and keep only Docker.

[–] Orban 1 points 1 year ago (1 children)

Alright now im getting

Error!

There was an error on the server. Try refreshing your browser. If that doesn't work, come back at a later time. If the problem persists, you can seek help in the Lemmy support community or Lemmy Matrix room.

but thats progress

[–] [email protected] 1 points 1 year ago (1 children)

This means Lemmy container is up and running, but there is some error on the backend that prevents it from functioning correctly. A pretty wild guess, but it's probably something with the database.

docker compose logs may tell a bit more about what's going on. Check out this page https://join-lemmy.org/docs/administration/troubleshooting.html (just remember to replace docker-compose with docker compose - again, I specifically recommend to uninstall docker-compose so it won't accidentally mess things up).

If it's not something obvious, one thing you may try is tear everything down (docker compose down -v), change lemmy:latest to lemmy:0.18.1 in your Compose file, and try starting again. This will use explicit version number and it may help if the latest tag is not something we expect it to be. E.g. I had issues spinning up clean 0.17.4 - it had a bug in DB migrations that was supposed to be fixed in 0.18.

[–] Orban 1 points 1 year ago

Yeah I figured some port was not enabled

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

where did you install Docker from? is it the docker repo or somewhere else?

Edit: check this out - https://docs.docker.com/engine/install/centos/

[–] Orban 1 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago

has docker got version locked in yum?

load more comments (9 replies)