Trying docker koehn/diaspora but server stops immediately

Hi
i’m trying to run D* in a container using https://gitlab.com/koehn-docker/diaspora
in Lubuntu 22.04, in a Proxmox VM.

Immediately after starting the compose file, the container diaspora_diaspora_1 stops.
The script/server program just exits. This is the container log.

2023-01-01 20:47:28: (server.c.1464) server started (lighttpd/1.4.53) 
2023-01-01 20:47:28: (server.c.1493) WARNING: unknown config-key: accesslog.filename (ignored) 
Top level ::CompositeIO is deprecated, require 'multipart/post' and use `Multipart::Post::CompositeReadIO` instead!
Top level ::Parts is deprecated, require 'multipart/post' and use `Multipart::Post::Parts` instead!
Rack::SSL is enabled
[DEPRECATED] Your lockfile contains a single rubygems source section with multiple remotes, which is insecure. Make sure you run `bundle install` in non frozen mode and commit the result to make your lockfile secure.
Starting Diaspora in production mode with 1 Sidekiq worker(s).

i tried enabling and obtaining logs, by mapping the /log folder. But the log files mentioned in the diaspora.yml don’t get created.
This is my Docker-compose file.

version: '2'
services:
  diaspora:
    image: koehn/diaspora:latest 
    links:
      - postgres
      - redis
    volumes:
      - diaspora-images:/home/diaspora/diaspora/public/uploads/images
      - ./diaspora.yml:/home/diaspora/diaspora/config/diaspora.yml:ro
      - ./database.yml:/home/diaspora/diaspora/config/database.yml:ro
      - ./log/:/usr/local/app/diaspora/log/
    ports:
      - '3000:3000'
#    command: sleep infinity
#    restart: no

  postgres:
    read_only: true
    mem_limit: 6G
    image: postgres:10-alpine
    tmpfs:
    - /tmp
    environment:
      - POSTGRES_USER=diaspora
      - POSTGRES_PASSWORD=....
      - POSTGRES_DB=diaspora_production
    volumes:
      - postgres:/var/lib/postgresql/data
      - postgres-run:/var/run/postgresql
    restart: always

  redis:
    image: redis:latest
    mem_limit: 384M
    read_only: true
    tmpfs:
    - /tmp
    command: redis-server --appendonly yes
    volumes:
      - redis:/home/hmn/Documents/diaspora-docker/redit-data
    restart: always

volumes:
  diaspora-images:
  postgres:
  postgres-run:
  redis:

My diaspora.yml contains the following:

    url: "https://pod.ZZZZ.nl/"
    redis: 'redis://redis'
    require_ssl: false
      concurrency: 5
      log: "log/sidekiq.log"
    listen: '0.0.0.0:3000'
    rails_environment: 'production'
    stderr_log: '/usr/local/app/diaspora/log/unicorn-stderr.log'
    stdout_log: '/usr/local/app/diaspora/log/unicorn-stdout.log'
    mapbox:
    enable_registrations: true
    autofollow_on_join: true
    autofollow_on_join_user: 'hq@pod.diaspora.software'
      enable: false
    default_metas:
    csp:
    enable: true
    sender_address: 'no-reply@ZZZZ.nl'
    method: 'smtp'
      host: 'mail.ZZZZ.nl'
      port: 587
      authentication: 'plain'
      username: 'diasporapod@ZZZZ.nl'
      password: 'ZZZ'
      starttls_auto: true
      openssl_verify_mode: 'none'
    podmin_email: 'diasporapod@ZZZZ.nl'
      send: true
      url: 'https://relay.iliketoast.net/receive/public'
      subscribe: true
      scope: all

Trying to find out what is going wrong:

  • i first removed the volumes used by diaspora compose file, to be sure to have clean databases
  • in compose, i replaced the original “command” with “sleep infinite”
  • did sudo docker-compose -p diaspora up -d
  • attached bash, and then did the steps as per manual, starting from “bundle” https://wiki.diasporafoundation.org/Installation/Debian/Buster#Bundle

The outcome however was the same; running script/server exits immediately without any notice.
Q1) What could be the reason this happens?

My lubuntu VM only has the following TCP ports used already : 53, 80, 9443, 8000, 45209, 631

To be honest, i’m a bit confused about how i should set the diaspora.yml settings for SSL.
I’m planning to let external nginxproxymanager forward the HTTPS as HTTP to the diaspora server. So, i have set “require ssl” to false, and left the “url” stating “https”. But seeing i also have to point to SSL certificates. Q2) Does the port 3000 expect https or plain http?

Hello, this installation method is not officially supported, I guess @koehn should be the one answering you here.

However, the official one without docker doesn’t work on 22.04 yet due to an incompatibility with the SSL version.

The docker image is built from debian:buster-slim,
i wouldn’t have thought the host SSL libraries (Lubuntu) would have mattered, but i’ll try an archlinux VM, as that seems the best supported as per Installation - diaspora* project wiki

File a bug on docker / Diaspora · GitLab or find his email address or something else to reach out to him directly. It’s been two years since Koehn last attempted to help someone with using that Docker image here, so I would not expect a response here.

Actually, i contacted him via email because his origial self-hosted gitlab.koehn.com wasn’t acccesible any longer. He was so kind to upload it to gitlab a few weeks ago. So he does respond :slight_smile:

But i’m not sure how much of my problem is because of docker (or the hosting VM OS), or if it’s because of some setting i did wrong. Would you know answer to my Q2?

Yeah, that’s the part where we can’t really help you. But you should check the logs directory, you’re binding that to outside the container, and there’s a couple of files in there that can give you hints on why diaspora* is crashing on startup.

The diaspora* appserver only speaks HTTP, no TLS. So the port 3000 would expect unencrypted traffic! You need to add TLS in front of your diaspora* setup, with something like nginx like you already plan to.

Oh yes, absolutely! Which is why I suggested to send him an email instead of posting here, because I know that it’s been pointed out here multiple times that the old GitLab was down (including from me, explicitly with a ping), and nothign happened. So this just isn’t the right place to ask for support for his Docker stuff, unfortunately.