Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
ARG IMAGE
FROM ${IMAGE}
# The base image's CA store is only as current as its last release; certifi and Node carry their own copies.
RUN apt-get update && apt-get install -y --no-install-recommends --only-upgrade ca-certificates && rm -rf /var/lib/apt/lists/* \
&& ! grep -q MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBr /etc/ssl/certs/ca-certificates.crt \
&& find /venv /opt/archivebox/lib/uv -path '*/certifi/cacert.pem' -exec sh -ec \
'for bundle do cp /etc/ssl/certs/ca-certificates.crt "$bundle"; done' sh {} + \
&& ! find /venv /opt/archivebox/lib/uv -path '*/certifi/cacert.pem' -exec grep -l MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBr {} + | grep -q .
ENV NODE_OPTIONS=--use-openssl-ca
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
> upstream documentation is accurate and fully applicable — see the
> Documentation section of `instructions.md` for links.

[ArchiveBox](https://github.com/ArchiveBox/ArchiveBox) is a self-hosted internet archiver: it takes URLs you feed it and saves each one as HTML, PDF, screenshot, WARC, and media, then indexes the results so they stay readable offline. This package runs the upstream image unmodified and adds the one thing the image cannot do for itself — provision the admin account.
[ArchiveBox](https://github.com/ArchiveBox/ArchiveBox) is a self-hosted internet archiver: it takes URLs you feed it and saves each one as HTML, PDF, screenshot, WARC, and media, then indexes the results so they stay readable offline. This package runs the upstream image, with a temporary CA-store layer, and adds the one thing the image cannot do for itself — provision the admin account.

- **Upstream repo:** <https://github.com/ArchiveBox/ArchiveBox>
- **Wrapper repo:** <https://github.com/Start9-Community/archivebox-startos>
Expand All @@ -35,11 +35,11 @@

## Image and Container Runtime

One upstream image, unmodified, running its own entrypoint.
One upstream image, running its own entrypoint. The root `Dockerfile` upgrades its CA stores (system bundle, certifi in both `/venv` and the extractor environments under `/opt/archivebox/lib/uv`, and `NODE_OPTIONS=--use-openssl-ca` for Node); the layer comes out once upstream ships an image built on a fixed store.

| Property | Value |
| ------------- | --------------------------------------------------------------------- |
| Image | `archivebox/archivebox` |
| Image | `archivebox/archivebox` + root `Dockerfile` |
| Architectures | x86_64, aarch64 |
| Entrypoint | Upstream's, via `sdk.useEntrypoint()`; only the command is overridden |

Expand Down
41 changes: 10 additions & 31 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "archivebox-startos",
"dependencies": {
"@start9labs/start-sdk": "3.0.3"
"@start9labs/start-sdk": "3.1.0"
},
"overrides": {
"@start9labs/start-sdk": "$@start9labs/start-sdk"
Expand Down
2 changes: 2 additions & 0 deletions startos/actions/setAdminPassword.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ u.save()`,
masked: false,
copyable: true,
qr: false,
launchable: false,
},
{
type: 'single',
Expand All @@ -82,6 +83,7 @@ u.save()`,
masked: true,
copyable: true,
qr: false,
launchable: false,
},
],
},
Expand Down
2 changes: 1 addition & 1 deletion startos/manifest/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export const manifest = setupManifest({
images: {
archivebox: {
source: {
dockerTag: 'archivebox/archivebox:0.9.73',
dockerBuild: { buildArgs: { IMAGE: 'archivebox/archivebox:0.9.73' } },
},
arch: ['x86_64', 'aarch64'],
},
Expand Down
61 changes: 10 additions & 51 deletions startos/versions/current.ts
Original file line number Diff line number Diff line change
@@ -1,58 +1,17 @@
import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk'

export const current = VersionInfo.of({
version: '0.9.73:0',
version: '0.9.73:1',
releaseNotes: {
en_US: `Updated ArchiveBox to 0.9.73.

- New: save Google Docs, Sheets, Slides, Google Drive and Dropbox files, and a mobile-layout capture so saved pages replay better on phones.
- Faster adding and browsing of URLs in large archives, with lower memory use during long captures.
- A better file browser inside snapshot cards, and a cleaner layout on narrow screens.
- Fix: deleting many snapshots at once no longer crashes.
- Fix: URLs containing apostrophes are imported intact.
- Set Admin Password asks for confirmation before it replaces an existing password.

Full release notes: https://github.com/ArchiveBox/ArchiveBox/releases`,
es_ES: `Actualiza ArchiveBox a 0.9.73.

- Nuevo: guarda archivos de Google Docs, Sheets, Slides, Google Drive y Dropbox, y una captura con diseño móvil para que las páginas guardadas se vean mejor en el teléfono.
- Añadir y explorar URL en archivos grandes es más rápido, con menos uso de memoria en capturas largas.
- Un mejor explorador de archivos dentro de las tarjetas de instantáneas y un diseño más limpio en pantallas estrechas.
- Corrección: eliminar muchas instantáneas a la vez ya no provoca un fallo.
- Corrección: las URL que contienen apóstrofos se importan completas.
- Set Admin Password pide confirmación antes de reemplazar una contraseña existente.

Notas de la versión completas: https://github.com/ArchiveBox/ArchiveBox/releases`,
de_DE: `Aktualisiert ArchiveBox auf 0.9.73.

- Neu: Speichert Dateien aus Google Docs, Sheets, Slides, Google Drive und Dropbox sowie eine Aufnahme im Mobil-Layout, damit gespeicherte Seiten auf dem Smartphone besser dargestellt werden.
- Schnelleres Hinzufügen und Durchsuchen von URLs in großen Archiven, mit geringerem Speicherverbrauch bei langen Aufnahmen.
- Ein besserer Dateibrowser in den Snapshot-Karten und ein aufgeräumteres Layout auf schmalen Bildschirmen.
- Fehlerbehebung: Das gleichzeitige Löschen vieler Snapshots führt nicht mehr zum Absturz.
- Fehlerbehebung: URLs mit Apostrophen werden vollständig importiert.
- „Set Admin Password“ fragt nach einer Bestätigung, bevor ein bestehendes Passwort ersetzt wird.

Vollständige Versionshinweise: https://github.com/ArchiveBox/ArchiveBox/releases`,
pl_PL: `Aktualizuje ArchiveBox do wersji 0.9.73.

- Nowość: zapisywanie plików z Google Docs, Sheets, Slides, Google Drive i Dropbox oraz przechwytywanie w układzie mobilnym, dzięki któremu zapisane strony lepiej wyświetlają się na telefonie.
- Szybsze dodawanie i przeglądanie adresów URL w dużych archiwach oraz mniejsze zużycie pamięci przy długich przechwytywaniach.
- Lepsza przeglądarka plików w kartach migawek i czytelniejszy układ na wąskich ekranach.
- Poprawka: usuwanie wielu migawek naraz nie powoduje już awarii.
- Poprawka: adresy URL zawierające apostrofy są importowane w całości.
- „Set Admin Password” prosi o potwierdzenie przed zastąpieniem istniejącego hasła.

Pełne informacje o wydaniu: https://github.com/ArchiveBox/ArchiveBox/releases`,
fr_FR: `Met à jour ArchiveBox vers 0.9.73.

- Nouveau : enregistre les fichiers Google Docs, Sheets, Slides, Google Drive et Dropbox, ainsi qu'une capture en mise en page mobile pour que les pages enregistrées s'affichent mieux sur téléphone.
- Ajout et consultation des URL plus rapides dans les grandes archives, avec une consommation de mémoire réduite lors des longues captures.
- Un meilleur explorateur de fichiers dans les cartes d'instantanés et une mise en page plus soignée sur les écrans étroits.
- Correctif : supprimer de nombreux instantanés à la fois ne provoque plus de plantage.
- Correctif : les URL contenant des apostrophes sont importées en entier.
- Set Admin Password demande une confirmation avant de remplacer un mot de passe existant.

Notes de version complètes : https://github.com/ArchiveBox/ArchiveBox/releases`,
en_US:
'Stops trusting certificates from a compromised certificate authority (eMudhra).',
es_ES:
'Deja de confiar en los certificados de una autoridad de certificación comprometida (eMudhra).',
de_DE:
'Vertraut Zertifikaten einer kompromittierten Zertifizierungsstelle (eMudhra) nicht mehr.',
pl_PL:
'Przestaje ufać certyfikatom przejętego urzędu certyfikacji (eMudhra).',
fr_FR: `Ne fait plus confiance aux certificats d'une autorité de certification compromise (eMudhra).`,
},
migrations: {
up: async ({ effects }) => {},
Expand Down
Loading