Sign inSign up

seadragoncl/waypoint

By seadragoncl

•Updated about 1 month ago

POC: Personal projects and tasks for one person, packaged in a single container.

Image
Content management system
0

62

seadragoncl/waypoint repository overview

⁠Sea Dragon WayPoint

Personal projects and tasks for one person, in a single container.

This project is a proof of concept, built with the help of artificial intelligence to test some technologies and libraries. It is not a finished product: it has not been audited, it may contain bugs, and no warranty is offered. Do not use it with critical data or in production without reviewing it yourself.

⁠What it does

Each registered user owns projects, and each project owns tasks. Tasks have list, kanban, and Gantt views, both inside one project and across every project from the sidebar. Files can be attached while editing a project or a task. Due reminders go out by email and through Laravel Reverb. Each user can download and restore their own backup. Sign-in can use a password, two-factor authentication, and passkeys. The interface is English by default and Spanish, with light, dark, and system themes.

A task moves through six statuses: Planned, To do, Doing, Done, Accepted, and Rejected. The kanban shows To do, Doing, and Done, with Rejected inside the Done column; dropping a Done card on the accept zone marks it Accepted and takes it off the board. Allowed moves are Planned to To do; To do to Planned or Doing; Doing to To do or Done; Done to Doing, Accepted, or Rejected; and Rejected back to To do or Doing. Every status change is recorded in a Change Log that can be read per task, per project, or across all tasks. Each task also has comments written in Markdown, with a preview before saving; images are not rendered and external links open in a new tab.

⁠Quick start

docker run -d --name waypoint -p 8080:80 -v waypoint-data:/data \
  -e APP_URL=http://localhost:8080 \
  -e MAIL_MAILER=smtp -e MAIL_HOST=smtp.example.com -e MAIL_PORT=587 \
  -e MAIL_USERNAME=user -e MAIL_PASSWORD=secret \
  -e [email protected] \
  seadragoncl/waypoint

Passkeys and secure cookies need HTTPS, or plain HTTP on localhost. Put a TLS proxy in front of the container and set APP_URL to that public https:// origin. The app trusts X-Forwarded-Proto. Changing the domain later invalidates passkeys that were already registered.

⁠Environment variables

VariableRequiredPurpose
APP_URLyesPublic origin used for links, cookies, Reverb, and passkeys
MAIL_MAILERnosmtp or mailgun
MAIL_FROM_ADDRESSnoFrom address
MAIL_FROM_NAMEnoFrom name; defaults to Sea Dragon WayPoint
MAIL_HOSTfor SMTPSMTP host
MAIL_PORTfor SMTPSMTP port
MAIL_USERNAMEfor SMTPSMTP user
MAIL_PASSWORDfor SMTPSMTP password
MAIL_SCHEMEnosmtp or smtps
MAILGUN_DOMAINfor MailgunMailgun domain
MAILGUN_SECRETfor MailgunMailgun secret
MAILGUN_ENDPOINTnoDefaults to api.mailgun.net

If mail is missing or invalid, the app still starts and skips the mail channel.

⁠Data and backups

/data holds postgres/ (the database), storage/ (uploads, sessions, and backup temporaries), and secrets/ (APP_KEY and the Reverb keys). Back up the whole volume. APP_KEY encrypts two-factor secrets; without secrets/ those secrets cannot be read.

Inside the app, each user can download a zip named waypoint-backup-YYYYmmdd-HHMMSS.zip. The format id is waypoint-backup, version 2, which adds the comments and the status change log of each task. Version 1 files and older files with format proyectos-backup can still be restored, with both lists empty. The zip does not include the password, name, email, two-factor authentication, or passkeys. Restoring adds copies of projects and does not change two-factor authentication or passkeys.

⁠Known limitations

This is a proof of concept. Registration is open: anyone who can reach the site can create an account. It is a single instance, with no high availability. Restoring a backup twice duplicates projects. Accepted is a final status; a Rejected task can be picked up again.

⁠Maintainer

Tag summary

Content type

Image

Digest

sha256:78847d39a…

Size

136.9 MB

Last updated

about 1 month ago

docker pull seadragoncl/waypoint