|
23 | 23 | <link rel="apple-touch-icon" href="/favicon.ico"> |
24 | 24 | <link rel="stylesheet" href="/assets/css/site.css?v=b310d7c992"> |
25 | 25 | <link rel="stylesheet" href="/assets/css/main.css?v=ccd72260b9"> |
26 | | - <script type="application/ld+json">[{"@context": "https://schema.org", "@type": "TechArticle", "headline": "Android installation", "description": "Install Droidspaces on a rooted Android device: install the APK, let the app set up the backend, and create a Linux container without typing a terminal command.", "url": "https://www.droidspaces.org/docs/installation-android.html", "inLanguage": "en", "dateModified": "2026-09-28", "author": {"@type": "Organization", "name": "Droidspaces", "url": "https://www.droidspaces.org/", "sameAs": ["https://github.com/ravindu644/Droidspaces-OSS", "https://t.me/Droidspaces"]}, "publisher": {"@type": "Organization", "name": "Droidspaces", "url": "https://www.droidspaces.org/", "sameAs": ["https://github.com/ravindu644/Droidspaces-OSS", "https://t.me/Droidspaces"]}, "isPartOf": {"@type": "WebSite", "name": "Droidspaces", "url": "https://www.droidspaces.org/"}}, {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.droidspaces.org/"}, {"@type": "ListItem", "position": 2, "name": "Documentation", "item": "https://www.droidspaces.org/docs/"}, {"@type": "ListItem", "position": 3, "name": "Android installation", "item": "https://www.droidspaces.org/docs/installation-android.html"}]}]</script> |
| 26 | + <script type="application/ld+json">[{"@context": "https://schema.org", "@type": "TechArticle", "headline": "Android installation", "description": "Install Droidspaces on a rooted Android device: install the APK, let the app set up the backend, and create a Linux container without typing a terminal command.", "url": "https://www.droidspaces.org/docs/installation-android.html", "inLanguage": "en", "dateModified": "2026-10-10", "author": {"@type": "Organization", "name": "Droidspaces", "url": "https://www.droidspaces.org/", "sameAs": ["https://github.com/ravindu644/Droidspaces-OSS", "https://t.me/Droidspaces"]}, "publisher": {"@type": "Organization", "name": "Droidspaces", "url": "https://www.droidspaces.org/", "sameAs": ["https://github.com/ravindu644/Droidspaces-OSS", "https://t.me/Droidspaces"]}, "isPartOf": {"@type": "WebSite", "name": "Droidspaces", "url": "https://www.droidspaces.org/"}}, {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.droidspaces.org/"}, {"@type": "ListItem", "position": 2, "name": "Documentation", "item": "https://www.droidspaces.org/docs/"}, {"@type": "ListItem", "position": 3, "name": "Android installation", "item": "https://www.droidspaces.org/docs/installation-android.html"}]}]</script> |
27 | 27 | <script>(function(){const t=localStorage.getItem('theme');if(t)document.documentElement.setAttribute('data-theme',t);})();</script> |
28 | 28 | </head> |
29 | 29 | <body> |
@@ -123,6 +123,27 @@ <h3 id="option-b-install-from-a-local-tarball">Option B: Install from a local ta |
123 | 123 | <li><strong>Select your tarball</strong> from storage.</li> |
124 | 124 | <li>Follow the same <strong>configuration wizard</strong> steps as above.</li> |
125 | 125 | </ol> |
| 126 | +<p>An archive can include a regular <code>container.config</code> file at its root, alongside <code>bin/</code>, |
| 127 | +<code>etc/</code> and <code>usr/</code>. The app reads its usual <code>key=value</code> settings and prefills the wizard. |
| 128 | +The file may contain the complete config from an installed container or only the settings |
| 129 | +you want to recommend. Missing settings use the wizard defaults. Every setting in the |
| 130 | +file is applied, hardware access and privileged mode included, so the wizard shows a |
| 131 | +warning page before the configuration page. Review it there and change anything you do |
| 132 | +not want before installing. Recommendations use the existing config parser without |
| 133 | +additional field filtering. Rootfs validation still runs before extraction.</p> |
| 134 | +<p>Exporting a container includes its current host-side <code>container.config</code> as the first |
| 135 | +archive member, replacing any old copy in the rootfs. This lets the app read exported |
| 136 | +recommendations without decompressing the rest of the archive. If the first member is |
| 137 | +not <code>container.config</code> or <code>./container.config</code>, the app skips recommendations and opens |
| 138 | +the default configuration wizard. It does not search later entries. |
| 139 | +The new container name and storage location come from the wizard. Bind mounts use the |
| 140 | +existing <code>bind_mounts=source:destination[:ro],...</code> format and can be reviewed in the wizard.</p> |
| 141 | +<p>Environment variables are left out of an export by default, because they often hold |
| 142 | +passwords and tokens. When the container has any, the export asks first, and turning on |
| 143 | +"Include environment variables" adds them as a <code>container.env</code> member right after |
| 144 | +<code>container.config</code>. Importing that archive fills the wizard's environment variables too. |
| 145 | +Neither member is ever extracted into the new rootfs. The rootfs |
| 146 | +itself is not modified during export.</p> |
126 | 147 | <div class="callout callout-note"><strong class="callout-title">Note</strong><p>Both methods end in the same wizard. The only difference is where the tarball comes from.</p></div> |
127 | 148 | <h2 id="verification--settings">Verification & settings <a class="header-anchor" href="#verification--settings">#</a></h2> |
128 | 149 | <p>You can check the system status at any time:</p> |
|
0 commit comments