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. Jirafeau
  3. Admin Interface link

Admin Interface link

Scheduled Pinned Locked Moved Jirafeau
19 Posts 6 Posters 4.5k Views 6 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.
  • jdaviescoatesJ jdaviescoates

    @subven said in Admin Interface link:

    @jdaviescoates please read the docs carefully. All configuration happens in custom.php.
    EDIT: Okay it was missleading because of what @luckow said. Changes in custom.php will overwrite static config at /run/config.php (not writeable).

    Yeah, but also, neither the first time instructions nor the docs actually mention the need to have to use a lowercase hashed pw.

    Sure, that can be discovered by reading the comments in custom.php or the comments in https://gitlab.com/mojo42/Jirafeau/-/blob/master/lib/config.original.php as linked to from the docs, but those are easily missed.

    It could be a bit clearer, that's all. Like if was mentioned it in the first time set-up and docs πŸ™‚

    subvenS Offline
    subvenS Offline
    subven
    wrote on last edited by subven
    #10

    @jdaviescoates sorry I was referring to the custom.php/config part. The hash lowercase stuff definitely has room for improvement.

    @necrevistonnezr can you please test what I said? I just uploaded a file and it seems that the uploader IP is not stored correctly. 2021-01-29 17_28_38-Jirafeau, dein Web-Speicher fΓΌr Dateien.png

    That IP is from the docker network. If this is true it could mean that the uploader IP policy will not work. We should take a look at:

    /* Proxy IP
     * If the installation is behind some reverse proxies, it is possible to set
     * the allowed proxy IP.
     * $cfg['proxy_ip'] = array('12.34.56.78');
     * Jirafeau will then get a visitor's IP from HTTP_X_FORWARDED_FOR
     * instead of REMOTE_ADDR.
     */
    $cfg['proxy_ip'] = array();
    
    jdaviescoatesJ 1 Reply Last reply
    1
    • subvenS subven

      @jdaviescoates sorry I was referring to the custom.php/config part. The hash lowercase stuff definitely has room for improvement.

      @necrevistonnezr can you please test what I said? I just uploaded a file and it seems that the uploader IP is not stored correctly. 2021-01-29 17_28_38-Jirafeau, dein Web-Speicher fΓΌr Dateien.png

      That IP is from the docker network. If this is true it could mean that the uploader IP policy will not work. We should take a look at:

      /* Proxy IP
       * If the installation is behind some reverse proxies, it is possible to set
       * the allowed proxy IP.
       * $cfg['proxy_ip'] = array('12.34.56.78');
       * Jirafeau will then get a visitor's IP from HTTP_X_FORWARDED_FOR
       * instead of REMOTE_ADDR.
       */
      $cfg['proxy_ip'] = array();
      
      jdaviescoatesJ Offline
      jdaviescoatesJ Offline
      jdaviescoates
      wrote on last edited by
      #11

      @subven said in Admin Interface link:

      $cfg['proxy_ip'] = array();

      Sounds promising.

      Do you know how we'd find out what IP(s) to put here? πŸ™‚

      I use Cloudron with Gandi & Hetzner

      subvenS 1 Reply Last reply
      0
      • jdaviescoatesJ jdaviescoates

        @subven said in Admin Interface link:

        $cfg['proxy_ip'] = array();

        Sounds promising.

        Do you know how we'd find out what IP(s) to put here? πŸ™‚

        subvenS Offline
        subvenS Offline
        subven
        wrote on last edited by subven
        #12

        @jdaviescoates @necrevistonnezr I think I figured it out. You have to put your docker network gateway IP. I don't know if it's the same for all Cloudrons so better check yours first.

        root@yourhostname:~# docker network inspect cloudron | grep Gateway
                            "Gateway": "172.18.0.1"
        

        custom.php -->

        $cfg['proxy_ip'] = array('172.18.0.1');
        

        After that, the admin UI shows my real (external) IP address as uploader. If your Cloudron runs in a local network, it should display your client IP address πŸ™‚

        EDIT: Seems like the internal docker network IP is the same for all Cloudrons. You should be happy using 172.18.0.1 πŸ™‚
        @girish this could also be permanently added to the config to allow uploader IP storage πŸ™‚

        girishG necrevistonnezrN 2 Replies Last reply
        1
        • subvenS subven

          @jdaviescoates please read the docs carefully. All configuration happens in custom.php. πŸ™‚

          EDIT: Okay it was missleading because of what @luckow said. Changes in custom.php will overwrite static config at /run/config.php (not writeable).

          luckowL Offline
          luckowL Offline
          luckow
          translator
          wrote on last edited by
          #13

          @subven sorry for the wrong filename.

          Pronouns: he/him | Primary language: German

          1 Reply Last reply
          0
          • subvenS subven

            @jdaviescoates @necrevistonnezr I think I figured it out. You have to put your docker network gateway IP. I don't know if it's the same for all Cloudrons so better check yours first.

            root@yourhostname:~# docker network inspect cloudron | grep Gateway
                                "Gateway": "172.18.0.1"
            

            custom.php -->

            $cfg['proxy_ip'] = array('172.18.0.1');
            

            After that, the admin UI shows my real (external) IP address as uploader. If your Cloudron runs in a local network, it should display your client IP address πŸ™‚

            EDIT: Seems like the internal docker network IP is the same for all Cloudrons. You should be happy using 172.18.0.1 πŸ™‚
            @girish this could also be permanently added to the config to allow uploader IP storage πŸ™‚

            girishG Offline
            girishG Offline
            girish
            Staff
            wrote on last edited by
            #14

            I have put a doc section on securing uploads here - https://docs.cloudron.io/apps/jirafeau/#restricting-uploads

            @subven thanks, I pushed out a new package now with the trust proxy setting.

            1 Reply Last reply
            2
            • subvenS subven

              I really like the current solution:

              2021-01-29 16_14_10-Ultratech.png

              @luckow said in Admin Interface link:

              As an addition:
              add this to the config.php to disallow anonymous upload.

              $cfg['upload_password'] = array('PASSWORD');

              This SHOULD be part of the documentation because I think not everybody is aware of what could happen if the service is publicly available.

              F Offline
              F Offline
              fjonker
              wrote on last edited by
              #15

              @subven Yes... so I totally missed the fact that there was an admin link icon for this (and other) apps! Thanks!

              1 Reply Last reply
              1
              • subvenS subven

                @jdaviescoates @necrevistonnezr I think I figured it out. You have to put your docker network gateway IP. I don't know if it's the same for all Cloudrons so better check yours first.

                root@yourhostname:~# docker network inspect cloudron | grep Gateway
                                    "Gateway": "172.18.0.1"
                

                custom.php -->

                $cfg['proxy_ip'] = array('172.18.0.1');
                

                After that, the admin UI shows my real (external) IP address as uploader. If your Cloudron runs in a local network, it should display your client IP address πŸ™‚

                EDIT: Seems like the internal docker network IP is the same for all Cloudrons. You should be happy using 172.18.0.1 πŸ™‚
                @girish this could also be permanently added to the config to allow uploader IP storage πŸ™‚

                necrevistonnezrN Offline
                necrevistonnezrN Offline
                necrevistonnezr
                wrote on last edited by necrevistonnezr
                #16

                @subven said in Admin Interface link:

                @jdaviescoates @necrevistonnezr I think I figured it out. You have to put your docker network gateway IP. I don't know if it's the same for all Cloudrons so better check yours first.

                root@yourhostname:~# docker network inspect cloudron | grep Gateway
                                    "Gateway": "172.18.0.1"
                

                custom.php -->

                $cfg['proxy_ip'] = array('172.18.0.1');
                

                After that, the admin UI shows my real (external) IP address as uploader. If your Cloudron runs in a local network, it should display your client IP address πŸ™‚

                EDIT: Seems like the internal docker network IP is the same for all Cloudrons. You should be happy using 172.18.0.1 πŸ™‚
                @girish this could also be permanently added to the config to allow uploader IP storage πŸ™‚

                Not the right setting yet, I think.
                $cfg['proxy_ip'] = array('172.18.0.1'); alone does not deny access to clients from other IPs.
                When I add $cfg['upload_ip'] = array('172.18.0.1');all IPs are blocked again, even for clients on the same network as the Cloudron server.

                EDIT: Using $cfg['upload_ip'] = array('192.168.1.0/24'); doesn't work either.

                girishG subvenS 2 Replies Last reply
                0
                • necrevistonnezrN necrevistonnezr

                  @subven said in Admin Interface link:

                  @jdaviescoates @necrevistonnezr I think I figured it out. You have to put your docker network gateway IP. I don't know if it's the same for all Cloudrons so better check yours first.

                  root@yourhostname:~# docker network inspect cloudron | grep Gateway
                                      "Gateway": "172.18.0.1"
                  

                  custom.php -->

                  $cfg['proxy_ip'] = array('172.18.0.1');
                  

                  After that, the admin UI shows my real (external) IP address as uploader. If your Cloudron runs in a local network, it should display your client IP address πŸ™‚

                  EDIT: Seems like the internal docker network IP is the same for all Cloudrons. You should be happy using 172.18.0.1 πŸ™‚
                  @girish this could also be permanently added to the config to allow uploader IP storage πŸ™‚

                  Not the right setting yet, I think.
                  $cfg['proxy_ip'] = array('172.18.0.1'); alone does not deny access to clients from other IPs.
                  When I add $cfg['upload_ip'] = array('172.18.0.1');all IPs are blocked again, even for clients on the same network as the Cloudron server.

                  EDIT: Using $cfg['upload_ip'] = array('192.168.1.0/24'); doesn't work either.

                  girishG Offline
                  girishG Offline
                  girish
                  Staff
                  wrote on last edited by
                  #17

                  @necrevistonnezr If you update to the latest package (1.0.0), the logs will tell you what the IP it is being access as.

                  1 Reply Last reply
                  1
                  • necrevistonnezrN necrevistonnezr

                    @subven said in Admin Interface link:

                    @jdaviescoates @necrevistonnezr I think I figured it out. You have to put your docker network gateway IP. I don't know if it's the same for all Cloudrons so better check yours first.

                    root@yourhostname:~# docker network inspect cloudron | grep Gateway
                                        "Gateway": "172.18.0.1"
                    

                    custom.php -->

                    $cfg['proxy_ip'] = array('172.18.0.1');
                    

                    After that, the admin UI shows my real (external) IP address as uploader. If your Cloudron runs in a local network, it should display your client IP address πŸ™‚

                    EDIT: Seems like the internal docker network IP is the same for all Cloudrons. You should be happy using 172.18.0.1 πŸ™‚
                    @girish this could also be permanently added to the config to allow uploader IP storage πŸ™‚

                    Not the right setting yet, I think.
                    $cfg['proxy_ip'] = array('172.18.0.1'); alone does not deny access to clients from other IPs.
                    When I add $cfg['upload_ip'] = array('172.18.0.1');all IPs are blocked again, even for clients on the same network as the Cloudron server.

                    EDIT: Using $cfg['upload_ip'] = array('192.168.1.0/24'); doesn't work either.

                    subvenS Offline
                    subvenS Offline
                    subven
                    wrote on last edited by subven
                    #18

                    @necrevistonnezr said in Admin Interface link:

                    Not the right setting yet, I think.
                    $cfg['proxy_ip'] = array('172.18.0.1'); alone does not deny access to clients from other IPs.
                    When I add $cfg['upload_ip'] = array('172.18.0.1');all IPs are blocked again, even for clients on the same network as the Cloudron server.

                    EDIT: Using $cfg['upload_ip'] = array('192.168.1.0/24'); doesn't work either.

                    We're talking about two different things here. You do not care about 172.18.0.1 since it's for the Docker network only and not related to clients. Setting $cfg['proxy_ip'] = array('172.18.0.1'); allows the app to get the clients real IP address through HTTP_X_FORWARDED_FOR. The changes made to the default config are fine.

                    $cfg['upload_ip'] = array('172.18.0.1'); = makes no sense at all
                    $cfg['upload_ip'] = array('192.168.1.0/24'); = tells the app to only allow uploads from this network
                    $cfg['upload_ip_nopassword'] = array('192.168.1.0/24'); = tells the app to do not ask for a password from this network

                    In short: Please use only $cfg['upload_ip_nopassword'] = array('192.168.1.0/24'); as additional setting if you want your local network to be able to upload without password. If you want to prevent others from uploading (even with password) please add $cfg['upload_ip'] = array('192.168.1.0/24'); πŸ™‚

                    EDIT: I just tested it and everything works as it should.

                    necrevistonnezrN 1 Reply Last reply
                    2
                    • subvenS subven

                      @necrevistonnezr said in Admin Interface link:

                      Not the right setting yet, I think.
                      $cfg['proxy_ip'] = array('172.18.0.1'); alone does not deny access to clients from other IPs.
                      When I add $cfg['upload_ip'] = array('172.18.0.1');all IPs are blocked again, even for clients on the same network as the Cloudron server.

                      EDIT: Using $cfg['upload_ip'] = array('192.168.1.0/24'); doesn't work either.

                      We're talking about two different things here. You do not care about 172.18.0.1 since it's for the Docker network only and not related to clients. Setting $cfg['proxy_ip'] = array('172.18.0.1'); allows the app to get the clients real IP address through HTTP_X_FORWARDED_FOR. The changes made to the default config are fine.

                      $cfg['upload_ip'] = array('172.18.0.1'); = makes no sense at all
                      $cfg['upload_ip'] = array('192.168.1.0/24'); = tells the app to only allow uploads from this network
                      $cfg['upload_ip_nopassword'] = array('192.168.1.0/24'); = tells the app to do not ask for a password from this network

                      In short: Please use only $cfg['upload_ip_nopassword'] = array('192.168.1.0/24'); as additional setting if you want your local network to be able to upload without password. If you want to prevent others from uploading (even with password) please add $cfg['upload_ip'] = array('192.168.1.0/24'); πŸ™‚

                      EDIT: I just tested it and everything works as it should.

                      necrevistonnezrN Offline
                      necrevistonnezrN Offline
                      necrevistonnezr
                      wrote on last edited by necrevistonnezr
                      #19

                      @subven said in Admin Interface link:

                      $cfg['upload_ip_nopassword'] = array('192.168.1.0/24');

                      Thanks for the detailed explanation! I'm not yet very versed network topics but I'm here to learn.

                      But: After setting $cfg['upload_ip'] = array('192.168.1.0/24'); I get an access denied to the site in my local network (Cloudron is in my local network at home at 192.168.1.27, my Mac has the IP 192.168.1.33, even if I set $cfg['upload_ip_nopassword'] = array('192.168.1.0/24');

                      My current config is

                      $cfg['admin_password'] = '#######';
                      $cfg['proxy_ip'] = array('172.18.0.1');
                      $cfg['upload_password'] = #######');
                      $cfg['upload_ip_nopassword'] = array('192.168.1.0/24');
                      $cfg['upload_ip'] = array('192.168.1.0/24');
                      
                      1 Reply Last reply
                      0
                      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