A high-performance, offline-first, cross-platform note-taking ecosystem featuring End-to-End Encryption (E2EE), real-time synchronization, and a versatile multi-view interface.
Status: MVP / Work-in-Progress. This project is functional and used in a live environment, but it is not yet a "one-click" deployment. Manual configuration of environment variables and infrastructure is required.
GLYF is built with a decoupled architecture designed for speed and security:
.
āāā backend/
ā āāā api/ # HTTP Handlers & SSE Broker
ā āāā model/ # Data structures & Subscription logic
ā āāā store/ # Database (Postgres) & Storage (S3) logic
ā āāā main.go # Application entry point
ā āāā docker-compose.yml
āāā frontend/
ā āāā src/ # Svelte source code
ā āāā src-tauri/ # Rust/Tauri desktop configuration
ā āāā android/ # Capacitor Android project
ā āāā static/ # Assets
āāā shared/ # Shared constants/types (if applicable)
Currently, deployment requires manual setup of the environment. A full "one-click" Dockerized stack is planned for future releases.
The backend expects specific environment variables. Create a .env file in the backend/ directory:
DB_USER=your_user
DB_PASSWORD=your_password
JWT_SECRET=your_secret_key
S3_ACCESS_KEY=your_key
S3_SECRET_KEY=your_secret
S3_BUCKET=your_bucket_name
Run the backend infrastructure:
cd backend
docker-compose up -d --build
Note: The api service in docker-compose is configured to bind to 127.0.0.1:8081 by default.
Currently, API endpoints are defined in frontend/src/lib/config.js.
API_BASE_URL to point to your backend.cd frontend
npm install
npm run dev
To run the desktop version:
cd frontend
npm run tauri dev
You can also create Android/iOS package using Capacitor
Glyf utilizes a non-custodial security model:
docker-compose.yml.init.sql to a structured migration tool.This is an MVP. While the core synchronization and encryption logic are stable, you may encounter edge cases. Use in production at your own risk. Contributions and bug reports are welcome via Pull Requests.
Developed by R057