Add single-container Docker appliance and multi-arch publishing#13
Merged
Conversation
magiccodingman
marked this pull request as ready for review
July 25, 2026 16:51
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
ipfsCLIdotnet watch127.0.0.1:5001and the raw Kubo gateway on127.0.0.1:9010; TruthGate remains the authenticated HTTP control boundaryOpinionated Kubo server setup
TruthGate now configures Kubo as a contributing public server by default rather than a desktop-style local node:
serverprofileRouting.Type=dhtserverallAddresses.AppendAnnounceStorage and GC
Datastore.StorageMaxtoauto200GBonly if capacity detection fails750GB,2TB, or5TiB--enable-gcby default and managesDatastore.StorageGCWatermarkConfiguration model
TruthGate creates persistent files on first boot:
/data/truthgate/config/kubo-settings.jsonfor normal managed settings and future UI control/data/truthgate/config/kubo-overrides.jsonfor arbitrary advanced Kubo config pathsIndividual Compose/environment settings override the managed settings file. Advanced overrides can tune additional Kubo options, but cannot expose
Addresses.APIorAddresses.Gateway.A new diagnostic command reports the effective configuration and live node state:
docker exec truthgate truthgate-kubo-statusPersistent contract
/data/truthgate/data/ipfs/repo/data/ipfs/repo/blocks(separate host mount)The Kubo identity, keystore/IPNS keys, repository configuration, blocks, TruthGate configuration, database, certificates, secrets, managed Kubo settings, and application state survive container and image replacement.
Security and first-run behavior
Validation completed
healthyon both architecturesdhtserver, hole punching, relay client, provider strategy, sweep/resume, auto storage sizing, GC watermark, modern swarm listeners, and loopback API/gateway bindingstruthgate-kubo-statusruns successfully on both architecturesThe GHCR publishing job remains intentionally skipped for pull requests. After merge to
master, the workflow publishes one multi-platformmastertag plus a commit-SHA tag; version tags additionally produce semantic-version tags.Scope intentionally excluded