nextcloud / nextcloud/docker

There should be a different entrypoint.sh script for each setup (apache and fpm)

Open
#2,091 8 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

1. To develop bug feature: auto config (environment variables) needs review
Dominant language
Shell
Stars
7.4k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

I've been using the nextcloud docker images for a while now without any issue until recently. Not that the issue was introduced by a change here but because of my usage of the image.

I want to extend the image in order to add functionnality like the live update script for the fulltextsearch application.

To do so, I used the nextcloud:apache as base and added scripts and supervisor and ended the Dockerfile with a new e.g.

CMD ["supervisord", "-c", "supervisor.conf"]

It was "working" but broke some parts of Nextcloud because the entrypoint.sh script ran partially. The reason is because that script has strong expectations on the CMD of the image.

E.g. this expects the CMD to contain apache:

image

As I understand, this was probably made to simplify the management of the 3 different images that are handled by this repo but it makes extending the images more difficult.

Writing this ticket, I came up with the idea that I could probably wrap my supervisor command in a script named apache-whatever but that would not a "great" experience.

What do you think ?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read entrypoint.sh and the Dockerfile definitions first, focusing on how the current script identifies the Apache and FPM setups from CMD. Compare the setup-specific startup paths and determine how separate entrypoint scripts would preserve the existing behavior while allowing an extended image to use a different command; done means both setups work without relying on a command containing apache or fpm.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, shell
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.