benonymus

benonymus

Hey I am having an issue with file saving.
On windows it works nicely, but then I am trying to run the project on Ubuntu it seems like the folders are not getting created for the uploaded stuff and the file itself is not getting saved.
How can this be fixed?

Showing Posts 1 to 10

benonymus

benonymus OP

ok managed to get an error:
# tried 10 times to create an uploaded file at /tmp/plug-1536 but failed. Set PLUG_TMPDIR to a directory with write permission

benonymus

benonymus OP

if i manually add sudo chmod -R 777 on the folders that are required then it is working as intended

NobbZ

NobbZ

Under which app does your phoenix application run and under which your reverse-proxy (if you use one)? Who owns the created temp-file/folder? With what permissions is it created originally?

benonymus

benonymus OP

Hey I use nginx fro reverse proxy, and the app is started from the mix release command output.
well i assume root owns it, so my user cannot write and copy from it.
to make it worse the issue is back

benonymus

benonymus OP

I logged out the conn too, and the part of it that has the data to update looks like this:

params: %{
    "_csrf_token" => "SHZoEW4jB1IaRC9uBAsUNTUKTh8QAAAA04+kETRcM3b4ujpZza70Ag==",
    "_method" => "put",
    "_utf8" => "✓",
    "id" => "2",
    "user" => %{
      "avatar" => %Plug.Upload{
        content_type: "image/jpeg",
        filename: "ConceptArt_SneakySneaky_011 (2).jpg",
        path: "/tmp/plug-1536/multipart-1536590148-521595600991125-4"
      },
      "name" => "bencepic",
      "password" => "",
      "role_id" => "1",
      "team_id" => ""
    }
  }

the questionable part here is the avatar since here is shows already that plug.upload, how could i log out the original request with the picture?

benonymus

benonymus OP

other weird thing is that with the get request that gets executed before this is working nicely, doesnt complain about not being logged in - 401

benonymus

benonymus OP

Hey the “solution” i said before seems to be only temporary, do you maybe know a better solution?

NobbZ

NobbZ

Depends on the answers to my questions, which you haven’t given yet.

I’d prefer answers checked in the config or in the filesystem over assumptions.

benonymus

benonymus OP

in the config of the elixir project?

NobbZ

NobbZ

  • User and group the phoenix project does run under, shoulb be in your service file to start the service
  • User and group the reverse proxy runs under, should be in your service file to start the service
  • Owner of the temp folder, just check when its created, also write down permission bits
  • Do you run in a SE linux context? (getenforce and sestatus)

Where Next? Top

Trending in Questions Top

Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
FlyingNoodle
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
psy-q
I’m trying to set up Emacs with elixir-ls via lsp-mode and credo via Flycheck. This should mostly be preconfigured as Flycheck picks up c...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews