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

Ideas for Detailed User Guide #1

Open
miabbott opened this issue Mar 5, 2019 · 12 comments
Open

Ideas for Detailed User Guide #1

miabbott opened this issue Mar 5, 2019 · 12 comments

Comments

@miabbott
Copy link
Member

miabbott commented Mar 5, 2019

migrated from https://pagure.io/fedora-docs/silverblue/issue/17

(This idea has bounced around the various places Silverblue has lived; hopefully this is now a permanent home.)

I would like to create a detailed, hands-on/end-to-end guide for the Silverblue docs. It would be much more verbose, with screenshots and terminal examples, that would be geared more towards new users rather than old veterans.

My starts with documenting the install of Silverblue from the very beginning, showing all the steps required to get to that first login screen, and perhaps discussing some of the options along the way.

After that first login, the guide would talk about some of the first steps users will want to do, like enabling the Flathub repo, layering in some packages, perhaps enabling RPM Fusion, maybe turning on SSH logins, etc. It can cover these operations using the CLI and gnome-software.

Then it could delve into using containers to provide tools that aren’t available on the host, including how to use buildah and podman.

My first set of ideas for the guide is outlined below. I’d like to curate and expand on these ideas, so please weigh in!

  • Installing Fedora Atomic Workstation
    • Automatic Partitioning
    • Manual Partitioning
    • Installing Side by Side on Existing System
  • First Login
    • Lay of the Land
    • Containers vs Flatpak vs Package Layering
    • Using Flatpaks/Flathub
    • Using Package Layering
    • Enabling 3rd Party RPM Repos
    • Command Line vs. Gnome Software
  • Using Containers
    • Using Podman to Run Containers
    • Running Your First Container
    • Writing Your First Dockerfile
    • Using Buildah to Build Containers
    • Sharing Data Between Container + Host ?
    • Example Pet Container Usage
  • Upgrades and Rollbacks
    • Upgrading the OS
    • Rolling Back the OS
    • Upgrading Flatpaks
    • Upgrading Containers
  • Miscellany ?
    • Generating SSH Keys ?
    • Enabling SSH Access ?
    • Using VPN Connections ?
    • oc cluster up ?
  • Advanced Topics
    • Creating a Custom Silverblue Compose
    • Generating Your Own Silverblue ISO
  • Known Problems
    • Lack of Support for DKMS/AKMOD (i.e. nVidia drivers)

The first steps towards this guide has already been implemented in the Installation Guide, but there is clearly more we can document.


migrated comments follow

jakfrost commented 4 months ago

I like what you have started here. I think something on SELinux might be a good thing, as well as possibly something on how portals are used by flatpaks and the ostree. Some rudimentary systemd stuff, which could be just links to the appropriate locates for the System Admin guide topics. Really though, you have a good framework started and I think it is entirely inline with what is normally out there for Fedora Doc. Of course what I noted above, all could be interleaved with your heading ideas already, also adding the configurations of some of our "professional" users as examples will do a lot for most intermediate users. The guide must afford the new user a place to get a firm start at using Fedora Silverblue, which also will likely mean linux in general, since here I am thinking of the 'new to linux and fedora' user.
znmeb commented 4 months ago

Looks good to me. I'm a long-time Linux user (Red Hat 6.2 - present) and an awful lot is different even compared to Fedora Workstation.
znmeb commented 4 months ago

The biggest stumbling blocks for me on Silverblue, as a long-time Linux workstation user, including Fedora from "Beefy Miracle" through Fedora 27 are:

    Managing rpm-ostree deployments. I need a command line tool to search for packages and ways to juggle an arbitrary number of deployments. I'd like to have, for example, Silverblue 29, Rawhide, and a rollback for each of them.
    Documenting how to turn a third-party GUI app into a flatpak that runs in user space.
    Container wrangling without Docker: basically, how to do everything I do now on a workstation with Docker and Docker Compose with buildah, podman, skopeo, kompose and Kubernetes. Right now I don't even know how to install Kubernetes.

I've got a work in progress I can use as a testbed for all of this - https://github.com/znmeb/data-science-pet-containers. That would only exercise 1 and 3 above; the toolset was deliberately designed around web apps.
jakfrost commented 4 months ago

    Managing rpm-ostree deployments. I need a command line tool to search for packages and ways to juggle an arbitrary number of deployments. I'd like to have, for example, Silverblue 29, Rawhide, and a rollback for each of them.

    This is definitely something I have noticed others talk about elsewhere, including a discussion I was having with my brother in law about Silverblue. Pointedly, I was bemoaning the fact that I felt I was back in the early days of our joint Linux use jump, when we switched off MS products on our desktops for good. I think working through the in's and out's of how to do this task would provide clear informative benefit to the community, and likely prove to be a mountain of technical solutions to climb in order to reach the preferred state.

    Documenting how to turn a third-party GUI app into a flatpak that runs in user space.

    I am currently trying, well I have to get back at it, I want to put IntelliJ's IDEA IDE in a flatpak with the necessary java libraries I use for my limited scope of Java programming, the process should be the same though in any case, and I have it partially working, still fails though.

    Container wrangling without Docker: basically, how to do everything I do now on a workstation with Docker and Docker Compose with buildah, podman, skopeo, kompose and Kubernetes. Right now I don't even know how to install Kubernetes.

    Yeah, container management has become top on my mind lately and I really was blissfully unaware of them (sometimes purposefully) until I tried out Silverblue 28.

    I've got a work in progress I can use as a testbed for all of this - https://github.com/znmeb/data-science-pet-containers. That would only exercise 1 and 3 above; the toolset was deliberately designed around web apps.

    That would be awesome!
znmeb commented 4 months ago

        Documenting how to turn a third-party GUI app into a flatpak that runs in user space.

    I am currently trying, well I have to get back at it, I want to put IntelliJ's IDEA IDE in a flatpak with the necessary java libraries I use for my limited scope of Java programming, the process should be the same though in any case, and I have it partially working, still fails though.

It turns out I also need to be able to export the container display and sound to the host for one of my projects. That's pretty easy on a Silverblue host - you just do some bind-mount magic https://stackoverflow.com/questions/25281992/alternatives-to-ssh-x11-forwarding-for-docker-containers. However, I need to be portable to Windows and Mac hosts, so I'll probably go with xpra
@znmeb
Copy link

znmeb commented Mar 5, 2019

  1. Can one do a side-by-side install with a "host" other than Fedora?
  2. A guide to podman networking would be useful. The rich infrastructure provided by docker network doesn't appear to be available in the current podman. Compare https://github.com/znmeb/data-science-pet-containers/blob/master/containers/docker-run.bash with https://github.com/znmeb/data-science-pet-containers/blob/master/containers/sudo-podman-run.bash to get an idea of what's missing for the simple task of building a network / pod of containers that can talk to each other by name.
  3. Grub configuration on dual-booted systems. Where does Silverblue get its /etc/default.grub, where does it store the generated configuration files, how does one manage multiple required command lines, etc.

@TheOneandOnlyJakfrost
Copy link

It's finally on GitHub. I can fork and clone this repo and get my latest additions incorporated. WooHoo!

@allanday
Copy link
Contributor

allanday commented May 7, 2019

One key question we need to answer is whether we want the Silverblue docs to reproduce material that's available elsewhere. Personally, I'm unconvinced that we should be maintaining our own installation guide or our own podman docs: it's a lot of material that will inevitably end up being reproduced elsewhere.

@znmeb
Copy link

znmeb commented May 7, 2019

I would think the end goal would be something like the RHEL manuals or the Fedora manuals - a comprehensive, searchable HTML / PDF / EPUB technical document that answers every question a user might have, eliminating the need for Google or Stack Overflow during troubleshooting. ;-)

Of course, nobody's documentation is that good, but some come closer than others. And it takes time and effort that may not be in anyone's budget except for volunteers.

You're right - podman and the installer that has the same name as a popular Python, R and Julia data science stack are documented well elsewhere. But the existence of that naming conflict alone is why one might want to do Silverblue installer documentation within a comprehensive Silverblue manual. P.S.: the Silverblue installer workflow differs from Fedora Workstation.

@dyoungwd
Copy link
Contributor

dyoungwd commented May 7, 2019

Where would this be done / hosted? A separate repo, using the wiki feature on this repo, within a sub folder of this repo or somewhere else entirely?

Personally, I like the idea of an advanced / additional guide or user manual in general but as touched upon already is it necessary to get into great detail for things that have existing docs.

Would it not be best to give an introduction on how to use, for example podman, and for the more specific / technical details, provide a link to that section otherwise when they update docs it will have a knock on effect

@allanday
Copy link
Contributor

allanday commented May 8, 2019

The thing is, there is a comprehensive installation guide for Fedora, and I think that 95% of that is correct for Silverblue... Do we really want to maintain our own version of that 95%?

The other thing I'm conscious of is that, in many cases, people just need to know 2/3 key pieces of information before they install (what to expect from Silverblue, should you use manual partitioning, is dual boot possible, etc) - those could get lost in a big guide.

@allanday
Copy link
Contributor

allanday commented May 8, 2019

Where would this be done / hosted? A separate repo, using the wiki feature on this repo, within a sub folder of this repo or somewhere else entirely?

If it's a technical guide I think it's good to make it collaborative; whether that's a section in the docs or a wiki on GitHub, I'm not sure...

...

Would it not be best to give an introduction on how to use, for example podman, and for the more specific / technical details, provide a link to that section otherwise when they update docs it will have a knock on effect

I quick podman intro could be nice, as a kind of teaser. Something along the lines of a 5 minute hello world tutorial, for example.

@dyoungwd
Copy link
Contributor

dyoungwd commented May 8, 2019

before they install (what to expect from Silverblue, should you use manual partitioning, is dual boot possible, etc) - those could get lost in a big guide.

Official Video tutorial would maybe be handy for that - people could follow along on their phone as they install ( is there a vimo or YT channel for Silverblue? ). However not sure if using the wiki if you can embed videos - ran into issues with that previously and can't remeber if we worked it out. Sure we left it as a screenshot linking to the video.

@TheOneandOnlyJakfrost
Copy link

TheOneandOnlyJakfrost commented May 8, 2019 via email

@miabbott
Copy link
Member Author

miabbott commented May 8, 2019

One key question we need to answer is whether we want the Silverblue docs to reproduce material that's available elsewhere. Personally, I'm unconvinced that we should be maintaining our own installation guide or our own podman docs: it's a lot of material that will inevitably end up being reproduced elsewhere.

We definitely have to find the right balance between Fedora + Silverblue docs. I originally set out to have documentation that was wholly contained within the Silverblue space, regardless of what was available in the Fedora docs. However, after toiling on the first portion of the install guide (again, knowing I was reproducing content), I'm not sure that is the right approach. Even more so, since I've not been able to dedicate the time I wanted to improving the documentation.

I think the changes that @allanday has made so far definitely make the docs more approachable and easier to use. And I agree with others commenting that we need to give some introductory documentation on how to use tools that are not typical of the Fedora Workstation experience (podman, flatpak, toolbox, ostree, rpm-ostree, etc). We should link to existing documentation where possible, but let's not be afraid of creating more comprehensive docs for a topic if they don't already exist.

I'm still partial to about 75% of the original outline as being good topics to cover; maybe we don't have to get into as much depth as I originally had in mind, but it should be enough to get users moving in the right direction.

@dyoungwd
Copy link
Contributor

dyoungwd commented May 8, 2019

Just some feedback from twitter - someone wanting to try out Silverblue but hasn't due to lack of info for installation:

I saw it. But there is no info about size of each partition. Especially root filesystem. (link: https://twitter.com/dyoungwd/status/1125901039037755392) twitter.com/dyoungwd/statu…
Quote Tweet

Dazzy
@dyoungwd
· 21h
Replying to @dz1q @fedoracommunity and @fedora
Docs can be found at (link: https://docs.fedoraproject.org/en-US/fedora-silverblue/installation/) docs.fedoraproject.org/en-US/fedora-s… @teamsilverblue

@Lailah
Copy link

Lailah commented May 10, 2019

The thing is, there is a comprehensive installation guide for Fedora, and I think that 95% of that is correct for Silverblue... Do we really want to maintain our own version of that 95%?

The other thing I'm conscious of is that, in many cases, people just need to know 2/3 key pieces of information before they install (what to expect from Silverblue, should you use manual partitioning, is dual boot possible, etc) - those could get lost in a big guide.

Maybe we could document the 5% that is different from standard Fedora, and refer to the Install Guide for the rest?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants