floci Docker & Self-Hosted Deployment

GitHub

Light, fluffy, and always free - The AWS Local Emulator alternative

19,756 stars Java Java 1 file ยท ~12,847 tokens #aws#aws-emulation#devops#docker#ec2#ecs#localstack#s3
RAW Compose
1. Pull Image (DOCKERHUB) docker pull floci-io/floci
2. Docker Run (1-Click Launch) docker run -d --name floci -p 4566:4566 --restart always floci-io/floci:latest
3. Podman Run podman run -d --name floci -p 4566:4566 --restart always floci-io/floci:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/floci-io/floci:latest
5. ORAS Pull (OCI Artifact) oras pull floci-io/floci:latest
6. Compose Deployment docker compose up -d
docker-compose.yml
Download .yml
services:
  floci:
    build:
      context: .
      dockerfile: docker/Dockerfile
    tty: true
    ports:
      - "4566:4566"
      - "6379-6399:6379-6399"
      - "7001-7099:7001-7099"
      - "9200-9299:9200-9299"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
    environment:
      FLOCI_SERVICES_DOCKER_NETWORK: floci_default
      FLOCI_SERVICES_RDS_PROXY_BASE_PORT: "7001"
      # FLOCI_STORAGE_HOST_PERSISTENT_PATH is no longer needed.
      # Floci now uses named Docker volumes by default.
      # If you were using this env var for persistence, migrate: docker volume ls -f label=floci=true
      FLOCI_HOSTNAME: floci
      FLOCI_BASE_URL: http://floci:4566
      # localhost.floci.io resolves everywhere: public DNS -> 127.0.0.1 on the host
      # (reaching the published proxy ports), the network alias below inside Compose.
      FLOCI_SERVICES_ELASTICACHE_CLUSTER_ANNOUNCE_HOSTNAME: localhost.floci.io
      FLOCI_SERVICES_LAMBDA_HOT_RELOAD_ENABLED: "true"
      # Match the compatibility workflow (.github/workflows/compatibility.yml) so the
      # local Docker test run exercises the same Floci configuration as CI.
      # TLS proxy serves HTTP and HTTPS on the same port 4566 (first-byte sniffing),
      # so no extra port mapping is needed โ€” this is what makes the TLS/HTTPS suites pass.
      FLOCI_TLS_ENABLED: "true"
    networks:
      floci_default:
        aliases:
          - localhost.floci.io

networks:
  floci_default:
    name: floci_default