From 8e2fce82bbe767394b397d2624c1282eaad742b5 Mon Sep 17 00:00:00 2001 From: redbeardymcgee Date: Sat, 12 Apr 2025 19:45:52 -0500 Subject: [PATCH] feat(maxun): add Maxun --- README.md | 4 +-- quadlets/maxun/maxun-backend.container | 31 ++++++++++++++++++++ quadlets/maxun/maxun-minio.container | 25 ++++++++++++++++ quadlets/maxun/maxun-postgres.container | 20 +++++++++++++ quadlets/maxun/maxun-redis.container | 22 ++++++++++++++ quadlets/maxun/maxun.container | 22 ++++++++++++++ quadlets/maxun/maxun.env | 39 +++++++++++++++++++++++++ quadlets/maxun/maxun.network | 6 ++++ quadlets/maxun/maxun.volume | 5 ++++ 9 files changed, 171 insertions(+), 3 deletions(-) create mode 100644 quadlets/maxun/maxun-backend.container create mode 100644 quadlets/maxun/maxun-minio.container create mode 100644 quadlets/maxun/maxun-postgres.container create mode 100644 quadlets/maxun/maxun-redis.container create mode 100644 quadlets/maxun/maxun.container create mode 100644 quadlets/maxun/maxun.env create mode 100644 quadlets/maxun/maxun.network create mode 100644 quadlets/maxun/maxun.volume diff --git a/README.md b/README.md index 4f83760..05bbdbe 100644 --- a/README.md +++ b/README.md @@ -159,10 +159,8 @@ that I intend to add to this repository. It is still growing, and I welcome - [x] [Calibre-web](https://github.com/janeczku/calibre-web) - [x] [ChartDB](https://chartdb.io/) - [x] [Checkmate](https://github.com/bluewave-labs/checkmate) -- [ ] [Code::Stats](https://codestats.net/) - [x] [dash.](https://getdashdot.com/) - [x] [Dashy](https://dashy.to) -- [ ] [Dittofeed](https://www.dittofeed.com) - [ ] [Duplicacy](https://duplicacy.com/) - [ ] [Duplicati](https://duplicati.com/) - [x] [Filebrowser](https://filebrowser.org/) @@ -195,7 +193,7 @@ that I intend to add to this repository. It is still growing, and I welcome - [x] [Linkwarden](https://linkwarden.app/) - [x] [Lounge](https://thelounge.chat) - [x] [Matrix](https://matrix.org/) -- [ ] [Maxun](https://github.com/getmaxun/maxun) +- [x] [Maxun](https://github.com/getmaxun/maxun) - [x] [Mealie](https://mealie.io/) - [x] [Memos](https://usememos.com) - [x] [Miniflux](https://miniflux.app/) diff --git a/quadlets/maxun/maxun-backend.container b/quadlets/maxun/maxun-backend.container new file mode 100644 index 0000000..9b88427 --- /dev/null +++ b/quadlets/maxun/maxun-backend.container @@ -0,0 +1,31 @@ +[Unit] +Description=Maxun backend +Requires=maxun-postgres.service +Requires=maxun-redis.service +Requires=maxun-minio.service +After=maxun-postgres.service +After=maxun-redis.service +After=maxun-minio.service + +[Service] +Restart=on-failure +TimeoutStartSec=900 + +[Install] +WantedBy=default.target + +[Container] +Image=docker.io/getmaxun/maxun-backend:latest +ContainerName=maxun-backend +AutoUpdate=registry + +Network=maxun.network +HostName=maxun-backend +PublishPort=8080:8080 + +Volume=/var/run/dbus:/var/run/dbus + +EnvironmentFile=maxun.env +Environment=PLAYWRIGHT_BROWSERS_PATH=/ms-playwright +Environment=PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0 +Environment=CHROMIUM_FLAGS="--disable-gpu --no-sandbox --headless=new" diff --git a/quadlets/maxun/maxun-minio.container b/quadlets/maxun/maxun-minio.container new file mode 100644 index 0000000..17dbc64 --- /dev/null +++ b/quadlets/maxun/maxun-minio.container @@ -0,0 +1,25 @@ +[Unit] +Description=Maxun Minio + +[Service] +Restart=on-failure +TimeoutStartSec=900 + +[Install] +WantedBy=default.target + +[Container] +Image=docker.io/minio +ContainerName=maxun-minio +AutoUpdate=registry + +Network=maxun.network +HostName=maxun-minio +PublishPort=9000:9000 +PublishPort=9001:9001 + +Volume=maxun-minio:/data + +Environment=MINIO_ROOT_USER=minio-root-user + +Secret=maxun-minio-root-password,type=env,target=MINIO_ROOT_PASSWORD diff --git a/quadlets/maxun/maxun-postgres.container b/quadlets/maxun/maxun-postgres.container new file mode 100644 index 0000000..43fa85f --- /dev/null +++ b/quadlets/maxun/maxun-postgres.container @@ -0,0 +1,20 @@ +[Unit] +Description=Maxun postgres + +[Service] +Restart=on-failure +TimeoutStartSec=900 + +[Install] +WantedBy=default.target + +[Container] +Image=docker.io/postgres:13 +ContainerName=maxun-postgres +AutoUpdate=registry + +Network=maxun.network +HostName=maxun-postgres +PublishPort=5432:5432 + +Volume=maxun-postgres:/var/lib/postgresql/data diff --git a/quadlets/maxun/maxun-redis.container b/quadlets/maxun/maxun-redis.container new file mode 100644 index 0000000..07de652 --- /dev/null +++ b/quadlets/maxun/maxun-redis.container @@ -0,0 +1,22 @@ +[Unit] +Description=Maxun Redis + +[Service] +Restart=on-failure +TimeoutStartSec=900 + +[Install] +WantedBy=default.target + +[Container] +Image=docker.io/redis:6 +ContainerName=maxun-redis +AutoUpdate=registry + +Network=maxun.network +HostName=maxun-redis +PublishPort=6379:6379 + +Volume=maxun-redis:/data + +EnvironmentFile=maxun.env diff --git a/quadlets/maxun/maxun.container b/quadlets/maxun/maxun.container new file mode 100644 index 0000000..102d518 --- /dev/null +++ b/quadlets/maxun/maxun.container @@ -0,0 +1,22 @@ +[Unit] +Description=Maxun frontend +Requires=maxun-backend.service +After=maxun-backend.service + +[Service] +Restart=on-failure +TimeoutStartSec=900 + +[Install] +WantedBy=default.target + +[Container] +Image=docker.io/getmaxun/maxun-frontend:latest +ContainerName=maxun +AutoUpdate=registry + +Network=maxun.network +HostName=maxun +PublishPort=5173:5173 + +EnvironmentFile=maxun.env diff --git a/quadlets/maxun/maxun.env b/quadlets/maxun/maxun.env new file mode 100644 index 0000000..2394b1e --- /dev/null +++ b/quadlets/maxun/maxun.env @@ -0,0 +1,39 @@ +# App Setup +NODE_ENV=production # Set to 'development' or 'production' as required +JWT_SECRET= # Replace with a secure JWT secret key +DB_NAME=maxun # Your PostgreSQL database name +DB_USER=postgres # PostgreSQL username +DB_PASSWORD=postgres # PostgreSQL password +DB_HOST=postgres # Host for PostgreSQL in Docker +DB_PORT=5432 # Port for PostgreSQL (default: 5432) +ENCRYPTION_KEY=f4d5e6a7b8c9d0e1f23456789abcdef01234567890abcdef123456789abcdef0 # Key for encrypting sensitive data (passwords and proxies) +MINIO_ENDPOINT=minio # MinIO endpoint in Docker +MINIO_PORT=9000 # Port for MinIO (default: 9000) +MINIO_CONSOLE_PORT=9001 # Web UI Port for MinIO (default: 9001) +MINIO_ACCESS_KEY=minio_access_key # MinIO access key +MINIO_SECRET_KEY=minio_secret_key # MinIO secret key +REDIS_HOST=redis # Redis host in Docker +REDIS_PORT=6379 # Redis port (default: 6379) +REDIS_PASSWORD=redis_password # Redis password (This is optional. Needed to authenticate with a password-protected Redis instance; if not set, Redis will connect without authentication.) + +# Backend and Frontend URLs and Ports +BACKEND_PORT=8080 # Port to run backend on. Needed for Docker setup +FRONTEND_PORT=5173 # Port to run frontend on. Needed for Docker setup +BACKEND_URL=http://localhost:8080 # URL on which the backend runs. You can change it based on your needs. +PUBLIC_URL=http://localhost:5173 # URL on which the frontend runs. You can change it based on your needs. +VITE_BACKEND_URL=http://localhost:8080 # URL used by frontend to connect to backend. It should always have the same value as BACKEND_URL +VITE_PUBLIC_URL=http://localhost:5173 # URL used by backend to connect to frontend. It should always have the same value as PUBLIC_URL + +# Optional Google OAuth settings for Google Sheet Integration +GOOGLE_CLIENT_ID=your_google_client_id +GOOGLE_CLIENT_SECRET=your_google_client_secret +GOOGLE_REDIRECT_URI=your_google_redirect_uri + +# Optional Airtable OAuth settings for Airtable Integration + +AIRTABLE_CLIENT_ID=your_airtable_client_id +AIRTABLE_REDIRECT_URI=http://localhost:8080/auth/airtable/callback + +# Telemetry Settings - Please keep it enabled. Keeping it enabled helps us understand how the product is used and assess the impact of any new changes. +MAXUN_TELEMETRY=true + diff --git a/quadlets/maxun/maxun.network b/quadlets/maxun/maxun.network new file mode 100644 index 0000000..3c1c0bb --- /dev/null +++ b/quadlets/maxun/maxun.network @@ -0,0 +1,6 @@ +[Unit] +Description=Maxun network + +[Network] +NetworkName=maxun + diff --git a/quadlets/maxun/maxun.volume b/quadlets/maxun/maxun.volume new file mode 100644 index 0000000..42f79aa --- /dev/null +++ b/quadlets/maxun/maxun.volume @@ -0,0 +1,5 @@ +[Volume] +VolumeName=maxun-postgres +VolumeName=maxun-redis +VolumeName=maxun-minio +