todoit Svelte Themes

Todoit

A simple, self-hostable task manager built with Rust, PostgreSQL, and Svelte. Manage your tasks from any device on your network.

Todoit

A simple, self-hostable task manager built with Rust, PostgreSQL, and Svelte. Manage your tasks from any device on your network.

Features

  • Create, edit, and delete tasks
  • Mark tasks as complete
  • Filter by completed or pending tasks
  • Search tasks by title or description
  • Accessible from any device on your network
  • Self-hostable with Docker

Self-hosting with Docker

Requirements

Setup

  1. Clone the repository

    git clone https://github.com/ozx1/todoit
    cd todoit
    
  2. Copy the example env file and fill in your values

    cp .env.example .env
    
  3. Edit .env:

    POSTGRES_USER=postgres
    POSTGRES_PASSWORD=your_strong_password
    POSTGRES_DB=tasks_db
    BACKEND_PORT=8090
    FRONTEND_PORT=80
    
  4. Run

    docker-compose up -d
    
  5. Open your browser and go to http://localhost

Accessing from other devices on your network

  1. Find your server's local IP address:

    • Windows: run ipconfig → look for IPv4 Address
    • Linux/Mac: run hostname -I
  2. Open http://YOUR_IP on any device connected to the same network

  3. (Optional) Set a static IP in your router's DHCP reservation settings so the address never changes

Stopping the app

docker-compose down

To stop and delete all data:

docker-compose down -v

Local Development

Requirements

Backend

  1. Create a Postgres database called tasks_db and run init.sql to create the tasks table

  2. Create backend/.env:

    DATABASE_URL=postgres://postgres:yourpassword@localhost:5432/tasks_db
    
  3. Run:

    cd backend
    cargo run
    

Frontend

  1. Create frontend/.env:

    VITE_API_URL=http://localhost:8090
    
  2. Run:

    cd frontend
    npm install
    npm run dev
    

or run the provided script

./local_dev.sh

Tech Stack

Layer Technology
Backend Rust, Axum, SQLx
Database PostgreSQL
Frontend Svelte, Tailwind CSS
Reverse Proxy Nginx
Containerization Docker, Docker Compose

License

This project is licensed under the MIT License — see the LICENSE file for details.

Top categories

Loading Svelte Themes