Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. SFTPGo

SFTPGo

Scheduled Pinned Locked Moved Solved App Wishlist
22 Posts 7 Posters 2.2k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BrutalBirdieB Offline
    BrutalBirdieB Offline
    BrutalBirdie
    Partner
    wrote on last edited by BrutalBirdie
    #8

    WebDav also working.
    Tested with curl.
    e.g:

    wget https://git.cloudron.io/BrutalBirdie/sftpgo-cloudron-app/-/raw/0.0.8/CloudronManifest.json
    curl -T CloudronManifest.json -u REDACTED:REDACTED https://sftpgo.cloudron.dev:8888
    Created
    

    Buuuuuut this 8888 is rather ugly imho.
    I would opt for an extra subdomain via. https://docs.cloudron.io/packaging/manifest/#httpports so you don't need the 8888 🤔
    Will test it.

    Like my work? Consider donating a drink. Cheers!

    1 Reply Last reply
    5
    • girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by
      #9

      @BrutalBirdie great progress. What's pending in the app? Do you think we should consider publishing it?

      1 Reply Last reply
      1
      • BrutalBirdieB Offline
        BrutalBirdieB Offline
        BrutalBirdie
        Partner
        wrote on last edited by
        #10

        OIDC stills needs work and I struggle to figure out what is wrong.
        Testing all features including all the support for gcs, azure blob and S3 support for users I did not do yet.
        Tests also missing for the app and needs to be done.

        Imo, could be published as unstable (when OIDC is working 😬), so people can start testing to give feedback. 👍

        Like my work? Consider donating a drink. Cheers!

        1 Reply Last reply
        3
        • BrutalBirdieB Offline
          BrutalBirdieB Offline
          BrutalBirdie
          Partner
          wrote on last edited by BrutalBirdie
          #11

          WIP - Docker Image 0.0.10

          Okay so after some tinkering and reading SFTPGo Code a bit I figures out this seems the correct redirect uris for the manifest.

              "oidc": {
                  "loginRedirectUri": "/web/oidc/redirect, /web/admin/oidclogin, /web/client/oidclogin",
                  "logoutRedirectUri": "/",
                  "tokenSignatureAlgorithm": "RS256"
              }
          

          But now I see this:

          image.png

          Hmmmmmm yea.... create a user? Please? Pretty please?

          Ugh.....
          https://docs.sftpgo.com/2.6/dynamic-user-mod/

          Did I understand this doc right? I need to write a small script which I then need to package with Cloudron?

          UUUGGGGHHHHHHHHH OKKKKAAAAYYYY FINE!

          Like my work? Consider donating a drink. Cheers!

          1 Reply Last reply
          0
          • BrutalBirdieB Offline
            BrutalBirdieB Offline
            BrutalBirdie
            Partner
            wrote on last edited by BrutalBirdie
            #12

            I've done it. . . . OIDC is now working.
            Use Version 0.0.11 but now the login via FileZilla with the Cloudron password is not working
            . . .


            Hmmm this happend now with a FileZilla sftp:// connection:

            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:30.125","sender":"dataprovider_postgresql","message":"pre-login hook completed, elapsed: 47.318602ms"}
            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:30.132","sender":"dataprovider_postgresql","message":"user \"elias.hackradt\" added/updated from pre-login hook response, id: 1"}
            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:30.157","sender":"connection_failed","client_ip":"2a02:8109:ab82:c600:200b:7676:a14b:4ae1","username":"elias.hackradt","login_type":"keyboard-interactive","protocol":"SSH","error":"credentials cannot be null or empty"}
            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:30.162","sender":"defender","client_ip":"2a02:8109:ab82:c600:200b:7676:a14b:4ae1","protocol":"SSH","event":"LoginFailed","increase_score_by":1,"score":9}
            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:31.223","sender":"dataprovider_postgresql","message":"pre-login hook completed, elapsed: 35.230284ms"}
            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:31.226","sender":"dataprovider_postgresql","message":"user \"elias.hackradt\" added/updated from pre-login hook response, id: 1"}
            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:31.250","sender":"connection_failed","client_ip":"2a02:8109:ab82:c600:200b:7676:a14b:4ae1","username":"elias.hackradt","login_type":"keyboard-interactive","protocol":"SSH","error":"read tcp [fd00:c107:d509::23]:2022->[2a02:8109:ab82:c600:200b:7676:a14b:4ae1]:4271: read: connection reset by peer"}
            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:31.253","sender":"defender","client_ip":"2a02:8109:ab82:c600:200b:7676:a14b:4ae1","protocol":"SSH","event":"LoginFailed","increase_score_by":1,"score":10}
            

            I mean leaking the password via. maybe even an unsecured ftp connection is bad.
            sftp is a secure connection so the password could be transmitted for the OIDC login? I mean the log states

            Jan 26 01:51:04 {"level":"debug","time":"2025-01-26T00:56:30.132","sender":"dataprovider_postgresql","message":"user "elias.hackradt" added/updated from pre-login hook response, id: 1"}

            soooo login was OK I guess but the forward back to the sftp client is somehow faulty.

            What IS working, adding a ssh-pub key to my profile:
            239d8fa4-f8b7-4b02-8924-dbfd5d1ee8ca-image.png

            and using that key in filezilla to connect:
            66799cde-6168-4a9b-958c-f7d2afd871df-image.png
            6d0e663b-60c9-4944-8164-29a6ccde141f-image.png

            This could be a way to use OIDC with SFTPGo.

            Scraping my head how it would be best.

            Like my work? Consider donating a drink. Cheers!

            1 Reply Last reply
            0
            • BrutalBirdieB Offline
              BrutalBirdieB Offline
              BrutalBirdie
              Partner
              wrote on last edited by BrutalBirdie
              #13

              HAH even worse! With my current solution, you can send a random username. via. ftp and it will be created 🤣

              image.png

              image.png


              Writing a hotfix 😄
              Fixed with 0.0.12:

              • user spam via ftp clients or other clients is no longer possible.

              Time for sleep 💤

              Like my work? Consider donating a drink. Cheers!

              1 Reply Last reply
              2
              • BrutalBirdieB Offline
                BrutalBirdieB Offline
                BrutalBirdie
                Partner
                wrote on last edited by
                #14

                Image 0.0.13
                Changelog:

                • Added /app/data/oidc.ini which allows some control of the /app/code/oidc.py getting called on pre_login_hook
                [OIDC]
                # Enable / Disable OIDC dynamic user Creating output to /app/data/oidc.log
                DEBUG=False
                # Should Users that login via OIDC be created
                CREATE_USER=True
                # Should the User be enabled - 1 Enabled 0 Disabled
                USER_ENABLE=1
                # The default dir where user homes will be created with his username - NO TRAILING BACKSHLASH AND NO SINGLE OR DOUBLE QUOTES
                HOME_DIR=/app/data/userdata
                

                Like my work? Consider donating a drink. Cheers!

                1 Reply Last reply
                3
                • BrutalBirdieB Offline
                  BrutalBirdieB Offline
                  BrutalBirdie
                  Partner
                  wrote on last edited by
                  #15

                  Image 0.0.14

                  Changelog:

                  • Added SMTP Config

                  Like my work? Consider donating a drink. Cheers!

                  1 Reply Last reply
                  2
                  • necrevistonnezrN Offline
                    necrevistonnezrN Offline
                    necrevistonnezr
                    wrote on last edited by
                    #16

                    Is this ready for an "unstable" release?

                    1 Reply Last reply
                    2
                    • BrutalBirdieB Offline
                      BrutalBirdieB Offline
                      BrutalBirdie
                      Partner
                      wrote on last edited by
                      #17

                      I'd say yes. @girish 🙂

                      Like my work? Consider donating a drink. Cheers!

                      1 Reply Last reply
                      3
                      • C Offline
                        C Offline
                        ctrl
                        wrote on last edited by
                        #18

                        Tyvm @BrutalBirdie. Is there anything we can help to get this pushed into the official App Store? ^^

                        1 Reply Last reply
                        1
                        • J Offline
                          J Offline
                          jkammerer
                          wrote on last edited by
                          #19

                          i managed to install sftpgo from the @BrutalBirdie repository. while the server kept on working the webinterface is banned - restarting doesn't resolve this.

                          {"level":"debug","time":"2025-02-24T12:24:20.019","sender":"dataprovider_postgresql","message":"ban time updated for ip \"172.18.0.1\", increment (minutes): 15"}
                          

                          and to be honest i don't get how to update to the mentioned versions above 0.0.9 as they don't seem to be available?

                          BrutalBirdieB 1 Reply Last reply
                          0
                          • J jkammerer

                            i managed to install sftpgo from the @BrutalBirdie repository. while the server kept on working the webinterface is banned - restarting doesn't resolve this.

                            {"level":"debug","time":"2025-02-24T12:24:20.019","sender":"dataprovider_postgresql","message":"ban time updated for ip \"172.18.0.1\", increment (minutes): 15"}
                            

                            and to be honest i don't get how to update to the mentioned versions above 0.0.9 as they don't seem to be available?

                            BrutalBirdieB Offline
                            BrutalBirdieB Offline
                            BrutalBirdie
                            Partner
                            wrote on last edited by
                            #20

                            @jkammerer Hmmm this means the build in defender banned you for some reason.
                            Did you try to log in in the normal dashboard with the admin credentials or vice versa?

                            i don't get how to update to the mentioned versions above 0.0.9 as they don't seem to be available?

                            There is no other version yet. 0.0.9 is latest.
                            How to update? Simply get the newest CloudronManifest.json and run the update command.
                            Example:

                            cloudron update --app $LOCATION --image brutalbirdie/$IMAGENAME:$IMAGETAG
                            

                            Like my work? Consider donating a drink. Cheers!

                            1 Reply Last reply
                            1
                            • girishG Offline
                              girishG Offline
                              girish
                              Staff
                              wrote on last edited by
                              #21

                              I have published an initial version but it needs some fixes. Hopefully, in a better state in a day or two. Thanks @BrutalBirdie .

                              Tests are being added as well. https://git.cloudron.io/packages/sftpgo-app is the new location .

                              1 Reply Last reply
                              3
                              • girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #22

                                This is published, locking topic

                                1 Reply Last reply
                                1
                                • girishG girish locked this topic on
                                • girishG girish marked this topic as a question on
                                • girishG girish has marked this topic as solved on
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Bookmarks
                                • Search