mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
* fix: rustfs test instance * fix: s3.form.tsx --------- Co-authored-by: charles-gauthereau <charles.gauthereau@soluce-technologies.com>
159 lines
3.9 KiB
YAML
159 lines
3.9 KiB
YAML
name: portabase-dev
|
|
|
|
services:
|
|
db:
|
|
image: postgres:17-alpine
|
|
ports:
|
|
- "5433:5432"
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_DB=devdb
|
|
- POSTGRES_USER=devuser
|
|
- POSTGRES_PASSWORD=changeme
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "pg_isready -U devuser -d devdb" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
tusd:
|
|
image: tusproject/tusd:v2.8.0
|
|
ports:
|
|
- "1080:8080"
|
|
command: >
|
|
-upload-dir /data/uploads/tmp
|
|
-hooks-http http://localhost:8887/api/tus/hooks
|
|
-max-size 21474836480
|
|
-base-path /tus/files/
|
|
extra_hosts:
|
|
- "localhost:host-gateway"
|
|
volumes:
|
|
- ./private/uploads/tmp:/data/uploads/tmp
|
|
user: "1000:1000"
|
|
|
|
mailpit:
|
|
image: axllent/mailpit:latest
|
|
container_name: portabase-mailpit-dev
|
|
hostname: mailpit
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8025:8025"
|
|
- "1025:1025"
|
|
|
|
azurite:
|
|
image: mcr.microsoft.com/azure-storage/azurite
|
|
command: azurite --blobHost 0.0.0.0 --skipApiVersionCheck
|
|
ports:
|
|
- "10000:10000"
|
|
volumes:
|
|
- azurite-data:/data
|
|
extra_hosts:
|
|
- "localhost:host-gateway"
|
|
networks:
|
|
- portabase
|
|
|
|
# DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
|
|
|
|
gcs:
|
|
image: fsouza/fake-gcs-server:latest
|
|
container_name: fake-gcs
|
|
ports:
|
|
- "4443:4443"
|
|
command:
|
|
- "-scheme"
|
|
- "http"
|
|
- "-port"
|
|
- "4443"
|
|
- "-public-host"
|
|
- "localhost:4443"
|
|
- "-external-url"
|
|
- "http://localhost:4443"
|
|
- "-backend"
|
|
- "filesystem"
|
|
- "-filesystem-root"
|
|
- "/storage"
|
|
volumes:
|
|
- gcs-data:/data
|
|
- gcs-storage:/storage
|
|
networks:
|
|
- portabase
|
|
|
|
gcs-init:
|
|
image: curlimages/curl:latest
|
|
depends_on:
|
|
- gcs
|
|
entrypoint: ["/bin/sh", "-c"]
|
|
command: >
|
|
'until curl -fsS http://gcs:4443/storage/v1/b >/dev/null; do sleep 1; done;
|
|
curl -fsS http://gcs:4443/storage/v1/b/portabase >/dev/null
|
|
|| curl -fsS -X POST "http://gcs:4443/storage/v1/b?project=local"
|
|
-H "Content-Type: application/json"
|
|
-d "{\"name\":\"portabase\"}"'
|
|
networks:
|
|
- portabase
|
|
|
|
# curl http://localhost:4443/storage/v1/b
|
|
# projectId: "test-project",
|
|
# bucketName: "portabase",
|
|
# clientEmail: "fake@test.iam.gserviceaccount.com",
|
|
# privateKey: "unused-when-emulated",
|
|
|
|
rustfs:
|
|
image: rustfs/rustfs:latest
|
|
container_name: rustfs
|
|
environment:
|
|
- RUSTFS_ROOT_USER=admin
|
|
- RUSTFS_ROOT_PASSWORD=root-password
|
|
- RUSTFS_ACCESS_KEY=access-key
|
|
- RUSTFS_SECRET_KEY=secret-key
|
|
- RUSTFS_VOLUMES=/data
|
|
- RUSTFS_ADDRESS=:9000
|
|
- RUSTFS_CONSOLE_ENABLE=true
|
|
- RUSTFS_CONSOLE_ADDRESS=:9001
|
|
volumes:
|
|
- rustfs-data:/data
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-sf", "http://localhost:9000/health" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 10s
|
|
ports:
|
|
- "9001:9001"
|
|
- "9000:9000"
|
|
extra_hosts:
|
|
- "localhost:host-gateway"
|
|
networks:
|
|
- portabase
|
|
|
|
rustfs-init:
|
|
image: rustfs/rc:latest
|
|
container_name: rustfs-init
|
|
depends_on:
|
|
rustfs:
|
|
condition: service_healthy
|
|
entrypoint: >
|
|
/bin/sh -c "
|
|
until (/usr/bin/rc alias set rustfs http://rustfs:9000 access-key secret-key) do echo '...waiting...' && sleep 1; done;
|
|
/usr/bin/rc mb rustfs/portabase;
|
|
echo 'RustFS initialization complete';
|
|
tail -f /dev/null
|
|
"
|
|
networks:
|
|
- portabase
|
|
|
|
|
|
|
|
volumes:
|
|
postgres-data:
|
|
azurite-data:
|
|
gcs-data:
|
|
gcs-storage:
|
|
rustfs-data:
|
|
|
|
networks:
|
|
portabase:
|
|
name: portabase_network
|
|
external: true
|