Volume path overlap with existing paths inside image
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 52/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- docker, php, sqlite
- Bereich
- database, infrastructure
Rechercherichtung
Read the container configuration and the LinkStack application setup to find how /htdocs is mounted and where the SQLite database is configured or seeded. Check the existing volume definitions and startup process first. Done means the database can use its own configurable location, is created at container start, and only /htdocs/storage/app/public needs to persist uploaded files.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The /htdocs webroot inside the container is currently recommended to be configured as volume. However since it contains files required for the application to function, it causes issues with very common use-cases which override the volume content at mount, leaving an empty directory.
The following use-cases are currently impossible without workarounds (see below):
- Bind volumes with Docker/Podman/Compose
- Kubernetes volumes
A workaround is to copy the original content of the image in the volume with an init container, prior to the main container starting. But this rather hacky and not ideal.
The following changes would be required at minimum:
- Allow defining the location of the SQLite database file: that way it can be configured to be read from its own dedicated (sub-)directory and configured as volume
- I see a non-empty database is already present on the image's FS. If it is somehow seeded and built into the app that's also bad practice and instead it should be created from scratch at container start
- Only mount
/htdocs/storage/app/publicas a volume to persist file uploads: AFAIK the rest of the webroot doesn't need to be persisted
- Vorherrschende Sprache
- Shell
- Sterne
- 527
- Forks
- 72
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus LinkStackOrg/linkstack-docker
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
LinkStackOrg/linkstack-docker#170 · 14 Kommentare · 10 Reaktionen ·
-
Potential information disclosure: runtime Laravel log accessible without authentication in a Docker deploymentEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
LinkStackOrg/linkstack-docker#168 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
LinkStackOrg/linkstack-docker#166 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 57/100
LinkStackOrg/linkstack-docker#161 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
LinkStackOrg/linkstack-docker#160 · 3 Kommentare ·
Alle Issues in LinkStackOrg/linkstack-docker
Ähnliche Issues
-
数据界面的横向滚动条缺失Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
zilliztech/attu#1037 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
alunduil/alunduil-chezmoi#964 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug-unconfirmed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
Maintainer antworten meist innerhalb von 1 Tag