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: LinkStack - Self-hosted open-source Linktree alternative #1537

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

dennysubke
Copy link

App Submission

LinkStack - Self-hosted open-source Linktree alternative

...

Icon

LinkStackLogo256x256

(unfortunately only png 😔)
...

Gallery images

WP1-MASTER

WP2-MASTER

WP3-MASTER

WP4-MASTER

WP5-MASTER

I have tested my app on:

  • umbrelOS on a Raspberry Pi
  • umbrelOS on an Umbrel Home
  • umbrelOS on Linux VM

Copy link

⚠️   Linting finished with 2 warnings   ⚠️

Thank you for your submission! This is an automated linter that checks for common issues in pull requests to the Umbrel App Store.

Please review the linting results below and make any necessary changes to your submission.

Linting Results

Severity File Description
⚠️ linkstack/docker-compose.yml Invalid image tag "latest":
Images should not use the "latest" tag
ℹ️ linkstack/docker-compose.yml External port mapping "8190: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.).
ℹ️ linkstack/docker-compose.yml Potentially using unsafe user in service "linkstack":
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.
⚠️ linkstack/umbrel-app.yml "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.

Legend

Symbol Description
Error: This must be resolved before this PR can be merged.
⚠️ Warning: This is highly encouraged to be resolved, but is not strictly mandatory.
ℹ️ Info: This is just for your information.

@nmfretz
Copy link
Contributor

nmfretz commented Oct 3, 2024

Thanks for submitting LinkStack @dennysubke! (and for your continued work on making sure Nexcloud is functioning correctly 🙏)

We've got our heads down on some other aspects of the codebase, but we have this on our radar and will get to it soon.

Copy link
Contributor

@sharknoon sharknoon left a comment

Choose a reason for hiding this comment

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

Thank you so much @dennysubke for your app submission! Really good work :)
I have left some suggestions below:


linkstack:
hostname: 'linkstack'
image: 'linkstackorg/linkstack:latest@sha256:abd691b4293b020a317de8794737671e0315159efcb868e8a4124d6f0611f7ae'
Copy link
Contributor

Choose a reason for hiding this comment

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

Adding a comment here makes it more clear why we are using the latest tag here

Suggested change
image: 'linkstackorg/linkstack:latest@sha256:abd691b4293b020a317de8794737671e0315159efcb868e8a4124d6f0611f7ae'
# This image has no version specific tags
image: 'linkstackorg/linkstack:latest@sha256:abd691b4293b020a317de8794737671e0315159efcb868e8a4124d6f0611f7ae'

Comment on lines +13 to +15
LOG_LEVEL: 'info'
PHP_MEMORY_LIMIT: '256M'
UPLOAD_MAX_FILESIZE: '8M'
Copy link
Contributor

Choose a reason for hiding this comment

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

These values are already the default value, so we can omit them, see here.

Suggested change
LOG_LEVEL: 'info'
PHP_MEMORY_LIMIT: '256M'
UPLOAD_MAX_FILESIZE: '8M'

hostname: 'linkstack'
image: 'linkstackorg/linkstack:latest@sha256:abd691b4293b020a317de8794737671e0315159efcb868e8a4124d6f0611f7ae'
environment:
TZ: 'Europe/Berlin'
Copy link
Contributor

Choose a reason for hiding this comment

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

Unfortunately there is no environment variable from umbrelOS, that exposes the current timezone, so i suggest we go with the default value here (which is UTC)

Suggested change
TZ: 'Europe/Berlin'

version: "3.8"

services:

Copy link
Contributor

Choose a reason for hiding this comment

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

I have tested your app submission with this app proxy and it works. Note that we can skip the proxy auth, as this app has a built-in auth mechanism.

Suggested change
app_proxy:
environment:
APP_HOST: linkstack_linkstack_1
APP_PORT: 80
PROXY_AUTH_ADD: "false"

Comment on lines +24 to +49


# apache2 config problem not solved (work in progress)

#version: "3.8"

#services:
# app_proxy:
# environment:
# APP_HOST: denny-linkstack_web_1
# APP_PORT: 80

# web:
# image: linkstackorg/linkstack:latest@sha256:6e7e8f44099f7c4f1340bb9ffda5411f97da766a06fd63cf1ff90c57ce22dd61
# restart: on-failure
# volumes:
# - ${APP_DATA_DIR}/linkstack:/htdocs
# environment:
# HOST: umbrel.local
# TZ: Europe/Berlin
# PHP_MEMORY_LIMIT: 512M
# UPLOAD_MAX_FILESIZE: 8M
# SERVER_ADMIN:
# HTTP_SERVER_NAME:
# HTTPS_SERVER_NAME:
# LOG_LEVEL: 'info'
Copy link
Contributor

Choose a reason for hiding this comment

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

As I have added the umbrelOS proxy, this can be removed

Suggested change
# apache2 config problem not solved (work in progress)
#version: "3.8"
#services:
# app_proxy:
# environment:
# APP_HOST: denny-linkstack_web_1
# APP_PORT: 80
# web:
# image: linkstackorg/linkstack:latest@sha256:6e7e8f44099f7c4f1340bb9ffda5411f97da766a06fd63cf1ff90c57ce22dd61
# restart: on-failure
# volumes:
# - ${APP_DATA_DIR}/linkstack:/htdocs
# environment:
# HOST: umbrel.local
# TZ: Europe/Berlin
# PHP_MEMORY_LIMIT: 512M
# UPLOAD_MAX_FILESIZE: 8M
# SERVER_ADMIN:
# HTTP_SERVER_NAME:
# HTTPS_SERVER_NAME:
# LOG_LEVEL: 'info'

port: 8190
description: >-
LinkStack is a unique platform that provides an efficient solution for managing and sharing links online. Our platform offers a website similar to Linktree, which allows users to overcome the limitation of only being able to add one link on social media platforms.

Copy link
Contributor

Choose a reason for hiding this comment

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

One new line is missing

Suggested change

website: https://linkstack.org/
submitter: dennysubke
submission: https://github.com/getumbrel/umbrel-apps/pull/1537
repo: https://github.com/linkstackorg/linkstack
Copy link
Contributor

Choose a reason for hiding this comment

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

Keep it the same as the support url. This is the original url:

Suggested change
repo: https://github.com/linkstackorg/linkstack
repo: https://github.com/LinkStackOrg/LinkStack

Comment on lines +44 to +45
releaseNotes: >-

Copy link
Contributor

Choose a reason for hiding this comment

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

Can be shortened to this:

Suggested change
releaseNotes: >-
releaseNotes: ""

Comment on lines +48 to +49
defaultUsername: ""
defaultPassword: ""
Copy link
Contributor

Choose a reason for hiding this comment

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

Those two are not needed

Suggested change
defaultUsername: ""
defaultPassword: ""


services:

linkstack:
Copy link
Contributor

Choose a reason for hiding this comment

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

Adding a comment indicating that this image doesn't support a custom user

Suggested change
linkstack:
linkstack:
# This image doesn't support a custom user
# user: '1000:1000'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants