#############
## Runtime ##
#############
FROM scratch

# Set env that we're running in a container
ENV OXKER_RUNTIME=container

# Copy application binary from builder image
COPY ./target/x86_64-unknown-linux-musl/release/oxker /app/

# Run the application
# this is used in the application itself, to stop itself show when running from a docker container, so DO NOT EDIT
ENTRYPOINT [ "/app/oxker"]


# Dev build for testing
# docker build -t oxker_dev -f containerised/Dockerfile_dev . && docker run --rm -it --volume /var/run/docker.sock:/var/run/docker.sock:ro oxker_dev

# Dev build one liner, x86 host
# docker image prune -a; cargo build --release --target x86_64-unknown-linux-musl && docker build -t oxker_dev -f containerised/Dockerfile_dev . && docker run --rm -it --volume /var/run/docker.sock:/var/run/docker.sock:ro oxker_dev

# Buildx command to build musl version for all three platforms, should probably be executed in create_release
# docker buildx create --use
# docker buildx build --platform linux/arm/v6,linux/arm64,linux/amd64 -t oxker_dev_all -o type=tar,dest=/tmp/oxker_dev_all.tar -f containerised/Dockerfile .

### Build docker files and save to .tar file

# docker build  --platform linux/amd64 -t oxker_amd64 -f containerised/Dockerfile .; docker save -o ./oxker_amd64.tar oxker_amd64
# docker load -i oxker_amd64.tar
# docker run --rm -it --volume /var/run/docker.sock:/var/run/docker.sock:ro oxker_amd64

# docker build  --platform linux/arm64 -t oxker_arm64 -f containerised/Dockerfile .; docker save -o ./oxker_arm64.tar oxker_arm64
# docker load -i oxker_arm64.tar
# docker run --rm -it --volume /var/run/docker.sock:/var/run/docker.sock:ro oxker_arm64

# docker build  --platform linux/arm/v6 -t oxker_armv6 -f containerised/Dockerfile .; docker save -o ./oxker_armv6.tar oxker_armv6
# docker load -i oxker_armv6.tar
# docker run --rm -it --volume /var/run/docker.sock:/var/run/docker.sock:ro oxker_armv6