I have created an App using Oxygen (using `PackageCompiler`) and have put it int…o a Docker image (a multi-stage build where I only copied the contents of the App folder to the final image).
The app per se works fine, I can call my get and post endpoints.
However, when I go to `127.0.0.1:8980/docs`, the container throws an error
```
SystemError: opening file "/home/jl/.julia/packages/Oxygen/jV71k/data/swagger@5.7.2/swagger-ui-bundle.js": No such file or directory
```
Since the `.julia/packages` directory no longer exists, this is no big surprise.
The same problem occurs if I copy the app and move it to another computer without a Julia installation.
I don't quite understand why this is the case since you are using `RelocatableFolders`; somehow the scratch space is not generated?
Julia: Version 1.11.3
Oxygen: Version 1.7.1
```
[ Info: Listening on: 0.0.0.0:8980, thread id: 1
┌ Error: handle_connection handler error.
│
│ ===========================
│ HTTP Error message:
│
│ ERROR: TaskFailedException
│ Stacktrace:
│ [1] wait(?::Task)
│ @ Base ./task.jl:370
│ [2] (::Oxygen.Core.var"#18#21"{Oxygen.Core.var"#16#17"{Oxygen.Core.var"#30#32"{Oxygen.Core.var"#35#38"{HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, Bool, Bool}, HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, String}}})(?::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}})
│ @ Oxygen.Core ~/.julia/packages/Oxygen/jV71k/src/core.jl:289
│ [3] #invokelatest#2
│ @ ./essentials.jl:1055 [inlined]
│ [4] invokelatest
│ @ ./essentials.jl:1052 [inlined]
│ [5] handle_connection(?::Function, ?::HTTP.Connections.Connection{Sockets.TCPSocket}, ?::HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, ?::Int64, ?::Function, ?::Bool)
│ @ HTTP.Servers ~/.julia/packages/HTTP/MIUdD/src/Servers.jl:469
│ [6] (::HTTP.Servers.var"#16#17"{Oxygen.Core.var"#18#21"{Oxygen.Core.var"#16#17"{Oxygen.Core.var"#30#32"{Oxygen.Core.var"#35#38"{HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, Bool, Bool}, HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, String}}}, HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, Set{HTTP.Connections.Connection}, Int64, Oxygen.Core.var"#26#27", ReentrantLock, Bool, Base.Semaphore, HTTP.Connections.Connection{Sockets.TCPSocket}})()
│ @ HTTP.Servers ~/.julia/packages/HTTP/MIUdD/src/Servers.jl:401
│
│ nested task error: TaskFailedException
│ Stacktrace:
│ [1] wait(?::Task)
│ @ Base ./task.jl:370
│ [2] (::Oxygen.Core.var"#19#22"{HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}}, Oxygen.Core.var"#16#17"{Oxygen.Core.var"#30#32"{Oxygen.Core.var"#35#38"{HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, Bool, Bool}, HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, String}}})()
│ @ Oxygen.Core ~/.julia/packages/Oxygen/jV71k/src/core.jl:287
│
│ nested task error: SystemError: opening file "/home/jl/.julia/packages/Oxygen/jV71k/data/swagger@5.7.2/swagger-ui-bundle.js": No such file or directory
│ Stacktrace:
│ [1] systemerror(?::String, ?::Int32; ?::Nothing)
│ @ Base ./error.jl:176
│ [2] systemerror
│ @ ./error.jl:175 [inlined]
│ [3] open(?::String; ?::Bool, ?::Nothing, ?::Nothing, ?::Nothing, ?::Nothing, ?::Nothing)
│ @ Base ./iostream.jl:295
│ [4] open
│ @ ./iostream.jl:277 [inlined]
│ [5] open(?::Base.var"#472#473"{String}, ?::String; ?::@Kwargs{})
│ @ Base ./io.jl:408
│ [6] swaggerhtml(?::String, ?::String)
│ @ Oxygen.Core.AutoDoc ./<missing>:0
│ [7] (::Oxygen.Core.var"#65#67"{Oxygen.Core.var"#69#73"{String, String}, Oxygen.Core.Handlers.var"#26#28"{Oxygen.Core.Handlers.var"#26#27#29"{Oxygen.Core.Handlers.var"#4#16"}}})(?::HTTP.Messages.Request)
│ @ Oxygen.Core ./<missing>:0
│ [8] (::HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing})(?::HTTP.Messages.Request)
│ @ HTTP.Handlers ~/.julia/packages/HTTP/MIUdD/src/Handlers.jl:439
│ [9] (::Oxygen.Core.var"#30#32"{Oxygen.Core.var"#35#38"{HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, Bool, Bool}, HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, String})(?::HTTP.Messages.Request)
│ @ Oxygen.Core ~/.julia/packages/Oxygen/jV71k/src/core.jl:397
│ [10] #13
│ @ ~/.julia/packages/Oxygen/jV71k/src/core.jl:255 [inlined]
│ [11] (::HTTP.Handlers.var"#1#2"{Oxygen.Core.var"#13#15"{Oxygen.Core.var"#30#32"{Oxygen.Core.var"#35#38"{HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, Bool, Bool}, HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, String}, Sockets.IPv4, HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}}}})(?::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}})
│ @ HTTP.Handlers ~/.julia/packages/HTTP/MIUdD/src/Handlers.jl:58
│ [12] #16
│ @ ~/.julia/packages/Oxygen/jV71k/src/core.jl:272 [inlined]
│ [13] (::Oxygen.Core.var"#20#23"{HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}}, Oxygen.Core.var"#16#17"{Oxygen.Core.var"#30#32"{Oxygen.Core.var"#35#38"{HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, Bool, Bool}, HTTP.Handlers.Router{typeof(HTTP.Handlers.default404), typeof(HTTP.Handlers.default405), Nothing}, String}}})()
│ @ Oxygen.Core ~/.julia/packages/Oxygen/jV71k/src/core.jl:286
│ request =
│ HTTP.Messages.Request:
│ """
│ GET /docs HTTP/1.1
│ Host: 127.0.0.1:8980
│ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:137.0) Gecko/20100101 Firefox/137.0
│ Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
│ Accept-Language: de,en-US;q=0.7,en;q=0.3
│ Accept-Encoding: gzip, deflate, br, zstd
│ Connection: keep-alive
│ Upgrade-Insecure-Requests: 1
│ Sec-Fetch-Dest: document
│ Sec-Fetch-Mode: navigate
│ Sec-Fetch-Site: none
│ Sec-Fetch-User: ?1
│ Priority: u=0, i
│
│ """
└ @ HTTP.Servers ~/.julia/packages/HTTP/MIUdD/src/Servers.jl:483
[ Info: 2025-04-15T15:01:40+0000 - 172.17.0.1:35380 - "GET /docs HTTP/1.1" 500
```