Skylite UX was conceived as an open source, self-hosted alternative to commercial family managers. Most commercial offerings require expensive hardware and include subscriptions. Our goal was to create an offering that allows you to bring your own hardware, avoid subscriptions, and subscription associated feature creep while playing nicely with other self-hosted offerings.
Easy deployment with Docker containers
Manage family events and schedules
Track to-do lists for family members
Track your shopping lists
Plan and organize family meals
Manage family members with custom profiles
# Create a network
docker network create skylite-network
# Create a volume for PostgreSQL data
docker volume create postgres-data
# Run PostgreSQL
docker run -d \
--name skylite-ux-db \
--network skylite-network \
-e POSTGRES_USER=skylite \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=skylite \
-v postgres-data:/var/lib/postgresql/data \
postgres:16
# Run Skylite UX
docker run -d \
--name skylite-ux \
--network skylite-network \
-e DATABASE_URL=postgresql://skylite:password@skylite-ux-db:5432/skylite \
-e NUXT_PUBLIC_TZ=America/Chicago \
-e NUXT_PUBLIC_LOG_LEVEL=warn \
-p 3000:3000 \
wetzel402/skylite-ux:latest
services:
skylite-ux:
image: wetzel402/skylite-ux:latest
restart: unless-stopped
environment:
- DATABASE_URL=postgresql://skylite:password@skylite-ux-db:5432/skylite
- NUXT_PUBLIC_TZ=America/Chicago
- NUXT_PUBLIC_LOG_LEVEL=warn
depends_on:
skylite-ux-db:
condition: service_healthy
ports:
- 3000:3000
networks:
- skylite-network
skylite-ux-db:
image: postgres:16
restart: unless-stopped
environment:
- POSTGRES_USER=skylite
- POSTGRES_PASSWORD=password
- POSTGRES_DB=skylite
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: [CMD-SHELL, pg_isready -U skylite]
interval: 10s
timeout: 5s
retries: 5
networks:
- skylite-network
networks:
skylite-network:
driver: bridge
volumes:
postgres-data:
driver: local
Make sure to update the following environment variables in your docker-compose.yml
:
DATABASE_URL
- PostgreSQL connection stringNUXT_PUBLIC_TZ
- Your timezone (e.g., America/Chicago, Europe/London)NUXT_PUBLIC_LOG_LEVEL
- Logging level (debug, info, warn, error)POSTGRES_PASSWORD
- Choose a strong password for your databaseFor detailed development setup, environment configuration, and workflow guidelines, see our Development Guide.
# Start development server
npm run dev
# Build for production
npm run build
# Run type checking
npm run type-check
# Lint code
npm run lint
We welcome contributions from the community! For detailed information on how to contribute, including our code of conduct, development process, and guidelines, see our Contributing Guide.
dev
Distributed under the MIT License. See LICENSE for more information.
The calendar UI was rewritten from OriginUI React code with express permission. Thank you Pasquale and Davide!