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


Navigation

    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    SOLVED Pixelfed, Federated Image Sharing

    App Wishlist
    14
    48
    768
    Loading More Posts
    • 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.
    • doodlemania2
      doodlemania2 App Dev last edited by

      All - I have begun packaging this based on instructions found here as well as basing it off of PHP Lamp. It's still VERY rough (IE, doesn't fully build yet), but would appreciate some eyes on it.

      https://git.cloudron.io/doodlemania2/pixelfed

      Currently, I'm trying to decide whether the initial setup goes in Dockerfile (would think so) or in start.sh in the uninitialized section. It's been a VERY long while since I attempted to package something, so am more than a little rusty 😉

      Also, my run.sh is doing an artisan migrate force on each run - thinking that is a good thing cause run wouldn't know if the container updated, but maybe there's another pattern somewhere that is better.

      cc: @girish

      M 1 Reply Last reply Reply Quote 7
      • M
        murgero App Dev @doodlemania2 last edited by

        @doodlemania2 Using start.sh is not a good idea since the code is in a readonly filesystem - Gotta do the build and most the setup in Dockerfile during packaging.

        doodlemania2 1 Reply Last reply Reply Quote 2
        • doodlemania2
          doodlemania2 App Dev @murgero last edited by

          @murgero the app lives in data, not code, so it should be okay, but I'm open to putting it in the Dockerfile anyways to make initial startup faster. One of the challenges is that upstream doesn't do releases, we're just pulling from a branch. Will ponder some more on it though.

          M 1 Reply Last reply Reply Quote 1
          • M
            murgero App Dev @doodlemania2 last edited by murgero

            @doodlemania2 EDIT: Nevermind - I see now how you have to set it up. The only change I would make is instead of copying from /app/code/pkg, I would just put the source in /app/data/ so the user can dynamically update their instance.

            1 Reply Last reply Reply Quote 0
            • doodlemania2
              doodlemania2 App Dev last edited by

              So, /app/data isn't available to work with during docker build, so it has to be in startup.sh, but once the app gets published, it will stay current via CR's processes and of course, end customers are able to modify /app/data as they see fit via terminal.

              One thing I'm struggling with (almost fixed), is how to copy everything from pkg over to the /app/data inclusive of dot files and folders, otherwise, artisan gets fussy. More soon!

              M 1 Reply Last reply Reply Quote 2
              • M
                murgero App Dev @doodlemania2 last edited by

                @doodlemania2 Yes it is, just put this at the top of Dockerfile:

                RUN mkdir -p /app/data
                
                1 Reply Last reply Reply Quote 1
                • doodlemania2
                  doodlemania2 App Dev last edited by

                  Just a quick update to those watching this space. I've got the app loading the DB and getting up and running now. Last things to deal with are:

                  1. An apache error that throws out a 403, probably my .htaccess
                  2. Moving the logs to /run
                  3. Try one more time to leverage /app/code but at least this way works!
                  1 Reply Last reply Reply Quote 5
                  • doodlemania2
                    doodlemania2 App Dev last edited by

                    The app is finished packaging and works pretty well! Final Cloudron specific tweaks like tests, medialinks, etc and then I guess it can publish. If you want it now, you can grab it from my repo: https://git.cloudron.io/doodlemania2/pixelfed and do cloudron install 🙂

                    M S B 3 Replies Last reply Reply Quote 3
                    • M
                      murgero App Dev @doodlemania2 last edited by

                      @doodlemania2 How does it handle cloudron server reboots? Has this been tested? It wont try to reinstall pixelfed will it 😉

                      Do you have documentation on how to update the code on new releases of pixelfed?

                      1 Reply Last reply Reply Quote 0
                      • doodlemania2
                        doodlemania2 App Dev last edited by

                        It's destined to be a standard app for Cloudron so will support server reboots, etc. Some tweaks will need to be made by the CR teams for it to move into the app store but will work with them on those over the coming days.

                        1 Reply Last reply Reply Quote 5
                        • S
                          stantropics @doodlemania2 last edited by

                          @doodlemania2 Awesome, thank you so much! I would love to test it, but do you know if there is any way to "migrate" once its release officially in the appstore?

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            murgero App Dev @stantropics last edited by

                            @stantropics You would need to backup and restore the database and public files (like user uploads since PixelFed is an image hosting service like IG)

                            1 Reply Last reply Reply Quote 0
                            • doodlemania2
                              doodlemania2 App Dev last edited by

                              Correct, also make sure to do a backup of the database. The app as it is now supports the in built cloudron backup, so it SHOULD work for you, but no promises 🙂

                              1 Reply Last reply Reply Quote 0
                              • Hillside502
                                Hillside502 last edited by

                                Pixelfed can be accessed on Android from Fedilab --- a multifunctional client to access the distributed Fediverse
                                https://f-droid.org/en/packages/fr.gouv.etalab.mastodon/

                                M 1 Reply Last reply Reply Quote 1
                                • M
                                  murgero App Dev @Hillside502 last edited by

                                  @Hillside502 Fedilab is a decent client too - used it for a while when I was still in the AP scene. Works great on Pleroma too I heard?

                                  Hillside502 1 Reply Last reply Reply Quote 1
                                  • Hillside502
                                    Hillside502 @murgero last edited by

                                    @murgero AP?

                                    jdaviescoates M 2 Replies Last reply Reply Quote 0
                                    • jdaviescoates
                                      jdaviescoates @Hillside502 last edited by

                                      @Hillside502 said in Pixelfed, Federated Image Sharing:

                                      AP?

                                      I'd guess ActivityPub

                                      1 Reply Last reply Reply Quote 1
                                      • M
                                        murgero App Dev @Hillside502 last edited by

                                        @Hillside502 @jdaviescoates is correct - AP is short for ActivityPub (the backend for communication in Mastodon, and a supported protocol in Pixelfed 🙂 )

                                        1 Reply Last reply Reply Quote 2
                                        • B
                                          blavkm @doodlemania2 last edited by

                                          @doodlemania2

                                          Hi, I am not a expert but I understand many things and I am learning everyday, can you guide me how to use your package on Cloudron? or point me where to look?

                                          Thanks in advice, and thanks to @murgero that point me out about your package.

                                          1 Reply Last reply Reply Quote 1
                                          • doodlemania2
                                            doodlemania2 App Dev last edited by

                                            You can clone the repo locally and deploy it with the Cloudron CLI: https://cloudron.io/documentation/custom-apps/cli/#installing

                                            B scooke 2 Replies Last reply Reply Quote 4
                                            • First post
                                              Last post