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. Discuss
  3. Mixpost Lite Install Guide for LAMP App

Mixpost Lite Install Guide for LAMP App

Scheduled Pinned Locked Moved Discuss
28 Posts 7 Posters 3.8k 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.
  • robiR Offline
    robiR Offline
    robi
    wrote on last edited by robi
    #1

    I created this since the other Mixpost thread in the App Wishlist is for the Pro install.

    The Lite install stems from the standalone app instructions at https://github.com/inovector/MixpostApp

    1. Install LAMP App
      Clickety click and BUMP the memory limit to anything above the default or it will get KILLED.

    2. Get installing via the Cloudron Terminal
      cd /app/data
      composer create-project inovector/MixpostApp
      cd mixpostapp
      touch .env

    3. Edit the .env file in the Cloudron File Manager

    APP_URL=https://mixpostinstall.domain.org
    APP_ENV=production
    APP_DEBUG=false
    APP_KEY=abcd123
    
    DB_HOST=mysql
    DB_PORT=3306
    DB_DATABASE=abcd123
    DB_USERNAME=abcd123
    DB_PASSWORD=abcd123
    
    REDIS_HOST=redis-abcd123
    REDIS_PASSWORD=abcd123
    REDIS_PORT=6379
    
    # SMTP
    MAIL_MAILER=mail
    MAIL_HOST=mail
    MAIL_PORT=2465
    MAIL_USERNAME=post.app@domain.org
    MAIL_PASSWORD=abcd123
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS="mixpost.app@domain.org"
    MAIL_FROM_NAME="${APP_NAME}"
    
    1. PHP config commands to set things up
      php artisan migrate
      php artisan mixpost-auth:create
      php artisan queue:batches-table
      php artisan vendor:publish --tag=mixpost-config
      php artisan config:cache
      php artisan route:cache
      php artisan key:generate

    2. Remap the logs to /var/run as Laravel logs a LOT
      rm -rf storage/logs
      ln -sf /var/run/app /app/data/mixpostapp/storage/logs
      πŸ‘‰ fix ownership permissions since it likes its files owned by www-data, ie. the webserver:
      chown -R www-data:www-data .

    3. Fix up apache/app.conf from the Cloudron File Manager
      /app/data/mixpostapp/public in two places
      Optionally edit your /app/data/PHP_VERSION to 8.2

    4. Set up the run.sh script via File Manager and cron for the App

    #!/bin/bash
    
    # Place custom startup commands here
    sudo -u www-data /usr/bin/php /app/data/mixprostapp/artisan artisan horizon
    
    sudo -u www-data /usr/bin/php /app/data/mixprostapp/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3 &
    

    πŸ‘‰ Paste this into the App Cron tab UI or your scheduled posts wont run.

    * * * * * cd /app/data/mixpostapp/ && sudo -u www-data /usr/bin/php /app/data/mixpostapp/artisan schedule:run >> /dev/null 2>&1
    
    
    1. Restart the LAMP App, start it up!
      cd /app/data/mixpostapp
      php artisan horizon

    It should start after a few seconds. If it says killed remember to bump the memory for the LAMP app from Step 1.

    Visit the App at your subdomain.domain.org and log in with the email and pw you set up during PHP config.

    From there follow the instructions in the app to configure your social services API keys which you get from their developer portals and then add your social accounts.

    Conscious tech

    KubernetesK 1 Reply Last reply
    8
    • robiR robi referenced this topic on
    • robiR robi

      I created this since the other Mixpost thread in the App Wishlist is for the Pro install.

      The Lite install stems from the standalone app instructions at https://github.com/inovector/MixpostApp

      1. Install LAMP App
        Clickety click and BUMP the memory limit to anything above the default or it will get KILLED.

      2. Get installing via the Cloudron Terminal
        cd /app/data
        composer create-project inovector/MixpostApp
        cd mixpostapp
        touch .env

      3. Edit the .env file in the Cloudron File Manager

      APP_URL=https://mixpostinstall.domain.org
      APP_ENV=production
      APP_DEBUG=false
      APP_KEY=abcd123
      
      DB_HOST=mysql
      DB_PORT=3306
      DB_DATABASE=abcd123
      DB_USERNAME=abcd123
      DB_PASSWORD=abcd123
      
      REDIS_HOST=redis-abcd123
      REDIS_PASSWORD=abcd123
      REDIS_PORT=6379
      
      # SMTP
      MAIL_MAILER=mail
      MAIL_HOST=mail
      MAIL_PORT=2465
      MAIL_USERNAME=post.app@domain.org
      MAIL_PASSWORD=abcd123
      MAIL_ENCRYPTION=tls
      MAIL_FROM_ADDRESS="mixpost.app@domain.org"
      MAIL_FROM_NAME="${APP_NAME}"
      
      1. PHP config commands to set things up
        php artisan migrate
        php artisan mixpost-auth:create
        php artisan queue:batches-table
        php artisan vendor:publish --tag=mixpost-config
        php artisan config:cache
        php artisan route:cache
        php artisan key:generate

      2. Remap the logs to /var/run as Laravel logs a LOT
        rm -rf storage/logs
        ln -sf /var/run/app /app/data/mixpostapp/storage/logs
        πŸ‘‰ fix ownership permissions since it likes its files owned by www-data, ie. the webserver:
        chown -R www-data:www-data .

      3. Fix up apache/app.conf from the Cloudron File Manager
        /app/data/mixpostapp/public in two places
        Optionally edit your /app/data/PHP_VERSION to 8.2

      4. Set up the run.sh script via File Manager and cron for the App

      #!/bin/bash
      
      # Place custom startup commands here
      sudo -u www-data /usr/bin/php /app/data/mixprostapp/artisan artisan horizon
      
      sudo -u www-data /usr/bin/php /app/data/mixprostapp/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3 &
      

      πŸ‘‰ Paste this into the App Cron tab UI or your scheduled posts wont run.

      * * * * * cd /app/data/mixpostapp/ && sudo -u www-data /usr/bin/php /app/data/mixpostapp/artisan schedule:run >> /dev/null 2>&1
      
      
      1. Restart the LAMP App, start it up!
        cd /app/data/mixpostapp
        php artisan horizon

      It should start after a few seconds. If it says killed remember to bump the memory for the LAMP app from Step 1.

      Visit the App at your subdomain.domain.org and log in with the email and pw you set up during PHP config.

      From there follow the instructions in the app to configure your social services API keys which you get from their developer portals and then add your social accounts.

      KubernetesK Offline
      KubernetesK Offline
      Kubernetes
      App Dev
      wrote on last edited by
      #2

      @robi I tried to convert this into a custom app package for cloudron. My package is still a mess and it does not work yet! However, I have problem to get the php artisan horizon running. It starts, but get killed right after starting.

      Here is a link to my Repo with the latest stand.

      1 Reply Last reply
      0
      • nebulonN Away
        nebulonN Away
        nebulon
        Staff
        wrote on last edited by
        #3

        Does it maybe get killed out of memory?

        robiR 1 Reply Last reply
        1
        • KubernetesK Offline
          KubernetesK Offline
          Kubernetes
          App Dev
          wrote on last edited by
          #4

          Oh, thats a good hint! Thanks, I will check

          1 Reply Last reply
          0
          • nebulonN nebulon

            Does it maybe get killed out of memory?

            robiR Offline
            robiR Offline
            robi
            wrote on last edited by
            #5

            @nebulon said in Mixpost Lite Install Guide for LAMP App:

            Does it maybe get killed out of memory?

            Yes, exactly, I mention it twice in my notes!

            Conscious tech

            KubernetesK 1 Reply Last reply
            0
            • robiR robi

              @nebulon said in Mixpost Lite Install Guide for LAMP App:

              Does it maybe get killed out of memory?

              Yes, exactly, I mention it twice in my notes!

              KubernetesK Offline
              KubernetesK Offline
              Kubernetes
              App Dev
              wrote on last edited by
              #6

              @robi I know, I read it twice πŸ˜‰ But I thought it would only apply to the LAMP App, but not to a custom App.

              robiR 1 Reply Last reply
              1
              • KubernetesK Offline
                KubernetesK Offline
                Kubernetes
                App Dev
                wrote on last edited by
                #7

                Okay, great, now it is running and not killed.
                What tcp port is the application using, so I can reference the port in the Cloudron Manifest?

                robiR 1 Reply Last reply
                0
                • KubernetesK Kubernetes

                  @robi I know, I read it twice πŸ˜‰ But I thought it would only apply to the LAMP App, but not to a custom App.

                  robiR Offline
                  robiR Offline
                  robi
                  wrote on last edited by
                  #8

                  @Kubernetes Haha, fascinating how we have such different perspectives reading the same text!

                  Conscious tech

                  1 Reply Last reply
                  2
                  • KubernetesK Kubernetes

                    Okay, great, now it is running and not killed.
                    What tcp port is the application using, so I can reference the port in the Cloudron Manifest?

                    robiR Offline
                    robiR Offline
                    robi
                    wrote on last edited by robi
                    #9

                    @Kubernetes Congrats. Did you notice it uses apache?

                    It's a php app run by apache, so port 80, unless you run it standalone which can then have a specified port. (likely a better option for packaging)
                    See the Docker section https://github.com/inovector/MixpostApp?tab=readme-ov-file#docker-installation

                    Conscious tech

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

                      @robi does the cron hack mentioned in the Pro post not work for the lite? If it does, that should keep horizon active.

                      robiR 1 Reply Last reply
                      0
                      • humptydumptyH humptydumpty

                        @robi does the cron hack mentioned in the Pro post not work for the lite? If it does, that should keep horizon active.

                        robiR Offline
                        robiR Offline
                        robi
                        wrote on last edited by robi
                        #11

                        @humptydumpty that is not what it is doing.

                        The cron is simply to schedule runs of any posts it has to send. If its not there, it will never send posts, not even the immediate ones!

                        Odd design choice IMO.

                        Does the pro version show you images from URLs you want to post?

                        Does it deal with long posts to break them up in multiple smaller ones in a thread?

                        I decided to use the run.sh startup method from the cloudron docs for laravel apps.

                        Conscious tech

                        humptydumptyH jdaviescoatesJ 2 Replies Last reply
                        1
                        • KubernetesK Offline
                          KubernetesK Offline
                          Kubernetes
                          App Dev
                          wrote on last edited by
                          #12

                          I stopped working on the package. The effort to get this running is to high for me.

                          1 Reply Last reply
                          3
                          • robiR robi

                            @humptydumpty that is not what it is doing.

                            The cron is simply to schedule runs of any posts it has to send. If its not there, it will never send posts, not even the immediate ones!

                            Odd design choice IMO.

                            Does the pro version show you images from URLs you want to post?

                            Does it deal with long posts to break them up in multiple smaller ones in a thread?

                            I decided to use the run.sh startup method from the cloudron docs for laravel apps.

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

                            @robi said in Mixpost Lite Install Guide for LAMP App:

                            Does the pro version show you images from URLs you want to post?

                            Nope. It shows no image preview of the link while creating the post in Mixpost Pro, nor is it displayed once posted on X. It's the only account I have linked to Mixpost atm.

                            @robi said in Mixpost Lite Install Guide for LAMP App:

                            Does it deal with long posts to break them up in multiple smaller ones in a thread?

                            Also a big fat nope. It won't let you proceed with posting if you go over the limit.

                            1 Reply Last reply
                            1
                            • robiR Offline
                              robiR Offline
                              robi
                              wrote on last edited by
                              #14

                              Thanks for the feedback @humptydumpty - doesn't sound like I'll be using it. Nope is right.

                              Conscious tech

                              humptydumptyH 1 Reply Last reply
                              2
                              • robiR robi

                                @humptydumpty that is not what it is doing.

                                The cron is simply to schedule runs of any posts it has to send. If its not there, it will never send posts, not even the immediate ones!

                                Odd design choice IMO.

                                Does the pro version show you images from URLs you want to post?

                                Does it deal with long posts to break them up in multiple smaller ones in a thread?

                                I decided to use the run.sh startup method from the cloudron docs for laravel apps.

                                jdaviescoatesJ Offline
                                jdaviescoatesJ Offline
                                jdaviescoates
                                wrote on last edited by
                                #15

                                @robi said in Mixpost Lite Install Guide for LAMP App:

                                Does the pro version show you images from URLs you want to post?

                                Does it deal with long posts to break them up in multiple smaller ones in a thread?

                                You could add these ideas over at https://roadmap.mixpost.app/ (or upvote them if others have already addded them)

                                I use Cloudron with Gandi & Hetzner

                                robiR humptydumptyH 2 Replies Last reply
                                0
                                • jdaviescoatesJ jdaviescoates

                                  @robi said in Mixpost Lite Install Guide for LAMP App:

                                  Does the pro version show you images from URLs you want to post?

                                  Does it deal with long posts to break them up in multiple smaller ones in a thread?

                                  You could add these ideas over at https://roadmap.mixpost.app/ (or upvote them if others have already addded them)

                                  robiR Offline
                                  robiR Offline
                                  robi
                                  wrote on last edited by
                                  #16

                                  @jdaviescoates feel free to do so.

                                  This app doesn't fit my needs I won't be spending more time on it.

                                  Conscious tech

                                  1 Reply Last reply
                                  0
                                  • jdaviescoatesJ jdaviescoates

                                    @robi said in Mixpost Lite Install Guide for LAMP App:

                                    Does the pro version show you images from URLs you want to post?

                                    Does it deal with long posts to break them up in multiple smaller ones in a thread?

                                    You could add these ideas over at https://roadmap.mixpost.app/ (or upvote them if others have already addded them)

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

                                    @jdaviescoates why bother? Forget the apps shortcomings, it’ll never get packaged on Cloudron and it's a hassle to keep up with updates manually.

                                    jdaviescoatesJ 1 Reply Last reply
                                    0
                                    • humptydumptyH humptydumpty

                                      @jdaviescoates why bother? Forget the apps shortcomings, it’ll never get packaged on Cloudron and it's a hassle to keep up with updates manually.

                                      jdaviescoatesJ Offline
                                      jdaviescoatesJ Offline
                                      jdaviescoates
                                      wrote on last edited by
                                      #18

                                      @humptydumpty it seems like a pretty decent app to me (certainly the best open source app of it's kind afaik) and the developer seems fairly responsive too.

                                      It might never be packaged for Cloudron (which is sad) and hard to update when hack to runn on Cloudron as some have attempted, but it sounds like if one were just running it on a dedicated small VPS and installed it using Docker that it'd be pretty straight forward to update, at least according to the docs https://docs.inovector.com/books/mixpost-pro/page/update-with-docker

                                      I use Cloudron with Gandi & Hetzner

                                      humptydumptyH 1 Reply Last reply
                                      0
                                      • jdaviescoatesJ jdaviescoates

                                        @humptydumpty it seems like a pretty decent app to me (certainly the best open source app of it's kind afaik) and the developer seems fairly responsive too.

                                        It might never be packaged for Cloudron (which is sad) and hard to update when hack to runn on Cloudron as some have attempted, but it sounds like if one were just running it on a dedicated small VPS and installed it using Docker that it'd be pretty straight forward to update, at least according to the docs https://docs.inovector.com/books/mixpost-pro/page/update-with-docker

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

                                        @jdaviescoates totally valid points but this app made me realize how much i prefer hosting the Cloudron way. I’ll drop any app/service in a heartbeat if it’s incompatible. I used to enjoy tinkering with tech but my interests changed in life. Cloudron simply works. Why mess with that? 😁

                                        Btw, the dev might be responsive but he wants things to work his way or the highway. I supported him financially and spent more time than I should have trying to get mixpost to work on here and to nudge the dev in the right direction to no avail.

                                        jdaviescoatesJ 1 Reply Last reply
                                        2
                                        • humptydumptyH humptydumpty

                                          @jdaviescoates totally valid points but this app made me realize how much i prefer hosting the Cloudron way. I’ll drop any app/service in a heartbeat if it’s incompatible. I used to enjoy tinkering with tech but my interests changed in life. Cloudron simply works. Why mess with that? 😁

                                          Btw, the dev might be responsive but he wants things to work his way or the highway. I supported him financially and spent more time than I should have trying to get mixpost to work on here and to nudge the dev in the right direction to no avail.

                                          jdaviescoatesJ Offline
                                          jdaviescoatesJ Offline
                                          jdaviescoates
                                          wrote on last edited by
                                          #20

                                          @humptydumpty did you get an early adoptor lifetime license? Wanna sell it to me? πŸ˜›

                                          I use Cloudron with Gandi & Hetzner

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