138 lines
3.1 KiB
YAML
138 lines
3.1 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:16
|
|
container_name: p1ctos4ve-postgres
|
|
environment:
|
|
POSTGRES_USER: p1ctos4ve
|
|
POSTGRES_PASSWORD: p1ctos4ve_password
|
|
POSTGRES_DB: p1ctos4ve
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U p1ctos4ve"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- p1ctos4ve-network
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: p1ctos4ve-redis
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 5
|
|
networks:
|
|
- p1ctos4ve-network
|
|
|
|
seaweedfs-master:
|
|
image: chrislusf/seaweedfs:latest
|
|
container_name: p1ctos4ve-seaweedfs-master
|
|
command: "master -ip=seaweedfs-master"
|
|
ports:
|
|
- "9333:9333"
|
|
- "19333:19333"
|
|
volumes:
|
|
- seaweedfs_master_data:/data
|
|
networks:
|
|
- p1ctos4ve-network
|
|
|
|
seaweedfs-volume:
|
|
image: chrislusf/seaweedfs:latest
|
|
container_name: p1ctos4ve-seaweedfs-volume
|
|
command: "volume -mserver=seaweedfs-master:9333 -port=8080"
|
|
ports:
|
|
- "8080:8080"
|
|
depends_on:
|
|
- seaweedfs-master
|
|
volumes:
|
|
- seaweedfs_volume_data:/data
|
|
networks:
|
|
- p1ctos4ve-network
|
|
|
|
seaweedfs-filer:
|
|
image: chrislusf/seaweedfs:latest
|
|
container_name: p1ctos4ve-seaweedfs-filer
|
|
command: "filer -master=seaweedfs-master:9333"
|
|
ports:
|
|
- "8888:8888"
|
|
depends_on:
|
|
- seaweedfs-master
|
|
volumes:
|
|
- seaweedfs_filer_data:/data
|
|
networks:
|
|
- p1ctos4ve-network
|
|
|
|
seaweedfs-s3:
|
|
image: chrislusf/seaweedfs:latest
|
|
container_name: p1ctos4ve-seaweedfs-s3
|
|
entrypoint: ["/bin/sh", "-c"]
|
|
command:
|
|
- |
|
|
mkdir -p /data
|
|
cat > /data/s3.json << 'EOF'
|
|
{
|
|
"identities": [
|
|
{
|
|
"name": "anonymous",
|
|
"credentials": [
|
|
{
|
|
"accessKey": "",
|
|
"secretKey": ""
|
|
}
|
|
],
|
|
"actions": ["Read:p1ctos4ve"]
|
|
},
|
|
{
|
|
"name": "any",
|
|
"credentials": [
|
|
{
|
|
"accessKey": "any",
|
|
"secretKey": "any"
|
|
}
|
|
],
|
|
"actions": ["Admin", "Read", "Write"]
|
|
}
|
|
]
|
|
}
|
|
EOF
|
|
exec /entrypoint.sh s3 -filer=seaweedfs-filer:8888 -port=8333 -ip.bind=0.0.0.0 -config=/data/s3.json
|
|
ports:
|
|
- "8333:8333"
|
|
depends_on:
|
|
- seaweedfs-master
|
|
- seaweedfs-volume
|
|
- seaweedfs-filer
|
|
volumes:
|
|
- seaweedfs_s3_data:/data
|
|
networks:
|
|
- p1ctos4ve-network
|
|
|
|
volumes:
|
|
postgres_data:
|
|
driver: local
|
|
redis_data:
|
|
driver: local
|
|
seaweedfs_master_data:
|
|
driver: local
|
|
seaweedfs_volume_data:
|
|
driver: local
|
|
seaweedfs_filer_data:
|
|
driver: local
|
|
seaweedfs_s3_data:
|
|
driver: local
|
|
|
|
networks:
|
|
p1ctos4ve-network:
|
|
driver: bridge
|