The SFTP shell of flyctl isn’t very powerful, it can’t upload directories at all (yet). Some workarounds:
-
Create an archive and transfer it as @Hypermind suggested. To extract it, you can open a shell using
fly ssh console
then run the extraction command. -
Use scp/rsync. Downsides: slightly complex to set up the connection (example), and requires scp/rsync to be installed in the app’s VM.