Compare commits

...

4 Commits

Author SHA1 Message Date
c23d2dc50b Re-add unprivileged user to Dockerfile 2021-04-01 12:09:08 -07:00
46dbd88d91 New alpine-based Dockerfile with healthcheck 2021-03-31 13:05:22 -07:00
f0f484288e Fix server.rs function name 2021-03-31 13:03:44 -07:00
90d39b121f Example docker-compose 2021-03-31 13:03:18 -07:00
4 changed files with 23 additions and 12 deletions

View File

@ -3,7 +3,7 @@ name = "libreddit"
description = " Alternative private front-end to Reddit"
license = "AGPL-3.0"
repository = "https://github.com/spikecodes/libreddit"
version = "0.8.2"
version = "0.8.4"
authors = ["spikecodes <19519553+spikecodes@users.noreply.github.com>"]
edition = "2018"

View File

@ -1,17 +1,15 @@
FROM rust:latest as builder
FROM rust:alpine as builder
WORKDIR /usr/src/libreddit
COPY . .
RUN apk add --no-cache g++
RUN cargo install --path .
FROM debian:buster-slim
RUN apt-get update && apt-get install -y libcurl4 && rm -rf /var/lib/apt/lists/*
FROM alpine:latest
RUN apk add --no-cache curl
COPY --from=builder /usr/local/cargo/bin/libreddit /usr/local/bin/libreddit
RUN useradd --system --user-group --home-dir /nonexistent --no-create-home --shell /usr/sbin/nologin libreddit
RUN adduser --system --home /nonexistent --no-create-home --disabled-password libreddit
USER libreddit
EXPOSE 8080
HEALTHCHECK --interval=5m --timeout=3s CMD curl -f http://localhost:8080/settings || exit 1
CMD ["libreddit"]
CMD ["libreddit"]

13
docker-compose.yml Normal file
View File

@ -0,0 +1,13 @@
version: "3.8"
services:
web:
build: .
restart: always
container_name: "libreddit"
ports:
- 8080:8080
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/settings"]
interval: 5m
timeout: 3s

View File

@ -171,9 +171,9 @@ impl Server {
parammed.set_params(found.params().to_owned());
// Run the route's function
let yeet = (found.handler().to_owned().to_owned())(parammed);
let func = (found.handler().to_owned().to_owned())(parammed);
async move {
let res: Result<Response<Body>, String> = yeet.await;
let res: Result<Response<Body>, String> = func.await;
// Add default headers to response
res.map(|mut response| {
response.headers_mut().extend(headers);