From 25931b97cf3da95b034c9b5ee1ef6e242702c2a9 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Wed, 10 Jul 2024 22:00:58 +0200 Subject: [PATCH 01/10] update dockerfile --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 44fd850..babdf59 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,10 +5,10 @@ WORKDIR /app RUN cargo build --release -FROM archlinux +FROM debian:buster -RUN pacman -Syu --noconfirm -RUN pacman -S --noconfirm gnupg ca-certificates openssl-1.1 +RUN apt update && apt upgrade -y +RUN apt install -y gnupg ca-certificates openssl COPY --from=builder /app/target/release/me-site /me-site COPY ./rocket.toml /rocket.toml From a14bf933027ac3d8f06efd7c9c5664d544d4c793 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Wed, 10 Jul 2024 22:14:19 +0200 Subject: [PATCH 02/10] fix content type --- src/pages/html.rs | 8 ++++++-- src/pages/index.rs | 19 +++++++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/pages/html.rs b/src/pages/html.rs index fe3b135..a369458 100644 --- a/src/pages/html.rs +++ b/src/pages/html.rs @@ -1,5 +1,6 @@ use crate::config::Config; use maud::{html, PreEscaped, DOCTYPE}; +use rocket::http::ContentType; use rocket::request::{FromRequest, Outcome, Request}; pub enum RequestClient { @@ -37,7 +38,7 @@ pub async fn build_site( disable_color: bool, shadow: bool, config: &Config, -) -> String { +) -> (ContentType, String) { let mut c_class = "bg-dark text-white justify-content-center text-center".to_string(); let mut c_style = String::new(); let mut g_style = "a {text-decoration: none; font-weight: bold; color: white}".to_string(); @@ -64,7 +65,10 @@ pub async fn build_site( }; }; - build_site_from_body(title, &body.into_string()) + ( + ContentType::HTML, + build_site_from_body(title, &body.into_string()), + ) } pub fn build_site_from_body(title: &str, body: &str) -> String { diff --git a/src/pages/index.rs b/src/pages/index.rs index a054a9b..cb7e40f 100644 --- a/src/pages/index.rs +++ b/src/pages/index.rs @@ -1,5 +1,6 @@ use crate::config; use maud::{html, PreEscaped}; +use rocket::http::ContentType; use rocket::{form::Form, get, post, response::Redirect, uri, FromForm, State}; use serde::{Deserialize, Serialize}; @@ -19,7 +20,7 @@ pub async fn message_post(msg: Form, config: &State } #[get("/message")] -pub async fn message_page(config: &State) -> String { +pub async fn message_page(config: &State) -> (ContentType, String) { let post_uri = uri!(message_post).to_string(); let resp = html! { @@ -39,7 +40,10 @@ pub async fn message_page(config: &State) -> String { } #[get("/mirrors.txt")] -pub async fn mirrors(r: RequestClient, config: &State) -> Option { +pub async fn mirrors( + r: RequestClient, + config: &State, +) -> Option<(ContentType, String)> { if let Ok(mirror_file) = std::fs::File::open("./config/mirrors.txt") { let content = std::io::read_to_string(mirror_file).ok()?; if matches!(r, RequestClient::Browser) { @@ -53,14 +57,17 @@ pub async fn mirrors(r: RequestClient, config: &State) -> Option return Some(build_site(resp.into_string(), "Mirrors", false, true, config).await); } - return Some(content); + return Some((ContentType::Plain, content)); } None } #[get("/public_key")] -pub async fn public_key(r: RequestClient, config: &State) -> Option { +pub async fn public_key( + r: RequestClient, + config: &State, +) -> Option<(ContentType, String)> { if matches!(r, RequestClient::Browser) { let host = config.base_url(); let key = std::io::read_to_string( @@ -90,7 +97,7 @@ pub async fn public_key(r: RequestClient, config: &State) -> Opt if let Ok(key_f) = std::fs::File::open("./config/pub.key") { if let Ok(key_data) = std::io::read_to_string(key_f) { - return Some(key_data); + return Some((ContentType::Plain, key_data)); } } @@ -160,7 +167,7 @@ fn build_donation_block(conf: &config::Config) -> String { } #[get("/")] -pub async fn index(conf: &State) -> String { +pub async fn index(conf: &State) -> (ContentType, String) { let information_block = build_information_block(conf); let contact_block = build_contact_block(conf); let donation_block = build_donation_block(conf); From aa594ec1d87286b72fc419ea67e9f08fd48bb13e Mon Sep 17 00:00:00 2001 From: JMARyA Date: Wed, 10 Jul 2024 22:18:23 +0200 Subject: [PATCH 03/10] fix ua --- src/pages/html.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/html.rs b/src/pages/html.rs index a369458..7ded392 100644 --- a/src/pages/html.rs +++ b/src/pages/html.rs @@ -25,7 +25,7 @@ impl<'r> FromRequest<'r> for RequestClient { pub fn is_browser(req: &Request) -> bool { let ua = req .headers() - .get("usesr-agent") + .get("User-Agent") .next() .unwrap() .to_lowercase(); From ba6cb5ea6d4da8c0f31fde8ab7badd4f82ce2601 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Sat, 13 Jul 2024 05:40:10 +0200 Subject: [PATCH 04/10] fix bs --- src/pages/bootstrap.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/pages/bootstrap.rs b/src/pages/bootstrap.rs index b2a45da..4935ae9 100644 --- a/src/pages/bootstrap.rs +++ b/src/pages/bootstrap.rs @@ -11,21 +11,17 @@ async fn download_file(url: &str, file: &str) { #[get("/bootstrap.min.css")] pub async fn bootstrap_css() -> Option { - NamedFile::open("./cache/bootstrap.mi.await.ok()n.css") - .await - .ok() + NamedFile::open("./cache/bootstrap.min.css").await.ok() } #[get("/bootstrap-icons.css")] pub async fn bootstrap_icons() -> Option { - NamedFile::open("./cache/bootstrap-icon.await.ok()s.css") - .await - .ok() + NamedFile::open("./cache/bootstrap-icons.css").await.ok() } #[get("/bootstrap.bundle.min.js")] pub async fn bootstrap_js() -> Option { - NamedFile::open("./cache/bootstrap.b.await.ok()undle.min.js") + NamedFile::open("./cache/bootstrap.bundle.min.js") .await .ok() } From 717d343acc3b77b254ca6513e935f2c459ff8524 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Mon, 15 Jul 2024 21:39:16 +0200 Subject: [PATCH 05/10] forgejo --- {.gitea => .forgejo}/workflows/deploy.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {.gitea => .forgejo}/workflows/deploy.yml (100%) diff --git a/.gitea/workflows/deploy.yml b/.forgejo/workflows/deploy.yml similarity index 100% rename from .gitea/workflows/deploy.yml rename to .forgejo/workflows/deploy.yml From 065ab4979d897d4d3206e6f9b13cf6294856a65b Mon Sep 17 00:00:00 2001 From: JMARyA Date: Thu, 25 Jul 2024 22:50:22 +0200 Subject: [PATCH 06/10] docker --- .forgejo/workflows/deploy.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index bc17b6b..3f162c4 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -16,6 +16,11 @@ jobs: - name: Install Docker run: curl -fsSL https://get.docker.com | sh + - name: Start Docker daemon + run: | + dockerd > /dev/null 2>&1 & + sleep 5 + - name: Log in to Docker registry run: echo "${{ secrets.registry_password }}" | docker login -u "${{ secrets.registry_user }}" --password-stdin git.hydrar.de From 2a093b3a88a3d2090e8c970f2071ad0c872f8942 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Thu, 25 Jul 2024 22:58:01 +0200 Subject: [PATCH 07/10] update --- .forgejo/workflows/deploy.yml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 3f162c4..ce499b7 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -13,18 +13,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 - - name: Install Docker - run: curl -fsSL https://get.docker.com | sh + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 - - name: Start Docker daemon - run: | - dockerd > /dev/null 2>&1 & - sleep 5 - - - name: Log in to Docker registry - run: echo "${{ secrets.registry_password }}" | docker login -u "${{ secrets.registry_user }}" --password-stdin git.hydrar.de + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + registry: git.hydrar.de + username: ${{ secrets.registry_user }} + password: ${{ secrets.registry_password }} - name: Build and push Docker image - run: | - docker build -t git.hydrar.de/jmarya/me-site:latest -t git.hydrar.de/jmarya/me-site:latest-amd64 . - docker push git.hydrar.de/jmarya/me-site:latest + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: git.hydrar.de/jmarya/me-site:latest \ No newline at end of file From 56a4dc46c16159e801cfe15a5b08383924ea42e3 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Thu, 25 Jul 2024 23:15:24 +0200 Subject: [PATCH 08/10] update --- .forgejo/workflows/deploy.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index ce499b7..67e9a17 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -8,6 +8,8 @@ on: jobs: deploy: runs-on: ubuntu-latest + container: + image: docker:dind steps: - name: Checkout repository From fec491247672690796a4e20c961109f8868b17d1 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Thu, 25 Jul 2024 23:19:15 +0200 Subject: [PATCH 09/10] update --- .forgejo/workflows/deploy.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 67e9a17..ed04b2d 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -7,9 +7,7 @@ on: jobs: deploy: - runs-on: ubuntu-latest - container: - image: docker:dind + runs-on: host steps: - name: Checkout repository From d97d02c0df0f2bdae5c9dc23b6f40bb55c016f0d Mon Sep 17 00:00:00 2001 From: JMARyA Date: Thu, 25 Jul 2024 23:48:11 +0200 Subject: [PATCH 10/10] arm --- .forgejo/workflows/deploy.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index ed04b2d..edef09f 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -13,6 +13,9 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 @@ -27,5 +30,6 @@ jobs: uses: docker/build-push-action@v4 with: context: . + platforms: linux/amd64,linux/arm64 push: true - tags: git.hydrar.de/jmarya/me-site:latest \ No newline at end of file + tags: git.hydrar.de/jmarya/me-site:latest