FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive # --- Update Base --- RUN apt-get update && apt-get install -y \ apt-transport-https \ ca-certificates \ gnupg \ wget \ software-properties-common \ supervisor \ && rm -rf /var/lib/apt/lists/* # --- Install Apache + PHP for Nextcloud --- RUN apt-get update && apt-get install -y \ apache2 \ libapache2-mod-php \ php php-gd php-mbstring php-xml php-zip php-curl php-intl php-mysql php-bz2 php-imagick php-gmp php-json php-ldap \ && rm -rf /var/lib/apt/lists/* # --- Download Nextcloud --- WORKDIR /var/www/html RUN wget https://download.nextcloud.com/server/releases/latest.tar.bz2 && \ tar -xjf latest.tar.bz2 && \ rm latest.tar.bz2 && \ chown -R www-data:www-data nextcloud # Change Apache port to 7890 RUN sed -i 's/80/7890/g' /etc/apache2/ports.conf && \ sed -i 's///' /etc/apache2/sites-available/000-default.conf # --- Install Collabora CODE --- RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7A4D1868 && \ echo "deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/ /" \ > /etc/apt/sources.list.d/collabora.list && \ apt-get update && apt-get install -y code-brand code \ && rm -rf /var/lib/apt/lists/* # Collabora default config RUN sed -i 's/0.0.0.0:9980/0.0.0.0:9980/' /etc/collabora-online/coolwsd.xml # --- Supervisor Config --- RUN mkdir -p /var/log/supervisor COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf EXPOSE 7890 9980 CMD ["/usr/bin/supervisord", "-n"]