Self-hosted web app to stay organized and get things done every day.
BeActive is a deadline-oriented task management application designed to help you prioritize your work and track your progress. With its intuitive interface and real-time synchronization, BeActive keeps you focused on what matters most.
- 📋 Deadline-Oriented Tasks - Organize tasks by deadline hour and minute
- 🔄 Real-Time Sync - Changes sync instantly across all connected devices via WebSocket
- 📱 Responsive Design - Works seamlessly on desktop and mobile
- 🔗 Share Lists - Generate shareable links to collaborate with others
- 🔄 Daily Rollover - Automatically reset completed tasks at your preferred time
- 🚀 Self-Hosted - Full control over your data
BeActive is built with:
- Frontend: Next.js (React) - Modern, fast web interface
- Backend: TypeScript/Express - RESTful API with WebSocket support
- Database: SQLite - Simple, self-contained data storage
- Proxy: Nginx - Single port exposure and request routing
Everything runs in a single Docker container on port 8080.
- Docker and Docker Compose installed
- 5 minutes of your time
- Create a
docker-compose.ymlfile:
services:
beactive:
container_name: beactive
image: ghcr.io/beactive-prod/beactive:latest
ports:
- '8080:8080' # You can change the first port to the one of your liking.
restart: unless-stopped
environment:
NODE_ENV: production- Start BeActive:
docker-compose up -d- Access the app:
Open your browser and navigate to:
- Default:
http://localhost:8080 - Custom port:
http://localhost:YOUR_PORT
docker-compose down- Enter your task title
- Set the deadline hour and minute
- Click "Add Task"
- Click on a task to mark it as complete
- Task completion is saved automatically
- Click the "Share" button
- Copy the generated link
- Send it to others to collaborate in real-time
- Configure your preferred rollover time (when tasks reset)
- Completed tasks will automatically uncheck at this time
Current deployment uses default settings. Custom environment configuration coming soon.
Volume support is coming soon. Currently, data is stored within the container. When you upgrade or recreate the docker, your data will not remain, so consider this a development/testing deployment.
Backend and Frontend on separate ports:
npm install npm run dev:frontend npm run dev:backend
docker build -t beactive:latest . docker run -p 8080:8080 beactive:latest
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - see the LICENSE file for details.
Made with lov