6 Commits
Author SHA1 Message Date
tajniak81andClaude Opus 5.5 66e48712c7 Docker, Docker-AIO: one .env example per compose file
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Test (windows-latest) (push) Canceled after 0s
CI / Storage tests on PostgreSQL (push) Canceled after 0s
CI / Complement (federation off) (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
CI / Smoke test the binary (push) Canceled after 0s
CI / Admin panel (push) Canceled after 0s
CI / Web client (push) Canceled after 0s
CI / Desktop client (ubuntu-24.04) (push) Canceled after 0s
CI / Desktop client (windows-latest) (push) Canceled after 0s
Replace each folder's shared .env.example with one example per compose
file, named after it (docker-compose.<name>.yml takes
.env.<name>.example), as DriverVault does. Each lists only the settings
its compose file uses, names the required ones in its header, and the
prod examples start from a public server name. Every variable a compose
file substitutes is defined in its example.

The compose headers point at their own example. The SeaweedFS files now
fix WARP_PB_S3_REGION at us-east-1 instead of reading it from .env,
since SeaweedFS ignores the region.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 21:00:44 +02:00
tajniak81andClaude Opus 5.5 332916e9db Docker-AIO: PocketBase image with media in an external S3 bucket
Dockerfile.PocketBase.s3 is the PocketBase all-in-one image with S3
turned on: media goes to an existing bucket on WARP_PB_S3_ENDPOINT
(AWS, MinIO, or a SeaweedFS elsewhere), and the database stays in
/data/pb_data. The compose files require the endpoint and key pair,
default the bucket to warp, the region to us-east-1 and path style
to true, and add host.docker.internal so the endpoint can be on the
Docker host. Modelled on DriverVault's external-S3 compose files.

The entrypoint now waits up to 30 seconds for an external S3 endpoint
to answer and stops if it doesn't, instead of starting a homeserver
that would fail on its first upload. WARP_PB_S3_FORCE_PATH_STYLE is
left empty in .env.example so the S3 file's default applies.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:45:01 +02:00
tajniak81andClaude Opus 5.5 36d83551aa Docker-AIO: PocketBase images with SeaweedFS for media
Dockerfile.PocketBase.SeaweedFS bakes SeaweedFS into the PocketBase
all-in-one image as one `weed server -s3` process;
Dockerfile.PocketBase.SeaweedFS.split runs master, volume, filer, S3
gateway and the admin UI as separate processes, with the homeserver's
S3 identity seeded into the filer's IAM store on every boot. Media goes
to the bucket, the database stays in /data/pb_data, and both layouts
share /seaweed/data, so switching between them needs no migration.

The entrypoint now tracks every process in one list and stops them in
reverse start order, and it refuses to start an open S3 gateway or
admin UI. Each image gets a build and a prod compose file, and
.env.example and the README cover the new settings. Modelled on
DriverVault's Docker-AIO SeaweedFS images.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:33:21 +02:00
tajniak81andClaude Opus 5.5 89f89b5d36 Docker-AIO: one image per database
Dockerfile builds warp-aio on SQLite, Dockerfile.PocketBase builds
warp-aio-pocketbase and Dockerfile.PostgreSQL builds warp-aio-postgresql
with PostgreSQL bundled. The database driver and connection string now
come from the image, so the SQLite and PocketBase images no longer carry
PostgreSQL (103 MB instead of 149 MB). The AIO compose files point at
their own Dockerfile and image, and the entrypoint refuses to start an
embedded PostgreSQL in an image that has none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:22:24 +02:00
tajniak81andClaude Opus 5.5 b8d692bac5 Docker: read every setting from a .env file
Each folder gets a .env.example listing every homeserver, admin panel
and web client setting with its default (empty means the default).
Compose reads .env for ports, registry and the PostgreSQL password, and
passes it to the containers through env_file; the compose files keep
only the database driver, connection string and internal addresses.
.env is git-ignored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:12:35 +02:00
tajniak81andClaude Opus 5.5 6236f5d9a8 Docker and Docker-AIO compose setups for SQLite, PocketBase and PostgreSQL
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Test (windows-latest) (push) Canceled after 0s
CI / Storage tests on PostgreSQL (push) Canceled after 0s
CI / Complement (federation off) (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
CI / Smoke test the binary (push) Canceled after 0s
CI / Admin panel (push) Canceled after 0s
CI / Web client (push) Canceled after 0s
CI / Desktop client (ubuntu-24.04) (push) Canceled after 0s
CI / Desktop client (windows-latest) (push) Canceled after 0s
Docker/ runs the homeserver, admin panel and web client as separate
containers built from the existing Dockerfiles; Docker-AIO/ runs all
three (and optionally PostgreSQL) in one warp-aio image, supervised by
a small entrypoint. Each has a build file and a .prod.yml that only
pulls images from WARP_REGISTRY at WARP_VERSION.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:52:10 +02:00