chore: various content updates
c889617f
11 file(s) · +43 −47
| 1 | 1 | # Cellar |
|
| 2 | + | # |
|
| 3 | + |  |
|
| 2 | 4 | ||
| 3 | 5 | A minimal wine collection tracker |
|
| 4 | 6 |
| 1 | 1 | # Feeds |
|
| 2 | + | # |
|
| 3 | + |  |
|
| 2 | 4 | ||
| 3 | 5 | Minimal RSS Feeds |
|
| 4 | 6 |
| 1 | 1 | # Jotts |
|
| 2 | 2 | ||
| 3 | + |  |
|
| 4 | + | ||
| 3 | 5 | A minimal notes app |
|
| 4 | 6 | ||
| 5 | 7 | ## Overview |
| 1 | 1 | # OG |
|
| 2 | 2 | ||
| 3 | + |  |
|
| 4 | + | ||
| 3 | 5 | A simple web tool for inspecting Open Graph tags on any URL. |
|
| 4 | 6 | ||
| 5 | 7 | ## Overview |
| 1 | 1 | # Parcels |
|
| 2 | 2 | ||
| 3 | + |  |
|
| 4 | + | ||
| 3 | 5 | A minimal package tracking app |
|
| 4 | 6 | ||
| 5 | 7 | :::warning |
| 1 | 1 | # Posts |
|
| 2 | 2 | ||
| 3 | + |  |
|
| 4 | + | ||
| 3 | 5 | A minimal CMS blog with admin interface |
|
| 4 | 6 | ||
| 5 | 7 | ## Overview |
| 1 | 1 | # Shrink |
|
| 2 | 2 | ||
| 3 | + |  |
|
| 4 | + | ||
| 3 | 5 | A minimal image compression app |
|
| 4 | 6 | ||
| 5 | 7 | ## Overview |
| 1 | 1 | # Sipp |
|
| 2 | 2 | ||
| 3 | + |  |
|
| 4 | + | ||
| 3 | 5 | Minimal code sharing |
|
| 4 | 6 | ||
| 5 | 7 | ## Overview |
| 86 | 86 | This will start Posts on port `3000` with a persistent volume for the SQLite database and uploads. Visit `http://localhost:3000` and log in at `/login` with your configured password. |
|
| 87 | 87 | :::: |
|
| 88 | 88 | ||
| 89 | + | ||
| 90 | + | ## Keep Reading |
|
| 91 | + | ||
| 92 | + | [What is Andromeda?](/what-is-andromeda) |
|
| 93 | + | ||
| 94 | + | [More Apps](/apps/feeds) |
|
| 95 | + | ||
| 96 | + | [Build Your Own](/diy/stack) |
| 1 | - | # What is Andromeda |
|
| 1 | + | # What is Andromeda? |
|
| 2 | 2 | ||
| 3 | - | Andromeda is a Rust workspace of minimal, self-hosted web apps. Each app compiles to a single binary powered by [Axum](https://github.com/tokio-rs/axum), [SQLite](https://github.com/rusqlite/rusqlite), and [Askama](https://github.com/djc/askama) templates. |
|
| 4 | - | ||
| 5 | - | ## Philosophy |
|
| 3 | + | Andromeda is a collection of apps that focus on minimalism, portability, and efficiency. It all started with my own desire to have a place where I could write a quick note and access it on any browser. Sure there are plenty out there, but what if I want to own my data? What if I want it to look a certain way? This was the beginning of [Jotts](/apps/jotts), and shortly thereafter slew of other small apps that accent my day to day life. |
|
| 6 | 4 | ||
| 7 | - | Every app in Andromeda follows the same principles: |
|
| 5 | + | Each one of these apps is written in Rust, and if you're not a programmer, it simply means that these run on very little memory and CPU power. It's not another massive app that will slow down your computer. More importantly, these are web apps designed to be hosted on a server. Instead of depending on a provider, their terms of service, or another subscription, these apps just need a place to run; a computer in the cloud. Even if you're not that technical, I've designed these to be simple to setup through a hosting service called [Railway](https://railway.com). All you have to do is click a button, then enter a few details like a password. Check out the [quickstart](/quickstart) if you haven't already to give it a try. |
|
| 8 | 6 | ||
| 9 | - | - **Single binary** - Each app compiles to one small binary (~7MB) with all assets embedded at compile time |
|
| 10 | - | - **Minimal resource usage** - Apps average around ~10MB of RAM |
|
| 11 | - | - **Self-hosted** - You own your data and run it on your own infrastructure |
|
| 12 | - | - **Simple deployment** - One binary, one optional `.env` file, no external dependencies |
|
| 13 | - | - **Consistent stack** - All apps share the same Rust stack so patterns are transferable |
|
| 14 | - | ||
| 15 | - | ## Apps |
|
| 16 | - | ||
| 17 | - | | App | Description | |
|
| 18 | - | |---|---| |
|
| 19 | - | | [Sipp](/apps/sipp) | Code sharing with web UI and TUI | |
|
| 20 | - | | [Feeds](/apps/feeds) | RSS reader with FreshRSS and OPML support | |
|
| 21 | - | | [Parcels](/apps/parcels) | Package tracking (USPS) | |
|
| 22 | - | | [Jotts](/apps/jotts) | Markdown notes | |
|
| 23 | - | | [OG](/apps/og) | Open Graph tag inspector | |
|
| 24 | - | | [Shrink](/apps/shrink) | Image compression and resizing | |
|
| 25 | - | ||
| 26 | - | ## Shared Crates |
|
| 27 | - | ||
| 28 | - | | Crate | Description | |
|
| 29 | - | |---|---| |
|
| 30 | - | | `andromeda-auth` | Session-based password authentication | |
|
| 31 | - | ||
| 32 | - | The `andromeda-auth` crate provides a shared authentication layer used across apps that require login, including session cookies and constant-time password verification. |
|
| 33 | - | ||
| 34 | - | ## License |
|
| 35 | - | ||
| 36 | - | [MIT](https://github.com/stevedylandev/andromeda/blob/main/LICENSE) |
|
| 7 | + | The goal of Andromeda is to provide free, minimal, and efficient open source apps, that empower people to run their own software. If you're a developer, check out the [stack for Andromeda](/diy/stack) and start building similar apps. Take control of your apps, and make them serve you; not the other way around. |
| 2 | 2 | ||
| 3 | 3 | export default defineConfig({ |
|
| 4 | 4 | title: 'Andromeda', |
|
| 5 | - | iconUrl: "https://andromeda.build/icon.png", |
|
| 6 | - | ogImageUrl: "https://andromeda.build/og.png", |
|
| 5 | + | iconUrl: "/icon.png", |
|
| 6 | + | ogImageUrl: "/og.png", |
|
| 7 | 7 | markdown: { |
|
| 8 | 8 | code: { |
|
| 9 | 9 | themes: { |
|
| 10 | - | light: "github-dark-high-contrast", |
|
| 11 | - | dark: "github-dark-high-contrast", |
|
| 10 | + | light: "min-light", |
|
| 11 | + | dark: "slack-dark", |
|
| 12 | 12 | }, |
|
| 13 | 13 | }, |
|
| 14 | 14 | }, |
|
| 18 | 18 | link: "https://github.com/stevedylandev/andromeda", |
|
| 19 | 19 | } |
|
| 20 | 20 | ], |
|
| 21 | + | aiCta: false, |
|
| 21 | 22 | sidebar: [ |
|
| 22 | 23 | { |
|
| 23 | 24 | text: 'Intro', |
|
| 36 | 37 | text: 'Apps', |
|
| 37 | 38 | items: [ |
|
| 38 | 39 | { |
|
| 40 | + | text: 'Cellar', |
|
| 41 | + | link: '/apps/cellar', |
|
| 42 | + | }, |
|
| 43 | + | { |
|
| 39 | 44 | text: 'Feeds', |
|
| 40 | 45 | link: '/apps/feeds', |
|
| 41 | 46 | }, |
|
| 44 | 49 | link: '/apps/jotts', |
|
| 45 | 50 | }, |
|
| 46 | 51 | { |
|
| 47 | - | text: 'Sipp', |
|
| 48 | - | link: '/apps/sipp', |
|
| 49 | - | }, |
|
| 50 | - | { |
|
| 51 | 52 | text: 'OG', |
|
| 52 | 53 | link: '/apps/og', |
|
| 53 | - | }, |
|
| 54 | - | { |
|
| 55 | - | text: 'Shrink', |
|
| 56 | - | link: '/apps/shrink', |
|
| 57 | 54 | }, |
|
| 58 | 55 | { |
|
| 59 | 56 | text: 'Parcels', |
|
| 64 | 61 | link: '/apps/posts', |
|
| 65 | 62 | }, |
|
| 66 | 63 | { |
|
| 67 | - | text: 'Cellar', |
|
| 68 | - | link: '/apps/cellar', |
|
| 64 | + | text: 'Shrink', |
|
| 65 | + | link: '/apps/shrink', |
|
| 66 | + | }, |
|
| 67 | + | { |
|
| 68 | + | text: 'Sipp', |
|
| 69 | + | link: '/apps/sipp', |
|
| 69 | 70 | }, |
|
| 70 | 71 | ], |
|
| 71 | 72 | }, |
|