Skip to content

[WIP] Fix generated server compose dropping nginx-proxy-manager volumes#177

Merged
vsilent merged 3 commits intomainfrom
codex/fix-nginx-proxy-manager-volumes
May 7, 2026
Merged

[WIP] Fix generated server compose dropping nginx-proxy-manager volumes#177
vsilent merged 3 commits intomainfrom
codex/fix-nginx-proxy-manager-volumes

Conversation

@Codex
Copy link
Copy Markdown
Contributor

@Codex Codex AI commented May 6, 2026

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.


This section details on the original issue you should resolve

<issue_title>Generated server compose drops nginx-proxy-manager volumes</issue_title>
<issue_description>## Description
Server-side generated docker-compose.yml can drop nginx-proxy-manager volumes and other service settings even when they are declared in the project compose definition.

In Syncopia, the checked-in docker/prod/compose.yml includes:

  • npm-data:/data
  • npm-letsencrypt:/etc/letsencrypt
  • published ports 80, 81, and 443

After regeneration on the target server, nginx-proxy-manager restarted without its volumes mounted, which caused previously configured proxied hosts/settings to disappear and had to be restored manually.

Suspected Cause

The server deploy path appears to rebuild project services from the reduced stacker.yml service model and/or auto-generated proxy service rather than preserving the richer compose-file definition for production deploys.

Steps to Reproduce

  1. Define nginx-proxy-manager volumes and related settings in the production compose configuration.
  2. Deploy to a remote server through Stacker.
  3. Inspect the generated docker-compose.yml on the target server.
  4. Observe that nginx-proxy-manager volumes and/or extra service settings are missing.
  5. Restart/redeploy and observe loss of persisted NPM state.

Expected Behavior

The generated compose used on the target server should preserve declared service volumes and additional config, especially for stateful services like nginx-proxy-manager.

Actual Behavior

Generated compose can omit those settings, leading to container recreation without mounted volumes and loss of existing NPM state.

Acceptance Criteria

  • Add a failing regression test that proves generated remote compose preserves declared service volumes and additional service settings.
  • Add a BDD scenario for deploying a stack with stateful nginx-proxy-manager volumes and retaining prior configuration across redeploys.
  • Ensure remote/server deploy generation honors the configured production compose or fully carries equivalent service metadata through the Stacker payload.
  • Verify nginx-proxy-manager redeploys keep /data and /etc/letsencrypt mounted when defined by the project.</issue_description>

Comments on the Issue (you are @codex[agent] in this section)

@Codex Codex AI assigned Codex and vsilent May 6, 2026
@Codex Codex AI linked an issue May 6, 2026 that may be closed by this pull request
4 tasks
Codex AI and others added 2 commits May 6, 2026 10:22
Co-authored-by: vsilent <42473+vsilent@users.noreply.github.com>
Co-authored-by: vsilent <42473+vsilent@users.noreply.github.com>
@Codex Codex AI requested a review from vsilent May 6, 2026 10:28
@vsilent vsilent marked this pull request as ready for review May 7, 2026 08:56
@vsilent vsilent merged commit 35713df into main May 7, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generated server compose drops nginx-proxy-manager volumes

2 participants