๐Ÿ“๐Ÿ–ผ๏ธ๐Ÿน A small thing where I can upload a file and get a link back. https://media.strawmelonjuice.com/
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Move tasks to Just

+158 -103
+49
Justfile
··· 1 + # Variabelen 2 + docker_image := "strawmelonjuice/strawmediajuice" 3 + version := "1.2.1" 4 + 5 + default: 6 + @just --list 7 + 8 + # Format 9 + format: 10 + cd dashboard && prettier --write .. 11 + cd dashboard && gleam format 12 + 13 + # Tailwind 14 + generate-tailwind-styles: 15 + cd dashboard && bun install 16 + cd dashboard && tailwindcss -i ./app.css -o ../dist/dashboard/dashboard.css 17 + cd dashboard && bunx minify ../dist/dashboard/dashboard.css > ../dist/dashboard/dashboard.min.css 18 + 19 + # Dashboard Build 20 + build-dashboard: generate-tailwind-styles 21 + cd dashboard && gleam export typescript-prelude > ./src/prelude.ts 22 + cd dashboard && gleam build --target javascript 23 + echo 'import { main } from "./strawmediajuice_fe.mjs";document.addEventListener("DOMContentLoaded", main)' > "./dashboard/build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts" 24 + cd dashboard && bun build ./build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts --minify --outfile ../dist/dashboard/dashboard.min.mjs --target=browser 25 + cd dashboard && bun build ./build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts --outfile ../dist/dashboard/dashboard.js --target=browser 26 + # HTML Assemblage (Schoner dan in mise) 27 + printf '<!DOCTYPE html><html><head><title>Strawmediajuice dashboard</title><style>' > ./dist/dashboard/dashboard.html 28 + cat ./dist/dashboard/dashboard.min.css >> ./dist/dashboard/dashboard.html 29 + printf '</style><script>' >> ./dist/dashboard/dashboard.html 30 + cat ./dist/dashboard/dashboard.min.mjs >> ./dist/dashboard/dashboard.html 31 + printf '</script></head><body><div id="app"><h1>Dashboard failed to load!</h1></div></body></html>' >> ./dist/dashboard/dashboard.html 32 + 33 + # Server Build 34 + build-server: build-dashboard 35 + bun install 36 + bun build --target=bun --outdir=dist/ ./server/index.ts --entry-naming server.js --sourcemap=inline 37 + 38 + # Rust Server Build 39 + build-server-rs: build-dashboard 40 + cd server-rs && cargo build 41 + 42 + # Dev 43 + dev: build-server 44 + rm -rf ./dist/ 45 + export EXPAND_TERMSIZE=$(tput cols); clear; bun ./dist/server.js 46 + 47 + # Docker 48 + build-docker: build-server 49 + docker build --pull -t {{docker_image}}:{{version}} .
+61
flake.lock
··· 1 + { 2 + "nodes": { 3 + "nixpkgs": { 4 + "locked": { 5 + "lastModified": 1769170682, 6 + "narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=", 7 + "owner": "NixOS", 8 + "repo": "nixpkgs", 9 + "rev": "c5296fdd05cfa2c187990dd909864da9658df755", 10 + "type": "github" 11 + }, 12 + "original": { 13 + "owner": "NixOS", 14 + "ref": "nixos-unstable", 15 + "repo": "nixpkgs", 16 + "type": "github" 17 + } 18 + }, 19 + "root": { 20 + "inputs": { 21 + "nixpkgs": "nixpkgs", 22 + "utils": "utils" 23 + } 24 + }, 25 + "systems": { 26 + "locked": { 27 + "lastModified": 1681028828, 28 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 29 + "owner": "nix-systems", 30 + "repo": "default", 31 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 32 + "type": "github" 33 + }, 34 + "original": { 35 + "owner": "nix-systems", 36 + "repo": "default", 37 + "type": "github" 38 + } 39 + }, 40 + "utils": { 41 + "inputs": { 42 + "systems": "systems" 43 + }, 44 + "locked": { 45 + "lastModified": 1731533236, 46 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 47 + "owner": "numtide", 48 + "repo": "flake-utils", 49 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 50 + "type": "github" 51 + }, 52 + "original": { 53 + "owner": "numtide", 54 + "repo": "flake-utils", 55 + "type": "github" 56 + } 57 + } 58 + }, 59 + "root": "root", 60 + "version": 7 61 + }
+47
flake.nix
··· 1 + { 2 + description = "Strawmediajuice Development Environment"; 3 + 4 + inputs = { 5 + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 + utils.url = "github:numtide/flake-utils"; 7 + }; 8 + 9 + outputs = 10 + { 11 + self, 12 + nixpkgs, 13 + utils, 14 + ... 15 + }: 16 + utils.lib.eachDefaultSystem ( 17 + system: 18 + let 19 + pkgs = import nixpkgs { inherit system; }; 20 + in 21 + { 22 + devShells.default = pkgs.mkShell { 23 + buildInputs = with pkgs; [ 24 + 25 + bun 26 + gleam 27 + rustc 28 + cargo 29 + nodePackages.typescript 30 + nodePackages.prettier 31 + 32 + tailwindcss 33 + pkg-config 34 + dbus 35 + # task runner 36 + just 37 + ]; 38 + 39 + shellHook = '' 40 + echo "โ„๏ธ Strawmediajuice dev environment loaded!" 41 + just --list 42 + echo "Use just to run them." 43 + ''; 44 + }; 45 + } 46 + ); 47 + }
+1 -103
mise.toml
··· 4 4 "npm:typescript" = "5.9.3" 5 5 prettier = "latest" 6 6 rust = "1.92.0" 7 - 8 - [vars] 9 - docker_image = "strawmelonjuice/strawmediajuice" 10 - version = "1.2.1" 11 - [tasks.generate-tailwind-styles] 12 - tools."npm:@tailwindcss/cli" = "latest" 13 - run = [ 14 - "bun install", 15 - "tailwindcss -i ./app.css -o ../dist/dashboard/dashboard.css", 16 - "bunx minify ../dist/dashboard/dashboard.css > ../dist/dashboard/dashboard.min.css" 17 - ] 18 - dir = "{{ config_root }}/dashboard" 19 - 20 - [tasks.build-dashboard] 21 - depends = "generate-tailwind-styles" 22 - run = [ 23 - "gleam export typescript-prelude > ./src/prelude.ts", 24 - "gleam build --target javascript", 25 - """ 26 - echo 'import { main } from "./strawmediajuice_fe.mjs";document.addEventListener("DOMContentLoaded", main)' > "./build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts" 27 - """, 28 - "bun build ./build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts --minify --outfile ../dist/dashboard/dashboard.min.mjs --target=browser", 29 - "bun build ./build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts --outfile ../dist/dashboard/dashboard.js --target=browser", 30 - """ 31 - printf '<!DOCTYPE html><html><head><title>Strawmediajuice dashboard</title><style>' | tee ../dist/dashboard/dashboard.html; 32 - cat ../dist/dashboard/dashboard.min.css | tee -a ../dist/dashboard/dashboard.html; 33 - printf '</style><script>' | tee -a ../dist/dashboard/dashboard.html; 34 - cat ../dist/dashboard/dashboard.min.mjs | tee -a ../dist/dashboard/dashboard.html; 35 - printf '</script></head><body><div id="app"><h1>Dashboard failed to load!</h1></div></body></html>' | tee -a ../dist/dashboard/dashboard.html; 36 - """, 37 - ] 38 - run_windows = [ 39 - "gleam export typescript-prelude > ./src/prelude.ts", 40 - "gleam build --target javascript", 41 - "echo import { main } from './strawmediajuice_fe.mjs';document.addEventListener('DOMContentLoaded', main) > .\\build\\dev\\javascript\\strawmediajuice_fe\\strawmediajuice_fe.ts", 42 - "bun build ./build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts --minify --outfile ../dist/dashboard/dashboard.min.mjs --target=browser", 43 - "bun build ./build/dev/javascript/strawmediajuice_fe/strawmediajuice_fe.ts --outfile ../dist/dashboard/dashboard.js --target=browser", 44 - # Assemble dashboard.html 45 - "echo ^<!DOCTYPE html^>^<html^>^<head^>^<title^>Strawmediajuice dashboard^</title^>^<style^> > ../dist/dashboard/dashboard.html", 46 - "type ..\\dist\\dashboard\\dashboard.min.css >> ../dist/dashboard/dashboard.html", 47 - "echo ^</style^>^<script^> >> ../dist/dashboard/dashboard.html", 48 - "type ..\\dist\\dashboard\\dashboard.min.mjs >> ../dist/dashboard/dashboard.html", 49 - "echo ^</script^>^</head^>^<body^>^<div id='app'^>^<h1^>Dashboard failed to load!^</h1^>^</div^>^</body^>^</html^> >> ../dist/dashboard/dashboard.html" 50 - ] 51 - dir = "{{ config_root }}/dashboard" 52 - 53 - [tasks.build-server] 54 - depends = ["build-dashboard"] 55 - run = [ 56 - "bun install", 57 - "bun build --target=bun --outdir=dist/ ./server/index.ts --entry-naming server.js --sourcemap=inline" 58 - ] 59 - [tasks.build-server-rs] 60 - depends = ["build-dashboard"] 61 - run = [ 62 - "cargo build", 63 - ] 64 - dir = "{{ config_root }}/server-rs" 65 - 66 - 67 - [tasks.dev] 68 - run = [ 69 - "rm -fr ./dist/", 70 - { task = "build-server" }, 71 - """export EXPAND_TERMSIZE=$(tput cols);clear;bun ./dist/server.js""" 72 - ] 73 - dir = "{{ config_root }}" 74 - run_windows = [ 75 - "powershell -NoProfile -Command \"Remove-Item -Recurse -Force .\\dist\\ -ErrorAction SilentlyContinue\"", 76 - { task = "build-server" }, 77 - "bun ./dist/server.js" 78 - ] 79 - # Default width for Windows terminals 80 - env = { EXPAND_TERMSIZE = "200" } 81 - [tasks.dev-rs] 82 - 83 - run = [{task = "build-server-rs"},"./server-rs/target/debug/server-rs"] 84 - 85 - [tasks.format] 86 - run = ["prettier --write ..", "gleam format"] 87 - dir = "{{ config_root }}/dashboard" 88 - 89 - [tasks.build-docker-image] 90 - depends = ["build-server"] 91 - run = [ 92 - "docker build --pull -t {{ vars.docker_image }}:{{ vars.version }} ." 93 - ] 94 - dir = "{{ config_root }}" 95 - 96 - [tasks.run-docker-image] 97 - wait_for = ["build-docker-image"] 98 - run = [ 99 - "docker run -d -p 3000:3000 -e PORT=3000 -e INIT_USERNAME=admin -e INIT_PASSWORD=securepassword -e EXPAND_TERMSIZE=200 -v ./data:/app/ {{ vars.docker_image }}:{{ vars.version }}" 100 - ] 101 - 102 - [tasks.push-docker-image] 103 - confirm = "Are you sure you want to push the Docker image?" 104 - depends = ["build-docker-image"] 105 - run = [ 106 - "docker buildx create --name strawmediajuice-builder --use || true", 107 - "docker buildx build --platform linux/amd64,linux/arm64 -t {{ vars.docker_image }}:{{ vars.version }} -t {{ vars.docker_image }}:latest --push ." 108 - ] 109 - dir = "{{ config_root }}" 7 + just = "latest"