Skip to content

Latest commit

 

History

History
130 lines (96 loc) · 5.21 KB

README.md

File metadata and controls

130 lines (96 loc) · 5.21 KB

Mango³

icon

A free and open source website builder and content management system platform written in Rust.

release ci

Website | Source code

Deployment

Warning

This platform is still in an early stage, so I wouldn't recommend it for production use yet.

Requirements

  • Rust 1.82+
  • PostgreSQL 16+
  • Node.js 20+
  • Nginx 1.26+ (or any reverse proxy)
  • Dnsmasq 2.91+ (or any domain name server)

Environment variables

Name Type Default
BASIC_ABOUT_URL String
BASIC_COPYRIGHT String © 2025, Mango³ Team
BASIC_DESCRIPTION String An open source content management system platform.
BASIC_DOMAIN String mango3.local
BASIC_ENABLE_REGISTER String true
BASIC_PRIVACY_POLICY_URL String
BASIC_SECURE Boolean false
BASIC_TERMS_OF_SERVICE_URL String
BASIC_TITLE String Mango³ Dev
DATABASE_MAX_CONNECTIONS Integer 5
DATABASE_URL String postgres://mango3:[email protected]:5432/mango3_dev
JOBS_REDIS_URL String redis://127.0.0.1:6379/0
MAILER_ENABLE Boolean false
MAILER_SENDER_ADDRESS String Mango³ Dev [email protected]
MAILER_SMTP_ADDRESS String mango3.local
MAILER_SMTP_PASSWORD String
MAILER_SMTP_SECURITY String none
MAILER_SMTP_USERNAME String
MISC_CLIENT_IP_SOURCE String XRealIp
MISC_CONFIRMATION_CODE_LENGTH Integer 6
MISC_FONT_PATH String /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
MISC_DEFAULT_USER_ROLE String user
MISC_IMAGE_OPS_FILTER_TYPE String CatmullRom
MISC_INVITATION_CODE_LENGTH Integer 6
MISC_MAX_COMMENT_CONTENT_LENGTH Integer 8192
MISC_MAX_POST_CONTENT_LENGTH Integer 16384
MISC_STORAGE_PATH String ./storage
SESSIONS_KEY String abcdefghijklmnopqrestuvvwxyz0123456789ABCDEFGHIJKLMNOPQRESTUVVWX
SESSIONS_REDIS_URL String redis://127.0.0.1:6379/1

Installation and setup

Install dependencies:

cargo install sqlx-cli --no-default-features --features completions,native-tls,postgres
cargo install [email protected]
npm install

Setup database:

sqlx database setup

Run database migrations:

sqlx migrate run

Tip

You should also use the files located in config/ to configure Nginx and Dnsmasq.

Running the services

Run monitor:

cargo run --bin mango3-monitor

Run uploads:

cargo run --bin mango3-uploads

Run web applications:

  • Home:
cargo leptos serve --project mango3-home
  • Accounts:
cargo leptos serve --project mango3-accounts
  • My account:
cargo leptos serve --project mango3-my-account
  • Studio:
cargo leptos serve --project mango3-studio
  • Websites:
cargo leptos serve --project mango3-websites