example compose.yaml, includestr styles, ignore default bind mount

This commit is contained in:
2026-04-04 21:42:08 +02:00
parent 252f7b164b
commit f49fb9df6f
4 changed files with 30 additions and 2 deletions

View File

@@ -28,3 +28,4 @@ README.md
readme
**/*.db*
**/*.db3*
/mnemodata

1
.gitignore vendored
View File

@@ -1,6 +1,7 @@
/target
.DS_Store
/database
/mnemodata
*.db
*.db-shm
*.db-wal

20
compose.yaml Normal file
View File

@@ -0,0 +1,20 @@
services:
mnemosyne:
container_name: mnemosyne
build:
context: .
target: final
ports:
- 39321:39321
restart: unless-stopped
volumes:
# Mnemosyne would greatly enjoy not having an ephemeral database.
# If you're okay with storing it side by side with the compose file,
# this is one way to do it. Another is to use a docker volume.
- ./mnemodata:/app/data
environment:
# DATABASE_URL is crucial for Mnemosyne to work; it will fail without it.
# point it at where you'd like your database to be.
- DATABASE_URL=/app/data/db.db
# Mnemosyne uses port 39321 for HTTP by default;
# - PORT=39321

View File

@@ -1,16 +1,22 @@
use axum::{
Router,
http::header,
response::{IntoResponse, Redirect, Response},
routing::get,
};
use tower_http::services::ServeFile;
mod components;
mod icons;
mod pages;
pub const STYLES_CSS: &str = include_str!("./styles.css");
pub fn web_router() -> Router {
Router::new()
.route_service("/styles.css", ServeFile::new("src/web/styles.css"))
.route(
"/styles.css",
get(|| async { ([(header::CONTENT_TYPE, "text/css")], STYLES_CSS) }),
)
.merge(pages::pages())
}