raspberry-web 0.1.3

Web server for controlling GPIO pins on the Raspberry Pi
Documentation
# https://github.com/rust-lang/docker-rust/blob/1d112bc218d6b7a5479a05fa652130d8e086564f/1.31.1/stretch/Dockerfile
# From: https://docs.docker.com/samples/library/rust/#start-a-rust-instance-running-your-app
FROM rust:latest

RUN dpkg --add-architecture armhf \
    && apt-get update \
    && apt-get install -yqq \
    build-essential \
    gcc-arm-linux-gnueabihf \
    libsqlite3-dev:armhf

# Add RPi (ARM) as target
RUN rustup target add armv7-unknown-linux-gnueabihf

# Print stacktrace on error
# https://github.com/rust-lang/rust/pull/38165
RUN export RUST_BACKTRACE=1

# Specify working directory.
# You should bind mount crate root on host to this directory
WORKDIR /app

# Using
# RUSTFLAGS="-C linker=arm-linux-gnueabihf-gcc"
# since specifying linker in .cargo/config proved challenging
ENTRYPOINT RUSTFLAGS="-C linker=arm-linux-gnueabihf-gcc" \
    cargo build --target=armv7-unknown-linux-gnueabihf