ONLYOFFICE / Docker-CommunityServer

Collaborative system for managing documents, projects, customer relations and emails in one place
MIT License
481 stars 179 forks source link

Dokcer-compose Community server #168

Open kahlablack opened 2 years ago

kahlablack commented 2 years ago

Hello, I migrated to Debian 11 and I used your docker compose for community server but unfortunately it does not work
the onlyoffice-community-server container doesn't start :

onlyoffice/communityserver:12.0.1.1748 "/app/run-community-…" 13 minutes ago Up 14 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 3306/tcp, 5280/tcp, 9865-9866/tcp, 9871/tcp, 9882/tcp, 0.0.0.0:5222->5222/tcp, :::5222->5222/tcp, 9888/tcp onlyoffice-community-server

script version: '3' services: onlyoffice-mysql-server: container_name: onlyoffice-mysql-server image: mysql:8.0.29 cap_add:

logs :

+ '[' false == true ']' I don't understand why the last parameter of the script /app/run-community-server.sh is set to false.

Carazyda commented 2 years ago

Hello @kahlablack yes, we have a problem with docker-compose on Ubuntu 22.04 and Debian 11 (Bug 58578 in our private bugtracker). But you can try use this solution https://github.com/ONLYOFFICE/CommunityServer/issues/424#issuecomment-1231672641.

VincentSC commented 1 year ago

Ok, I've tried https://github.com/gdraheim/docker-systemctl-replacement to fix this, as the solution workaround does not work. It does not give the errors anymore, but it gives these instead:

onlyoffice-community-server    | ERROR:systemctl: dbus-org.freedesktop.resolve1.service: Executable path is not absolute, ignoring: !!/lib/systemd/systemd-resolved
onlyoffice-community-server    | ERROR:systemctl: systemd-networkd.service: Executable path is not absolute, ignoring: !!/lib/systemd/systemd-networkd
onlyoffice-community-server    | ERROR:systemctl: systemd-resolved.service: Executable path is not absolute, ignoring: !!/lib/systemd/systemd-resolved
onlyoffice-community-server    | ERROR:systemctl: systemd-timesyncd.service: Executable path is not absolute, ignoring: !!/lib/systemd/systemd-timesyncd

For the idea of it, I added git and python3 to apt, and then added this to after the last apt install:

RUN git clone https://github.com/gdraheim/docker-systemctl-replacement /opt/systemctl-github && \
    rm -f /bin/systemctl && \
    ln -s /opt/systemctl-github/files/docker/systemctl.py /bin/systemctl

Unfortunately this is not working. I suspect the problem is somewhere else.

As the scripts (Dockerfile and run-community-server.sh) are simply bad (using hammers to fix non-understood parts of Linux/Docker, and no documentation), I have no idea what is really the goal, and thus where to start fixing. Sorry.

Also, the used libraries are years and years old, and that adds to the serious security problem caused by the privileged mode. Private mode for cgroupns is a feature you really want here! Especially because you only use it for starting some services that should have been external.

IMO it needs a full rewrite. Is there a design plan for what this docker should do?

ovizii commented 1 year ago

I'm also very disappointed and totally agree with VincentSC. Additionally, I found this info on their docs page:

Temporarily does not work on Ubuntu 22.04 and Debian 11.

Not quite sure if there is any progress on this issue to produce a properly working docker-compose.yml for any OS.

VincentSC commented 1 year ago

If it would work on 22.10 or 23.04 then I'd be happy. :)