Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide Snap package #1068

Closed
mhall119 opened this issue Apr 6, 2017 · 8 comments
Closed

Provide Snap package #1068

mhall119 opened this issue Apr 6, 2017 · 8 comments
Labels
deployment Related to runtime configuration, production setups suggestion Feature suggestion

Comments

@mhall119
Copy link

mhall119 commented Apr 6, 2017

Provide a snap package through the Snap Store to easily install and update Mastodon. Snaps are like a light-weight docker that run natively on the host machine, get automatic updates when available, and run securely confined from the rest of the system.

https://snapcraft.io


  • [ x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
@vielmetti
Copy link

Hi @mhall119 - have you built these sorts of things before (ie. that you are willing and able to help with this code to accomplish the task?)

@mhall119
Copy link
Author

mhall119 commented Apr 7, 2017

I have, I actually work for Canonical on Snap advocacy. It's Ruby that I don't know enough about. I've started on a package config for Mastodon here: mhall119@c0788ac

It builds a snap with what appears to be all the necessary ruby and nodejs dependencies, but the call to ruby to run the service fails on a require for bundler/setup, which I don't see in the snap, even though the bundler module has been installed.

@mhall119
Copy link
Author

mhall119 commented Apr 7, 2017

You'll see that it's fairly similar to the Dockerfile (and simpler than the Vagrantfile), but I'm afraid I've reached the limit of my ability with this combination of languages and package managers.

You can create a snap from that branch on Ubuntu 16.04 or newer, just run "snapcraft snap" inside the directory, then "snap install --dangerous mastodon_v1.0_amd64.snap" to install it.

@vielmetti
Copy link

PR filed, a tiny one mhall119#1

Can you paste in the error message you got when this started up and it didn't quite work? I have a sneaking suspicion there's a hidden development dependency that we can find.

Related: #1118

@vielmetti
Copy link

Also, are snaps designed to be cross-platform? I have an arm64 box that I'm working on, and the provided example hard-codes amd64 dependencies.

@mhall119
Copy link
Author

mhall119 commented Apr 7, 2017

Cross-platform, but not multi-arch. You would need different packages for arm64 and amd64. But we host a build service that can do them for you.

@wxcafe wxcafe added deployment Related to runtime configuration, production setups enhancement expertise wanted Extra expertise is needed for implementation labels Apr 10, 2017
abcang added a commit to pixiv/mastodon that referenced this issue Jun 4, 2018
@Gargron Gargron added suggestion Feature suggestion and removed enhancement expertise wanted Extra expertise is needed for implementation labels Oct 20, 2018
hannahwhy pushed a commit to hannahwhy/mastodon that referenced this issue May 24, 2019
@dhelonious
Copy link

I have created an all-in-one snap package for Mastodon. You can find it here: https://github.com/dhelonious/mastodon-snap

At the moment the snap is only available via GitHub and for manual installation. I want to do some more testing (including arm64) before taking the next steps.

@renchap
Copy link
Sponsor Member

renchap commented Apr 18, 2024

Closing this as we do not plan to provide an official snap package.

@renchap renchap closed this as completed Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployment Related to runtime configuration, production setups suggestion Feature suggestion
Projects
None yet
Development

No branches or pull requests

7 participants
@vielmetti @renchap @Gargron @mhall119 @wxcafe @dhelonious and others