cloudron-baikal (sha256:8eaba15feb703f555dd261b1f22bfb0a0a72537f8c3b66a22c2ae3877597bea3)

Published 2026-03-13 21:19:19 +00:00 by timconsidine

Installation

docker pull forgejo.tcjc.uk/cca/cloudron-baikal@sha256:8eaba15feb703f555dd261b1f22bfb0a0a72537f8c3b66a22c2ae3877597bea3
sha256:8eaba15feb703f555dd261b1f22bfb0a0a72537f8c3b66a22c2ae3877597bea3

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.ref.name=ubuntu
LABEL org.opencontainers.image.version=24.04
ADD file:6df775300d76441aa33f31b22c1afce8dfe35c8ffbc14ef27c27009235b12a95 in /
CMD ["/bin/bash"]
ENV DEBIAN_FRONTEND=noninteractive
RUN /bin/sh -c echo 'Acquire::http {No-Cache=True;};' > /etc/apt/apt.conf.d/no-cache && echo 'APT::Install-Recommends "0"; APT::Install-Suggests "0";' > /etc/apt/apt.conf.d/01norecommend && echo 'Dir::Cache { srcpkgcache ""; pkgcache ""; }' > /etc/apt/apt.conf.d/02nocache && echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/02compress-indexes # buildkit
SHELL [/bin/bash -c]
RUN /bin/bash -c apt -y update && apt -y --no-install-recommends install ca-certificates curl dirmngr git gpg gpg-agent wget unzip zip software-properties-common build-essential make gcc g++ sudo cron dos2unix tini && curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list && apt -y update && apt -y --no-install-recommends install supervisor iputils-ping telnet netcat-openbsd lsof net-tools openssl dnsutils rsync bind9-host stress pv crudini xmlstarlet moreutils jq pwgen swaks vim nano cmake pkg-config openssh-client openssh-server uuid less zip file apache2 libapache2-mod-perl2 apache2-dev nginx-full optipng pngquant jpegoptim sqlite3 mysql-client-8.0 redis-tools postgresql-client-16 ldap-utils gettext imagemagick graphicsmagick libcurl4 libcurl4-openssl-dev libexpat1-dev libffi-dev libgdbm-dev libicu-dev libmysqlclient-dev libncurses5-dev libpq-dev libre2-dev libreadline-dev libssl-dev libxml2-dev libxslt-dev libyaml-dev zlib1g-dev libmcrypt-dev libgmp-dev libfreetype6-dev libjpeg-dev libjpeg-turbo8-dev libpng-dev chrpath libxft-dev libfontconfig1-dev libkrb5-dev libxslt1-dev libldap2-dev libsasl2-dev libtool libvips libzmq3-dev locales-all locales libmagic1 xmlsec1 perl libimage-exiftool-perl python3-dev python3-pip python3-setuptools python3-venv php8.3 php8.3-{bcmath,bz2,cgi,cli,common,curl,dba,dev,enchant,fpm,gd,gmp,imap,interbase,intl,ldap,mbstring,mysql,odbc,opcache,pgsql,phpdbg,pspell,readline,snmp,soap,sqlite3,sybase,tidy,xml,xmlrpc,xsl,zip} libapache2-mod-php8.3 php-{apcu,date,fpdf,imagick,gnupg,pear,redis,smbclient,twig,uuid,validate,zmq} composer ghostscript libgs-dev ffmpeg x264 x265 && rm -rf /var/cache/apt /var/lib/apt/lists # buildkit
ARG NODE_VERSION=22.14.0
RUN |1 NODE_VERSION=22.14.0 /bin/bash -c mkdir -p /usr/local/node-$NODE_VERSION && curl -L https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz | tar zxf - --strip-components 1 -C /usr/local/node-$NODE_VERSION # buildkit
ENV PATH=/usr/local/node-22.14.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN |1 NODE_VERSION=22.14.0 /bin/bash -c curl https://downloads.mongodb.com/compass/mongodb-mongosh_2.4.0_amd64.deb -o /tmp/mongosh.deb && dpkg -i /tmp/mongosh.deb && rm /tmp/mongosh.deb && curl https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2204-x86_64-100.11.0.deb -o /tmp/mongotools.deb && dpkg -i /tmp/mongotools.deb && rm /tmp/mongotools.deb # buildkit
RUN |1 NODE_VERSION=22.14.0 /bin/bash -c curl -L https://github.com/tianon/gosu/releases/download/1.17/gosu-amd64 -o /usr/local/bin/gosu && chmod +x /usr/local/bin/gosu # buildkit
ARG YQVERSION=4.45.1
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c curl -sL https://github.com/mikefarah/yq/releases/download/v${YQVERSION}/yq_linux_amd64 -o /usr/bin/yq && chmod +x /usr/bin/yq # buildkit
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c userdel --remove ubuntu && adduser --uid 1000 --disabled-login --gecos 'Cloudron' cloudron && passwd -d cloudron # buildkit
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c addgroup --gid 500 --system media && usermod -a -G media cloudron && usermod -a -G media www-data # buildkit
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c echo "set noswapfile" >> /root/.vimrc && gosu cloudron:cloudron bash -c 'echo "set noswapfile" >> /home/cloudron/.vimrc' && echo "unset historylog" >> /etc/nanorc # buildkit
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c update-locale LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 LC_ALL=en_US.UTF-8 # buildkit
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c for dir in .cache .config .node-gyp .npm .mongodb .ssh .yarn .local; do rm -rf /root/${dir} && ln -sf /run/root${dir} /root/${dir} && mkdir /run/root${dir}; rm -rf /home/cloudron/${dir} && ln -sf /run/cloudron${dir} /home/cloudron/${dir} && mkdir /run/cloudron${dir} && chown --no-dereference cloudron:cloudron /home/cloudron/${dir}; chown cloudron:cloudron /run/cloudron${dir}; done # buildkit
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c for file in .bash_history .dbshell .inputrc .irb_history .mongorc.js .mysql_history .psql_history .mongoshrc.js; do ln -sf /run/root${file} /root/${file}; ln -sf /run/cloudron${file} /home/cloudron/${file} && chown --no-dereference cloudron:cloudron /home/cloudron/${file}; done # buildkit
COPY cloudron_addons /usr/local/cloudron_addons # buildkit
RUN |2 NODE_VERSION=22.14.0 YQVERSION=4.45.1 /bin/bash -c echo -e "\nsource /usr/local/cloudron_addons\n\n[[ -f /app/data/.bashrc ]] && source /app/data/.bashrc\n" >> /root/.bashrc # buildkit
RUN /bin/bash -c apt-get update && apt-get install -y --no-install-recommends ca-certificates curl ne nginx php-cli php-curl php-fpm php-gd php-intl php-mbstring php-mysql php-pgsql php-sqlite3 php-xml php-zip supervisor unzip && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/bash -c mkdir -p /app/data # buildkit
WORKDIR /app/code
ARG BAIKAL_VERSION=0.11.1
RUN |1 BAIKAL_VERSION=0.11.1 /bin/bash -c curl -L -o /tmp/baikal.zip "https://github.com/sabre-io/Baikal/releases/download/${BAIKAL_VERSION}/baikal-${BAIKAL_VERSION}.zip" && unzip -q /tmp/baikal.zip -d /tmp && rm -rf /app/code/* && mv /tmp/baikal/* /app/code/ && rm -rf /tmp/baikal /tmp/baikal.zip # buildkit
RUN |1 BAIKAL_VERSION=0.11.1 /bin/bash -c mkdir -p /app/code/defaults && mv /app/code/config /app/code/defaults/config && mv /app/code/Specific /app/code/defaults/Specific && ln -sf /app/data/config /app/code/config && ln -sf /app/data/Specific /app/code/Specific # buildkit
RUN |1 BAIKAL_VERSION=0.11.1 /bin/bash -c rm -f /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default && mkdir -p /tmp/nginx && cat > /etc/nginx/nginx.conf <<'EOF' user cloudron; worker_processes auto; pid /tmp/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /dev/stdout; error_log /dev/stderr; sendfile on; keepalive_timeout 65; client_body_temp_path /tmp/nginx/client_body; proxy_temp_path /tmp/nginx/proxy; fastcgi_temp_path /tmp/nginx/fastcgi; uwsgi_temp_path /tmp/nginx/uwsgi; scgi_temp_path /tmp/nginx/scgi; map $http_x_forwarded_proto $fastcgi_https { default off; https on; } server { listen 3000 default_server; server_name _; root /app/code/html; index index.php; location = /.well-known/caldav { return 301 /dav.php; } location = /.well-known/carddav { return 301 /dav.php; } charset utf-8; location = /healthcheck { add_header Content-Type text/plain; return 200 "OK\n"; } location ~ /(\.ht|Core|Specific|config) { deny all; return 404; } location ~ ^(.+\.php)(.*)$ { try_files $fastcgi_script_name =404; include /etc/nginx/fastcgi_params; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_param HTTP_AUTHORIZATION $http_authorization; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS $fastcgi_https; fastcgi_param HTTP_X_FORWARDED_PROTO $http_x_forwarded_proto; fastcgi_param HTTP_X_FORWARDED_HOST $http_x_forwarded_host; fastcgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for; } } } EOF # buildkit
RUN |1 BAIKAL_VERSION=0.11.1 /bin/bash -c PHPVER="$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')" && PHPFPM_POOL="/etc/php/${PHPVER}/fpm/pool.d/www.conf" && PHPFPM_CONF="/etc/php/${PHPVER}/fpm/php-fpm.conf" && PHPFPM_INI="/etc/php/${PHPVER}/fpm/php.ini" && sed -i -e 's|^listen = .*|listen = /tmp/php-fpm.sock|g' -e 's|^user = .*|user = cloudron|g' -e 's|^group = .*|group = cloudron|g' -e 's|^listen.owner = .*|listen.owner = cloudron|g' -e 's|^;listen.owner = .*|listen.owner = cloudron|g' -e 's|^listen.group = .*|listen.group = cloudron|g' -e 's|^;listen.group = .*|listen.group = cloudron|g' -e 's|^;clear_env = .*|clear_env = no|g' "$PHPFPM_POOL" && grep -q '^catch_workers_output' "$PHPFPM_POOL" || echo 'catch_workers_output = yes' >> "$PHPFPM_POOL" && grep -q '^decorate_workers_output' "$PHPFPM_POOL" || echo 'decorate_workers_output = no' >> "$PHPFPM_POOL" && grep -q '^env\\[BAIKAL_PATH_CONFIG\\]' "$PHPFPM_POOL" || echo 'env[BAIKAL_PATH_CONFIG] = /app/data/config/' >> "$PHPFPM_POOL" && grep -q '^env\\[BAIKAL_PATH_SPECIFIC\\]' "$PHPFPM_POOL" || echo 'env[BAIKAL_PATH_SPECIFIC] = /app/data/Specific/' >> "$PHPFPM_POOL" && sed -i -e 's|^error_log = .*|error_log = /dev/stderr|g' "$PHPFPM_CONF" && sed -i -E -e 's|^;?session.save_path =.*|session.save_path = \"/tmp/php-sessions\"|g' "$PHPFPM_INI" # buildkit
RUN |1 BAIKAL_VERSION=0.11.1 /bin/bash -c PHPVER="$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')" && PHPFPM_BIN="$(command -v php-fpm${PHPVER})" && PHPFPM_CONF="/etc/php/${PHPVER}/fpm/php-fpm.conf" && cat > /etc/supervisor/supervisord.conf <<EOF [supervisord] nodaemon=true logfile=/dev/null pidfile=/tmp/supervisord.pid childlogdir=/tmp/supervisor [program:php-fpm] command=${PHPFPM_BIN} --nodaemonize --fpm-config ${PHPFPM_CONF} autorestart=true startretries=3 stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:nginx] command=/usr/sbin/nginx -g "daemon off;" -c /etc/nginx/nginx.conf autorestart=true startretries=3 stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 EOF # buildkit
COPY start.sh /app/code/start.sh # buildkit
RUN |1 BAIKAL_VERSION=0.11.1 /bin/bash -c chmod +x /app/code/start.sh # buildkit
CMD ["/app/code/start.sh"]

Labels

Key Value
org.opencontainers.image.ref.name ubuntu
org.opencontainers.image.version 24.04
Details
Container
2026-03-13 21:19:19 +00:00
1
OCI / Docker
linux/amd64
811 MiB
Versions (3) View all
latest 2026-03-13
1.0.1 2026-03-13
1.0.0 2026-03-13