2022-05-14 21:13:42 +02:00
|
|
|
FROM rust:1-buster
|
2019-04-01 20:28:23 +02:00
|
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
|
|
|
|
#install native/circleci/build dependancies
|
|
|
|
RUN apt update &&\
|
2019-05-04 15:35:21 +02:00
|
|
|
apt install -y --no-install-recommends git ssh tar gzip ca-certificates default-jre&&\
|
2020-12-08 12:07:13 +01:00
|
|
|
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
|
|
|
|
| tee -a /etc/apt/sources.list.d/caddy-fury.list &&\
|
2022-05-14 21:17:17 +02:00
|
|
|
wget -qO - https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | apt-key add - &&\
|
|
|
|
echo "deb https://artifacts.crowdin.com/repo/deb/ /" > /etc/apt/sources.list.d/crowdin.list &&\
|
2020-12-08 12:07:13 +01:00
|
|
|
apt update &&\
|
2022-05-14 22:26:27 +02:00
|
|
|
apt install -y --no-install-recommends binutils-dev build-essential cmake curl gcc gettext git libcurl4-openssl-dev libdw-dev libelf-dev libiberty-dev libpq-dev libsqlite3-dev libssl-dev make openssl pkg-config postgresql postgresql-contrib python zlib1g-dev python3-venv python3-dev zip unzip libclang-dev clang caddy crowdin3 &&\
|
2019-05-04 15:35:21 +02:00
|
|
|
rm -rf /var/lib/apt/lists/*
|
2019-04-01 20:28:23 +02:00
|
|
|
|
2022-05-14 23:43:00 +02:00
|
|
|
#stick rust environment
|
|
|
|
COPY rust-toolchain ./
|
|
|
|
|
2019-04-06 17:41:57 +02:00
|
|
|
#compile some deps
|
2021-02-11 19:37:37 +01:00
|
|
|
RUN cargo install wasm-pack &&\
|
2019-05-04 15:35:21 +02:00
|
|
|
cargo install grcov &&\
|
2019-04-01 20:28:23 +02:00
|
|
|
rm -fr ~/.cargo/registry
|
|
|
|
|
2019-04-06 17:41:57 +02:00
|
|
|
#set some compilation parametters
|
|
|
|
COPY cargo_config /root/.cargo/config
|
|
|
|
|
|
|
|
#install selenium for front end tests
|
2022-05-14 22:26:27 +02:00
|
|
|
RUN python3 -m venv .venv && bash -c "source .venv/bin/activate && pip3 install selenium"
|
2019-04-06 17:41:57 +02:00
|
|
|
|
2020-12-08 12:07:13 +01:00
|
|
|
#configure caddy
|
2019-04-06 17:41:57 +02:00
|
|
|
COPY Caddyfile /Caddyfile
|