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: Forgejo #2221

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

App Submission: Forgejo #2221

wants to merge 3 commits into from

Conversation

wilddip
Copy link

@wilddip wilddip commented Feb 18, 2025

App Submission

App name

Forgejo (#1059)

256x256 SVG icon

forgejo_logo_gradient
forgejo_logo_original

Gallery images

image
image
image
image
image
image
image

Also, my renders https://imgur.com/a/Q7jpLcU

I have tested my app on:

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

@wilddip
Copy link
Author

wilddip commented Feb 18, 2025

forgejo/umbrel-app.yml "releaseNotes" needs to be empty for new app submissions:
The "releaseNotes" field must be empty for new app submissions as it is being displayed to the user only in case of an update.

I'm going to ignore it cuz PR containing not the 1.0.0 version. If I'm wrong, correct me, thank you.

Copy link

❌   Linting failed with 1 error   ❌

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
ℹ️ forgejo/docker-compose.yml Mounted file/directory "/forgejo/data/forgejo/data" doesn't exist:
The volume "${APP_DATA_DIR}/data/forgejo/data:/var/lib/forgejo" tries to mount the file/directory "/forgejo/data/forgejo/data", but it is not present. This can lead to permission errors!
ℹ️ forgejo/docker-compose.yml Mounted file/directory "/forgejo/data/forgejo/config" doesn't exist:
The volume "${APP_DATA_DIR}/data/forgejo/config:/etc/forgejo" tries to mount the file/directory "/forgejo/data/forgejo/config", but it is not present. This can lead to permission errors!
ℹ️ forgejo/docker-compose.yml External port mapping "${APP_FORGEJO_SSH_PORT}:${APP_FORGEJO_SSH_PORT}":
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.).
forgejo/umbrel-app.yml "releaseNotes" needs to be empty for new app submissions:
The "releaseNotes" field must be empty for new app submissions as it is being displayed to the user only in case of an update.

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.

Copy link
Contributor

@al-lac al-lac left a comment

Choose a reason for hiding this comment

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

Hey @wilddip!

Great first submission 🚀

Made some suggestions to make the app fully functional. For example the storage did not work as expected as the data has to be mounted to the gitea folder.

- db

db:
image: postgres:14@sha256:5d8330e221083215ffbb3c5feeb2cfe44aadda827bc3f0dad9bbf3e58ed2e895
Copy link
Contributor

Choose a reason for hiding this comment

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

Go for the latest postgres release.

Suggested change
image: postgres:14@sha256:5d8330e221083215ffbb3c5feeb2cfe44aadda827bc3f0dad9bbf3e58ed2e895
image: postgres:17.3@sha256:0321e2252ebfeecb8bc1a899755084d29bce872953e1a5a3e25ec0860b739098

Comment on lines +43 to +44
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
Copy link
Contributor

Choose a reason for hiding this comment

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

Add a healthcheck to make sure the db is ready when the app container starts up.

Suggested change
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U forgejo"]
interval: 5s
timeout: 5s
retries: 5

Comment on lines +1 to +2
export APP_FORGEJO_SSH_PORT="2222"
export APP_FORGEJO_TOR_HS_EXTRA_PORTS="22:forgejo_server_1:${APP_FORGEJO_SSH_PORT}"
Copy link
Contributor

Choose a reason for hiding this comment

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

Change to a different port to avoid clash with gitea.

Suggested change
export APP_FORGEJO_SSH_PORT="2222"
export APP_FORGEJO_TOR_HS_EXTRA_PORTS="22:forgejo_server_1:${APP_FORGEJO_SSH_PORT}"
export APP_FORGEJO_SSH_PORT="2223"
export APP_FORGEJO_TOR_HS_EXTRA_PORTS="22:forgejo_server_1:${APP_FORGEJO_SSH_PORT}"

Comment on lines +47 to +74
releaseNotes: >-
Forgejo v10.0.1 Release Notes (February 8, 2025):


🔒 Security Fixes:
- Fixed permissions enforcement for Forgejo Actions web endpoints to prevent unauthorized deletion of runners/variables or modification of variables.
- Fixed information leakage in user/organization-wide projects for private repositories.
- Added tests to verify the effectiveness of security fixes.

🎨 User Interface Fixes:
- Fixed display of verified icon for default GPG key.
- Improved UI for branch selector in commit graph.
- Fixed inline file preview for files with encoded URLs.

🌐 Localization:
- Updated translations from Codeberg Translate.

🐛 Bug Fixes:
- Fixed loading settings for valid user and email checks.
- Fixed listing tokens without requiring basic auth.
- Fixed various UI and functionality issues, including case-insensitive author search and rendering of issue titles.

🚀 Other Improvements:
- Updated dependencies, including Go to v1.23.5 and Katex to v0.16.21.
- Improved e2e tests for better reliability.

For more details, visit the full release notes: https://codeberg.org/forgejo/forgejo/releases/tag/v10.0.1

Copy link
Contributor

Choose a reason for hiding this comment

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

releaseNotes for the first Umbrel app store release should be empty.

Suggested change
releaseNotes: >-
Forgejo v10.0.1 Release Notes (February 8, 2025):
🔒 Security Fixes:
- Fixed permissions enforcement for Forgejo Actions web endpoints to prevent unauthorized deletion of runners/variables or modification of variables.
- Fixed information leakage in user/organization-wide projects for private repositories.
- Added tests to verify the effectiveness of security fixes.
🎨 User Interface Fixes:
- Fixed display of verified icon for default GPG key.
- Improved UI for branch selector in commit graph.
- Fixed inline file preview for files with encoded URLs.
🌐 Localization:
- Updated translations from Codeberg Translate.
🐛 Bug Fixes:
- Fixed loading settings for valid user and email checks.
- Fixed listing tokens without requiring basic auth.
- Fixed various UI and functionality issues, including case-insensitive author search and rendering of issue titles.
🚀 Other Improvements:
- Updated dependencies, including Go to v1.23.5 and Katex to v0.16.21.
- Improved e2e tests for better reliability.
For more details, visit the full release notes: https://codeberg.org/forgejo/forgejo/releases/tag/v10.0.1
releaseNotes: ""

For more details, visit the full release notes: https://codeberg.org/forgejo/forgejo/releases/tag/v10.0.1

submitter: John Wilddip
submission: https://github.com/getumbrel/umbrel-apps/pull/2221
Copy link
Contributor

Choose a reason for hiding this comment

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

Add final newline (best practice).

Suggested change
submission: https://github.com/getumbrel/umbrel-apps/pull/2221
submission: https://github.com/getumbrel/umbrel-apps/pull/2221

Comment on lines +16 to +18
volumes:
- ${APP_DATA_DIR}/data/forgejo/data:/var/lib/forgejo
- ${APP_DATA_DIR}/data/forgejo/config:/etc/forgejo
Copy link
Contributor

Choose a reason for hiding this comment

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

The data and config directory need to be created in the data/forgejo folder. Also the folder where they are mounted to are named gitea in the container.

Suggested change
volumes:
- ${APP_DATA_DIR}/data/forgejo/data:/var/lib/forgejo
- ${APP_DATA_DIR}/data/forgejo/config:/etc/forgejo
volumes:
- ${APP_DATA_DIR}/data/forgejo/data:/var/lib/gitea
- ${APP_DATA_DIR}/data/forgejo/config:/etc/gitea

Comment on lines +32 to +33
depends_on:
- db
Copy link
Contributor

Choose a reason for hiding this comment

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

Wait until db is healthy.

Suggested change
depends_on:
- db
depends_on:
db:
condition: service_healthy

user: "1000:1000"
environment:
POSTGRES_USER: forgejo
POSTGRES_PASSWORD: forgejo
Copy link
Contributor

Choose a reason for hiding this comment

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

@nmfretz would it make sense to use $APP_PASSWORD for postgres and other passwords?

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.

2 participants