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. Mixpost

Mixpost

Scheduled Pinned Locked Moved App Wishlist
164 Posts 15 Posters 41.4k Views 18 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.
  • L lao9s

    Hi @girish

    The Lite version is not upgradable to Pro with a key, the Pro is a different package.

    Some specific technical data about Pro:
    The Pro version is installing only with a License code on starting the container. In other words, the entire code of Mixpost Pro is not in the image but is downloaded from the private repository every time the container is started.

    The doc: https://docs.inovector.com/books/mixpost-pro-team/page/using-docker-image

    Is such an approach possible on Cloudron?

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

    @lao9s said in Mixpost:

    The Pro version is installing only with a License code on starting the container. In other words, the entire code of Mixpost Pro is not in the image but is downloaded from the private repository every time the container is started.

    Ah, I see. That approach won't work well on Cloudron. All our containers run on readonly file system 😞 I guess one can download code and run but that will make updates and backups quite tricky.

    1 Reply Last reply
    3
    • L Offline
      L Offline
      lao9s
      wrote on last edited by
      #31

      @girish I got it. Can you tell me how other paid software works in this case?

      So in the case of Mixpost Pro, it is important that:

      • Users only have access to the code with a license key.
      • The application cannot be installed without a license code.

      What solutions do you recommend?

      Thank you!

      girishG 1 Reply Last reply
      1
      • P Offline
        P Offline
        plusone-nick
        wrote on last edited by
        #32

        Does anyone here have an implementation up and running who is willing to share their docs/additional steps?

        Also, has anyone happened to get an implementation working using the Cloudron Proxy?

        ✌💙+1

        1 Reply Last reply
        0
        • L lao9s

          @girish I got it. Can you tell me how other paid software works in this case?

          So in the case of Mixpost Pro, it is important that:

          • Users only have access to the code with a license key.
          • The application cannot be installed without a license code.

          What solutions do you recommend?

          Thank you!

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

          @lao9s said in Mixpost:

          @girish I got it. Can you tell me how other paid software works in this case?

          From the apps that we have:

          • confluence - we can download the code (https://www.atlassian.com/software/confluence/download-archives) . When it starts up, you provide a license
          • onlyoffice ee - code can be installed from apt (https://git.cloudron.io/cloudron/onlyoffice-ee-app/-/blob/master/Dockerfile). it picks up license from a file on startup
          • mattermost - https://mattermost.com/download/
          • gitlab/cloudron - apart from above which have binaries that are downloaded, both gitlab (https://gitlab.com/gitlab-org/gitlab) and cloudron (https://git.cloudron.io/cloudron/box) are source available. but needs license to do extra things. yes, this does mean that one can read the code and bypass license. We considered this and decided not to worry about such people and tackle it if it's a real problem (so far, it's not). GitLab EE has https://docs.gitlab.com/ee/administration/license_file.html

          In all the cases, one can install the app but simply not use it without a license.

          L 1 Reply Last reply
          2
          • girishG girish

            @lao9s said in Mixpost:

            @girish I got it. Can you tell me how other paid software works in this case?

            From the apps that we have:

            • confluence - we can download the code (https://www.atlassian.com/software/confluence/download-archives) . When it starts up, you provide a license
            • onlyoffice ee - code can be installed from apt (https://git.cloudron.io/cloudron/onlyoffice-ee-app/-/blob/master/Dockerfile). it picks up license from a file on startup
            • mattermost - https://mattermost.com/download/
            • gitlab/cloudron - apart from above which have binaries that are downloaded, both gitlab (https://gitlab.com/gitlab-org/gitlab) and cloudron (https://git.cloudron.io/cloudron/box) are source available. but needs license to do extra things. yes, this does mean that one can read the code and bypass license. We considered this and decided not to worry about such people and tackle it if it's a real problem (so far, it's not). GitLab EE has https://docs.gitlab.com/ee/administration/license_file.html

            In all the cases, one can install the app but simply not use it without a license.

            L Offline
            L Offline
            lao9s
            wrote on last edited by
            #34

            @girish Thank you for the response.

            1 Reply Last reply
            2
            • P Offline
              P Offline
              plusone-nick
              wrote on last edited by
              #35

              @girish I am messing around with deploying Mixpost in a LAMP app and have gotten the config to work the Apache and SQL but i am having trouble with Redis
              In the Cloudron docs is shows how to connect to MySQL via the local docker port: 172.18.30.1

              What is the local IP for Redis? or best method to have a LAMP app connect to Redis?

              It looks like a container instance of Redis is spun up per app?

              ✌💙+1

              humptydumptyH 1 Reply Last reply
              0
              • nebulonN Offline
                nebulonN Offline
                nebulon
                Staff
                wrote on last edited by
                #36

                On Cloudron the apps get all the addon service credentials and connection details as environment variables in the container. So just open a webterminal into the app instance and run env

                More info at https://docs.cloudron.io/packaging/addons/

                P 1 Reply Last reply
                2
                • P plusone-nick

                  @girish I am messing around with deploying Mixpost in a LAMP app and have gotten the config to work the Apache and SQL but i am having trouble with Redis
                  In the Cloudron docs is shows how to connect to MySQL via the local docker port: 172.18.30.1

                  What is the local IP for Redis? or best method to have a LAMP app connect to Redis?

                  It looks like a container instance of Redis is spun up per app?

                  humptydumptyH Offline
                  humptydumptyH Offline
                  humptydumpty
                  wrote on last edited by
                  #37

                  @plusone-nick Are you using Mixpost Lite or Pro?

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    plusone-nick
                    wrote on last edited by
                    #38

                    i am using pro

                    ✌💙+1

                    1 Reply Last reply
                    1
                    • nebulonN nebulon

                      On Cloudron the apps get all the addon service credentials and connection details as environment variables in the container. So just open a webterminal into the app instance and run env

                      More info at https://docs.cloudron.io/packaging/addons/

                      P Offline
                      P Offline
                      plusone-nick
                      wrote on last edited by
                      #39

                      @nebulon I guess I am a bit confused as I am aware of the credentials.txt and see the Redis config but don't understand what "URL" or IP i should use.

                      Both SQL and Redis have their respective protocols in their URL: mysql:// and redis://

                      Am i supposed to use that URL for Redis vs the local Docker IP provided like for SQL? I kinda figured Redis would have an IP i could also use.

                      ✌💙+1

                      girishG 1 Reply Last reply
                      0
                      • P plusone-nick

                        @nebulon I guess I am a bit confused as I am aware of the credentials.txt and see the Redis config but don't understand what "URL" or IP i should use.

                        Both SQL and Redis have their respective protocols in their URL: mysql:// and redis://

                        Am i supposed to use that URL for Redis vs the local Docker IP provided like for SQL? I kinda figured Redis would have an IP i could also use.

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

                        @plusone-nick The redis IP is dynamic, so you should connect to it by name. You can use the credentials in /app/data/credentials.txt (this is the same as the env vars). Does that not work?

                        P 2 Replies Last reply
                        0
                        • girishG girish

                          @plusone-nick The redis IP is dynamic, so you should connect to it by name. You can use the credentials in /app/data/credentials.txt (this is the same as the env vars). Does that not work?

                          P Offline
                          P Offline
                          plusone-nick
                          wrote on last edited by
                          #41

                          @girish going to test further tonight

                          ✌💙+1

                          1 Reply Last reply
                          0
                          • girishG girish

                            @plusone-nick The redis IP is dynamic, so you should connect to it by name. You can use the credentials in /app/data/credentials.txt (this is the same as the env vars). Does that not work?

                            P Offline
                            P Offline
                            plusone-nick
                            wrote on last edited by
                            #42

                            @girish got it working with the docker host name in .env (CLOUDRON_REDIS_HOST) it did not like the (CLOUDRON_REDIS_URL)
                            3b2c55b8-22eb-47fd-94cd-106e35647a28-image.png
                            Have to get Horizon installed and the stuff Scheduled, will report back 🫡

                            ✌💙+1

                            1 Reply Last reply
                            1
                            • P Offline
                              P Offline
                              plusone-nick
                              wrote on last edited by
                              #43

                              @girish Got horizon installed, but it soon kills as there is no schedule set. The Mixpost instructions advise setting a mixpost-horizon.conf in /etc/supervisor/conf.d but as you know its read only.
                              What is the best method to approach this?
                              image.png

                              ✌💙+1

                              1 Reply Last reply
                              0
                              • P Offline
                                P Offline
                                plusone-nick
                                wrote on last edited by
                                #44

                                EDIT: Apologies I got the Schedule going with the cron job... It's the Horizon/Supervisor config at /etc/supervisor/conf.d which is the last blocker

                                ✌💙+1

                                1 Reply Last reply
                                1
                                • humptydumptyH Offline
                                  humptydumptyH Offline
                                  humptydumpty
                                  wrote on last edited by
                                  #45

                                  Go, Nick. Go! 💪

                                  1 Reply Last reply
                                  2
                                  • P Offline
                                    P Offline
                                    plusone-nick
                                    wrote on last edited by
                                    #46

                                    @humptydumpty lol 🫡
                                    Final update for now: got all services "UP" and "working"
                                    ef72b891-db15-4ffc-8dd0-d0e3cd532752-image.png

                                    BUT... - still need to have Horizon/Supervisor Config set as it only stays alive for a little, in that time I was able to push some posts through
                                    image.png

                                    Dwindled down from 38 to 7 errors – something regarding: Illuminate & Symfony


                                    [2023-08-06 22:56:13] production.ERROR: Not enough arguments (missing: "name"). {"exception":"[object] (Symfony\Component\Console\Exception\RuntimeException(code: 0): Not enough arguments (missing: "name"). at /app/data/mixpost-pro-team-app/vendor/symfony/console/Input/Input.php:76)
                                    [stacktrace]
                                    #0 /app/data/mixpost-pro-team-app/vendor/symfony/console/Command/Command.php(321): Symfony\Component\Console\Input\Input->validate()
                                    #1 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Console/Command.php(181): Symfony\Component\Console\Command\Command->run()
                                    #2 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(1081): Illuminate\Console\Command->run()
                                    #3 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(320): Symfony\Component\Console\Application->doRunCommand()
                                    #4 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(174): Symfony\Component\Console\Application->doRun()
                                    #5 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
                                    #6 /app/data/mixpost-pro-team-app/artisan(37): Illuminate\Foundation\Console\Kernel->handle()
                                    #7 {main}
                                    "}

                                    @girish @lao9s any thoughts or suggestions? 🤓

                                    ✌💙+1

                                    girishG 1 Reply Last reply
                                    3
                                    • P plusone-nick

                                      @humptydumpty lol 🫡
                                      Final update for now: got all services "UP" and "working"
                                      ef72b891-db15-4ffc-8dd0-d0e3cd532752-image.png

                                      BUT... - still need to have Horizon/Supervisor Config set as it only stays alive for a little, in that time I was able to push some posts through
                                      image.png

                                      Dwindled down from 38 to 7 errors – something regarding: Illuminate & Symfony


                                      [2023-08-06 22:56:13] production.ERROR: Not enough arguments (missing: "name"). {"exception":"[object] (Symfony\Component\Console\Exception\RuntimeException(code: 0): Not enough arguments (missing: "name"). at /app/data/mixpost-pro-team-app/vendor/symfony/console/Input/Input.php:76)
                                      [stacktrace]
                                      #0 /app/data/mixpost-pro-team-app/vendor/symfony/console/Command/Command.php(321): Symfony\Component\Console\Input\Input->validate()
                                      #1 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Console/Command.php(181): Symfony\Component\Console\Command\Command->run()
                                      #2 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(1081): Illuminate\Console\Command->run()
                                      #3 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(320): Symfony\Component\Console\Application->doRunCommand()
                                      #4 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(174): Symfony\Component\Console\Application->doRun()
                                      #5 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
                                      #6 /app/data/mixpost-pro-team-app/artisan(37): Illuminate\Foundation\Console\Kernel->handle()
                                      #7 {main}
                                      "}

                                      @girish @lao9s any thoughts or suggestions? 🤓

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

                                      @plusone-nick said in Mixpost:

                                      [2023-08-06 22:56:13] production.ERROR: Not enough arguments (missing: "name"). {"exception":"[object] (Symfony\Component\Console\Exception\RuntimeException(code: 0): Not enough arguments (missing: "name"). at /app/data/mixpost-pro-team-app/vendor/symfony/console/Input/Input.php:76)

                                      this seems like some CLI is expecting more arguments (specifically --name or something)

                                      1 Reply Last reply
                                      1
                                      • P Offline
                                        P Offline
                                        plusone-nick
                                        wrote on last edited by
                                        #48

                                        All errors cleared, and the system has been up for about two days going on three so i think it's safe to say its usable
                                        image.png
                                        Still need a workaround for one last step to complete: configure a process monitor Supervisor as it wants to write to /etc/supervisor/conf.d

                                        Other than that i will document the steps i took and share them here before the end of the week

                                        ✌💙+1

                                        1 Reply Last reply
                                        4
                                        • P Offline
                                          P Offline
                                          plusone-nick
                                          wrote on last edited by plusone-nick
                                          #49

                                          Cloudron + Mixpost + LAMP = +1

                                          Note: this is for the Pro/Enterprise version of Mixpost

                                          On a fresh LAMP install open a terminal

                                          Step 1:

                                           cd /app/data/
                                          

                                          Step 2:

                                           composer create-project inovector/mixpost-pro-team-app
                                          

                                          Step 3: From the File Manager: You can use command line if you like

                                           Change owner of the mixpost-pro-team-app folder to www-data
                                          

                                          Step 4 Enter the mixpost-pro-team-app folder and open .env and Populate:

                                          APP_URL=https://YOUR-DOMAIN
                                          APP_ENV=production (WHEN READY)
                                          APP_DEBUG=fale
                                          

                                          Step 5: Populate SQL (creds @: /app/data/credentials.txt)

                                          DB_HOST=172.18.30.1            /
                                          DB_PORT=3306                     /
                                          DB_DATABASE=CLOUDRON_MYSQL_DATABASE
                                          DB_USERNAME=CLOUDRON_MYSQL_USERNAME
                                          DB_PASSWORD=CLOUDRON_MYSQL_PASSWORD
                                          

                                          NOTE: I had to put the slash / after the two DB_ env vars because the numbers were causing a line bug in the markdown while generating this post so make sure to remove them if you copy and paste the whole code block

                                          Step 6: Populate REDIS (creds @: /app/data/credentials.txt )

                                          REDIS_HOST=CLOUDRON_REDIS_HOST
                                          REDIS_PASSWORD=CLOUDRON_REDIS_PASSWORD
                                          REDIS_PORT=6379
                                          

                                          - Save and Close

                                          Step 7: Configure Database Tables:

                                          cd /app/data/mixpost-pro-team-app  
                                          php artisan queue:batches-table
                                          php artisan migrate
                                          php artisan vendor:publish --tag=mixpost-config
                                          

                                          Step 8: go to and edit

                                          /app/data/apache/app.conf
                                          

                                          Change both instances of: /app/data/public
                                          To:

                                          /app/data/mixpost-pro-team-app/public
                                          

                                          - Save and Close

                                          Step 9: On the CRON tab paste and save below:

                                          * * * * * cd /app/data/mixpost-pro-team-app && php artisan schedule:run >> /app/data/null 2>&1
                                          

                                          Step 10: Install Supervisor:

                                          sudo apt-get install supervisor
                                          

                                          Step 11: Cache Config:

                                          php artisan config:cache
                                          

                                          Step 12: Cache Routes:

                                          php artisan route:cache
                                          

                                          Step 13: Restart the APP to save the config

                                          Step 14: Go to /app/data/mixpost-pro-team-app/ & Then Start Horizon

                                          cd /app/data/mixpost-pro-team-app/
                                          php artisan horizon
                                          

                                          Step 15: Go to the landing page and register!

                                          🦾🤓


                                          NOTE: i think there is still a need to figure out a solution to configure Supervisor: https://docs.inovector.com/books/server-configuration-mixpost/page/installing-configuring-supervisor

                                          • Until then manually start the app with php artisan horizon as needed

                                          • I Only have one license so I had to retrace the steps I took. If there are any errors please forgive me!

                                          • If anyone runs into issues let me know. I will help troubleshoot and can rebuild my instance as needed =]
                                            ✌️💖+1

                                          ✌💙+1

                                          humptydumptyH 1 Reply Last reply
                                          6
                                          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