Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Submission: Super Productivity #1812

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
8cbd8c6
Merge pull request #1 from getumbrel/master
dennysubke Sep 24, 2024
1679c67
Add files via upload
dennysubke Sep 24, 2024
b8cd858
Delete denny-linkstack directory
dennysubke Sep 24, 2024
98bbed6
Add files via upload
dennysubke Sep 24, 2024
34dce5d
Update docker-compose.yml
dennysubke Sep 24, 2024
c3c6fdb
Update umbrel-app.yml
dennysubke Sep 24, 2024
8a30866
Update umbrel-app.yml
dennysubke Sep 24, 2024
2c1669f
Update umbrel-app.yml
dennysubke Sep 24, 2024
8855afa
Update umbrel-app.yml
dennysubke Sep 24, 2024
7fb6b12
Update umbrel-app.yml
dennysubke Sep 24, 2024
a467b93
Update umbrel-app.yml
dennysubke Sep 24, 2024
627d78b
Update umbrel-app.yml
dennysubke Sep 24, 2024
57d703f
Add files via upload
dennysubke Sep 25, 2024
5c5ebcc
Delete excalidraw directory
dennysubke Sep 25, 2024
f54af58
Update umbrel-app.yml
dennysubke Sep 25, 2024
5899c20
Update umbrel-app.yml
dennysubke Sep 25, 2024
ad04036
Update umbrel-app.yml
dennysubke Sep 25, 2024
6290052
Delete linkstack directory
dennysubke Sep 25, 2024
3977fa6
Add files via upload
dennysubke Oct 27, 2024
0c3f58c
Update docker-compose.yml
dennysubke Oct 27, 2024
4edde17
Update docker-compose.yml
dennysubke Oct 27, 2024
f2d3c00
Delete denny-onionshare directory
dennysubke Oct 27, 2024
90d5c61
Add files via upload
dennysubke Nov 17, 2024
b7a46cb
Create .gitkeep
dennysubke Nov 17, 2024
20f558e
Create .gitkeep
dennysubke Nov 17, 2024
6994131
Update umbrel-app.yml
dennysubke Nov 17, 2024
ad7180b
Update docker-compose.yml
dennysubke Dec 1, 2024
3b0c878
Update umbrel-app.yml
dennysubke Dec 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions super-productivity/data/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

23 changes: 23 additions & 0 deletions super-productivity/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: '3.7'

Check notice on line 1 in super-productivity/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

Potentially using unsafe user in service "web"

The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.

Check notice on line 1 in super-productivity/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

Potentially using unsafe user in service "webdav"

The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.

services:
app_proxy:
environment:
APP_HOST: super-productivity_web_1
APP_PORT: 80

web:
image: johannesjo/super-productivity:v10.2.3@sha256:d8df5fc62c04de4e17384150439a20be2265b500084e134b420436703894ad64
restart: on-failure
environment:
- WEBDAV_BACKEND=http://webdav # Optional
Comment on lines +12 to +13
Copy link
Contributor

@nmfretz nmfretz Dec 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea here is to point to the webdav container. We should explicitly set this to the full container name (i.e., super-productivity_webdav_1) or else if there are multiple apps with a webdav container, I'm pretty sure Docker will try to "helpfully" connect to a random one.


# Optional: WebDAV backend server
# (used with the WEBDAV_BACKEND environment variable)
webdav:
image: hacdias/webdav:v5.4@sha256:afa0a5a0e7dbe3d6040786777e837beb836d1919cdfe0099e640fce86c2fa3df
ports:

Check notice on line 19 in super-productivity/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

External port mapping "8021:80"

Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
- 8021:80
Comment on lines +19 to +20
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to expose this extra port on the host? I'm not familiar with what super productivity does with the webdav container. Is it just a backend or does it allow syncing across devices via the exposed host port?

volumes:

Check notice on line 21 in super-productivity/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

Mounted file/directory "/super-productivity/webdav/webdav.yaml" doesn't exist

The volume "${APP_DATA_DIR}/webdav/webdav.yaml:/config.yml:ro" tries to mount the file/directory "/super-productivity/webdav/webdav.yaml", but it is not present. This can lead to permission errors!
- ${APP_DATA_DIR}/webdav/webdav.yaml:/config.yml:ro
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't actually work. What will happen is that Docker will attempt to create the bind mount and see that there is no webdav.yaml on the host machine. It will then create webdav.yaml on the host as a directory not a file and webdav will start without any config.

- ${APP_DATA_DIR}/data:/data
Comment on lines +22 to +23
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's do the same thing as the other app submissions and have both of these bind mounts nested under ${APP_DATA_DIR}/data/

53 changes: 53 additions & 0 deletions super-productivity/umbrel-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
manifestVersion: 1
id: super-productivity
name: Super Productivity
tagline: An efficient way to manage tasks, time, and projects all in one place
category: files
version: "10.2.3"
port: 8020
description: >-
Super Productivity is a comprehensive, open-source productivity app tailored to help individuals and teams organize their work with ease. Ideal for developers, project managers, freelancers, and anyone seeking a streamlined approach to task and time management, this tool combines essential features in one intuitive platform.


With Super Productivity, users can create detailed to-do lists, manage tasks within projects, and track progress efficiently. You can easily prioritize tasks, set deadlines, and track your productivity with built-in time tracking features. Whether you’re working on a single project or juggling multiple tasks, this app allows you to stay organized and on top of your work.


Key features include:


📅 Task and Project Management: Create, organize, and prioritize tasks. Group them into projects, assign due dates, and monitor completion status.


🕒 Time Tracking: Log work hours directly within the app to gain insights into how your time is spent. You can also track your productivity with the Pomodoro timer or manual time entries.


🔗 Super Productivity integrates with popular tools like Jira, GitHub, and GitLab, so you can import tasks and manage them without leaving your workflow.


📊 Reports and Analytics: Generate time reports to analyze how much time you’ve spent on tasks and projects, helping you make data-driven decisions about your work habits.


📴 Offline Mode: The app works offline, meaning you can continue managing your tasks and tracking time even without an internet connection.


🛡️ Privacy and Data Security: As an open-source app, Super Productivity ensures that your data remains private and is stored locally, providing a secure and customizable solution for your productivity needs.


Super Productivity is designed for those who want to boost their productivity while maintaining control over their data. It's perfect for individuals who prefer a simple yet powerful tool, and teams that need seamless task and project management without relying on complex software. Available for Windows, macOS, Linux, and as a web app, Super Productivity is a versatile tool that fits into your workflow, whether you’re working solo or collaborating with others.

developer: Johannes Schickling
website: https://super-productivity.com/
submitter: dennysubke
submission: https://github.com/getumbrel/umbrel-apps/pull/1812
repo: https://github.com/johannesjo/super-productivity
support: https://github.com/johannesjo/super-productivity/issues
gallery:

Check warning on line 44 in super-productivity/umbrel-app.yml

View workflow job for this annotation

GitHub Actions / Lint apps

"icon" and "gallery" needs to be empty for new app submissions

The "icon" and "gallery" fields must be empty for new app submissions as it is being created by the Umbrel team.
- 1.jpg
- 2.jpg
- 3.jpg
- 4.jpg
releaseNotes: ""
dependencies: []
path: ""
defaultUsername: ""
defaultPassword: ""
1 change: 1 addition & 0 deletions super-productivity/webdav/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@