Skip to content
This repository has been archived by the owner on May 3, 2024. It is now read-only.

Deployment file_system dependency #61

Open
jwright opened this issue Aug 12, 2022 · 4 comments
Open

Deployment file_system dependency #61

jwright opened this issue Aug 12, 2022 · 4 comments

Comments

@jwright
Copy link

jwright commented Aug 12, 2022

I am trying to deploy an app with Pardall Markdown as a dependency to Gigalixir but the application does not start because it does not have inotify-tools installed, which is a dependency to file_system.

Has anyone successfully deployed this to either Heroku or Gigalixir? I know the use of buildpacks can be used but so far, I have not been able to get it to work.

@alfredbaudisch
Copy link
Owner

Good point @jwright. I have to investigate how can this be worked around Heroku et all.

@alfredbaudisch
Copy link
Owner

It actually may not be possible, because Pardall Markdown relies on inotify as the core feature. I'll keep investigating, please update me if you find something else.

@jwright
Copy link
Author

jwright commented Aug 12, 2022

@alfredbaudisch Thanks for the reply. I was researching a lot and I have not been able to find much.

I did find the Heroku Buildpack Apt which may be able to work using an Aptfile with inotify-tools.

I tried that but not on Heroku yet as I am hosted on Gigalixir. It did not work but that may be unrelated to the buildpack for a regular mix project. I am using Distillery to deploy my app, so that is another issue.

@stepchud
Copy link

I've gotten Pardall Markdown working on Heroku, Fly.io and in GitHub Actions CI now. It's kind of annoying that you have to install the dependency in every VM that runs the app. It would be really nice if you could somehow disable the filesystem watcher via ENV, since I don't really use it in production deploys. I realize this would remove a lot of the value Pardall provides but the system dependency is a lot to maintain.

  1. The Aptfile approach works on Heroku.
  2. Fly.io uses Docker containers for deployment and it's a matter of adding inotify-tools to the right place in your Dockerfile. I use a debian image (w/ apt-get command) and the specific RUN command looks like this:
RUN apt-get install -y inotify-tools \
  && apt-get clean && rm -f /var/lib/apt/lists/*_*
  1. For GitHub Actions, my first step in the Workflow looks like:
    steps:
    # Step: Install OS dependencies
    - name: apt-get deps
      run: sudo apt-get install inotify-tools

Otherwise, it would be really nice if the tool removed this dependency and handled filesystem observation without any external dependencies. I honestly have no idea how much work that would require but if the maintainer is interested I might be able to look into this option for @alfredbaudisch.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants