Closed poVoq closed 1 month ago
I am trying to run the official docker container version 2.0.2 via Podman, but when starting the container it immediately dies with the following error in the logs:
systemd[1]: Started etherpad-app.service - Etherpad Container. etherpad-app[104362]: 7e670235bdca9b31e8b23ed3fe01357950ecd1bc7a023826013c2c2cca5cbf90 systemd-etherpad-app[104384]: systemd-etherpad-app[104384]: > etherpad@2.0.2 prod /opt/etherpad-lite systemd-etherpad-app[104384]: > pnpm --filter ep_etherpad-lite run prod systemd-etherpad-app[104384]: systemd-etherpad-app[104384]: No projects matched the filters in "/opt/etherpad-lite"
I already tried to alter the permissions of the mounted /src and /bin folders to UID 5001, but that didn't make a difference.
Maybe there is something new in the 2.x release that isn't reflected in the docker setup documentation yet?
Thanks for the help.
Thanks for the issue. I am wondering how did you start the container? I think Podman uses the same syntax for spawning containers like Docker. I think your problem is that you mounted these folders. If you want to run it standalone without etherpad-lite cloned locally you can use this:
# Add this file to extend the docker-compose setup, e.g.:
# docker-compose build --no-cache
# docker-compose up -d --build --force-recreate
services:
app:
image: etherpad/etherpad:latest
tty: true
stdin_open: true
volumes:
# no volume mapping of node_modules as otherwise the build-time installed plugins will be overwritten with the mount
# the same applies to package.json and pnpm-lock.yaml in root dir as these would also get overwritten and build time installed plugins will be removed
- ./plugins:/opt/etherpad-lite/src/plugin-packages
- ./var:/opt/etherpad-lite/var
depends_on:
- postgres
environment:
# change from development to production if needed
NODE_ENV: production
ADMIN_PASSWORD: ${DOCKER_COMPOSE_APP_DEV_ADMIN_PASSWORD}
DB_CHARSET: ${DOCKER_COMPOSE_APP_DEV_ENV_DB_CHARSET:-utf8mb4}
DB_HOST: postgres
DB_NAME: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_DATABASE:?}
DB_PASS: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_PASSWORD:?}
DB_PORT: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_PORT:-5432}
DB_TYPE: "postgres"
DB_USER: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_USER:?}
# For now, the env var DEFAULT_PAD_TEXT cannot be unset or empty; it seems to be mandatory in the latest version of etherpad
DEFAULT_PAD_TEXT: ${DOCKER_COMPOSE_APP_DEV_ENV_DEFAULT_PAD_TEXT:- }
DISABLE_IP_LOGGING: ${DOCKER_COMPOSE_APP_DEV_ENV_DISABLE_IP_LOGGING:-true}
SOFFICE: ${DOCKER_COMPOSE_APP_DEV_ENV_SOFFICE:-null}
TRUST_PROXY: ${DOCKER_COMPOSE_APP_DEV_ENV_TRUST_PROXY:-true}
restart: always
ports:
- "${DOCKER_COMPOSE_APP_DEV_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_DEV_PORT_TARGET:-9001}"
postgres:
image: postgres:15-alpine
# Pass config parameters to the mysql server.
# Find more information below when you need to generate the ssl-relevant file your self
environment:
POSTGRES_DB: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_DATABASE:?}
POSTGRES_PASSWORD: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_PASSWORD:?}
POSTGRES_PORT: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_PORT:-5432}
POSTGRES_USER: ${DOCKER_COMPOSE_POSTGRES_DEV_ENV_POSTGRES_USER:?}
PGDATA: /var/lib/postgresql/data/pgdata
restart: always
# Exposing the port is not needed unless you want to access this database instance from the host.
# Be careful when other postgres docker container are running on the same port
# ports:
# - "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data/pgdata
volumes:
postgres_data:
Changing those mounted directories indeed seems to have made the container start (I am using Podman with Quadlet), but it is odd that in the official docker-compose file different directories are mounted: https://github.com/ether/etherpad-lite/blob/develop/docker-compose.yml
Edit: the /plugins directory seems to not actually get populated with anything? Is that only for custom plugins not installed via the admin menu? Edit2: was a typo, works now.
Thanks. Hopefully this issue is fixed now. I added everything in volumes and they are now owned by the correct user
I am trying to run the official docker container version 2.0.2 via Podman, but when starting the container it immediately dies with the following error in the logs:
I already tried to alter the permissions of the mounted /src and /bin folders to UID 5001, but that didn't make a difference.
Maybe there is something new in the 2.x release that isn't reflected in the docker setup documentation yet?
Thanks for the help.