# Warp all-in-one on PocketBase with media in an S3 bucket elsewhere: the # homeserver, the admin panel and the web client in one container built from # this checkout (Dockerfile.PocketBase.s3). # # cd Docker-AIO # cp .env.pocketbase.s3.example .env # then edit it # docker compose -f docker-compose.pocketbase.s3.yml up -d --build # # The database stays in /data/pb_data (warp-data); media goes to the bucket # WARP_PB_S3_BUCKET (default warp) on WARP_PB_S3_ENDPOINT, which must already # exist: nothing here runs a gateway or creates the bucket. For a gateway on # this Docker host, use http://host.docker.internal:8333; the host entry below # makes that name resolve. For a SeaweedFS inside the container instead, see # docker-compose.pocketbase.seaweedfs.yml. Media stored before S3 was on is # not moved into the bucket. # # Homeserver http://localhost:8008, admin panel http://localhost:8009, web # client http://localhost:8080. # # Create the first administrator once the server is up: # # docker compose -f docker-compose.pocketbase.s3.yml exec warp warp create-account --username admin --admin name: warp-aio-pocketbase-s3 services: warp: build: context: .. dockerfile: Docker-AIO/Dockerfile.PocketBase.s3 image: warp-aio-pocketbase-s3:latest restart: unless-stopped extra_hosts: # Lets WARP_PB_S3_ENDPOINT name the Docker host as host.docker.internal. - "host.docker.internal:host-gateway" env_file: .env environment: WARP_PB_S3_ENABLED: "true" WARP_PB_S3_ENDPOINT: ${WARP_PB_S3_ENDPOINT:?set WARP_PB_S3_ENDPOINT in .env} WARP_PB_S3_BUCKET: ${WARP_PB_S3_BUCKET:-warp} # SeaweedFS and MinIO ignore the region; the client insists on one. WARP_PB_S3_REGION: ${WARP_PB_S3_REGION:-us-east-1} WARP_PB_S3_ACCESS_KEY: ${WARP_PB_S3_ACCESS_KEY:?set WARP_PB_S3_ACCESS_KEY in .env} WARP_PB_S3_SECRET: ${WARP_PB_S3_SECRET:?set WARP_PB_S3_SECRET in .env} # true for SeaweedFS and MinIO, false for AWS S3 proper. WARP_PB_S3_FORCE_PATH_STYLE: ${WARP_PB_S3_FORCE_PATH_STYLE:-true} volumes: - warp-data:/data ports: - "${WARP_PORT:-8008}:8008" - "${WARP_ADMIN_PORT:-8009}:8009" - "${WARP_WEB_PORT:-8080}:8080" volumes: warp-data: