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