Using AI to build a package
-
As an experiment, I just used Claude to see if I could package an app. However, I have no idea if it's correct or not. Could someone please let me know how close this is?
https://github.com/getfider/fider/tree/v0.22.0
Claude:
I'll help you package Fider for Cloudron. Let me create the necessary configuration files for packaging Fider v0.22.0.Cloudron Package Configuration for Fider.
To package this for Cloudron:
- Create a new directory and place these files in it:
mkdir fider-cloudron cd fider-cloudron # Place the files from the artifact here // code below & https://claude.site/artifacts/c9929cf9-5697-47e6-8fc4-b5ac74777e1b- Download the Fider logo:
wget https://raw.githubusercontent.com/getfider/fider/v0.22.0/public/images/logo-100x100.png -O logo.png- Build and package:
cloudron build cloudron installThis configuration:
- Uses PostgreSQL for the database
- Configures SMTP for email sending
- Maintains persistent storage for uploads
- Handles automatic backups
- Provides health checking
- Sets up proper environment variables
https://claude.site/artifacts/c9929cf9-5697-47e6-8fc4-b5ac74777e1b
// CloudronManifest.json { "id": "org.fider.cloudron", "title": "Fider", "author": "Fider Team", "description": "Open source feedback and feature request collector", "tagline": "Get feedback from your customers", "version": "0.22.0", "healthCheckPath": "/health", "httpPort": 3000, "addons": { "postgresql": {}, "sendmail": {} }, "manifestVersion": 2, "website": "https://fider.io", "contactEmail": "support@cloudron.io", "icon": "logo.png", "tags": ["feedback", "uservoice", "feature-requests"], "mediaLinks": [ "https://raw.githubusercontent.com/getfider/fider/v0.22.0/docs/screenshots/1.png", "https://raw.githubusercontent.com/getfider/fider/v0.22.0/docs/screenshots/2.png" ], "minBoxVersion": "7.0.0", "forumUrl": "https://forum.cloudron.io/", "documentationUrl": "https://github.com/getfider/fider/tree/v0.22.0/docs", "postInstallMessage": "Fider has been successfully installed! Visit the app to complete initial setup." } // Dockerfile FROM getfider/fider:0.22.0 # Add Cloudron-specific configurations ENV NODE_ENV=production ENV HOST_MODE=false ENV SSL_CERT=false ENV PORT=3000 # Cloudron will provide these through environment variables ENV POSTGRES_URL=postgresql://${POSTGRESQL_USERNAME}:${POSTGRESQL_PASSWORD}@${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE} ENV EMAIL_SMTP_HOST=${SMTP_SERVER} ENV EMAIL_SMTP_PORT=${SMTP_PORT} ENV EMAIL_SMTP_USERNAME=${SMTP_USERNAME} ENV EMAIL_SMTP_PASSWORD=${SMTP_PASSWORD} # Create data directory for uploads RUN mkdir -p /app/data VOLUME ["/app/data"] # Setup healthcheck HEALTHCHECK --interval=30s --timeout=30s --start-period=30s --retries=3 \ CMD curl -f http://localhost:3000/health || exit 1 EXPOSE 3000 # start.sh #!/bin/bash set -e # Wait for PostgreSQL to be ready until nc -z -w5 ${POSTGRESQL_HOST} ${POSTGRESQL_PORT}; do echo "Waiting for PostgreSQL to be ready..." sleep 2 done # Update database configuration export JWT_SECRET=${CLOUDRON_APP_TOKEN} export BASE_URL=${CLOUDRON_APP_ORIGIN} # Start Fider exec /app/fider // README.md # Fider for Cloudron This package allows you to run Fider on Cloudron. Fider is an open source feedback and feature request collector. ## Installation 1. Install via the Cloudron App Store 2. Access your Fider instance at the configured domain 3. Complete the initial setup process ## Configuration The app automatically configures: - PostgreSQL database connection - SMTP email settings - Base URL and JWT settings ## Backup and Restore Cloudron automatically handles backup and restore of: - PostgreSQL database - Uploaded files in /app/data ## Updates Updates can be installed through the Cloudron App Store when new versions are available. ## Support For issues related to: - Fider: Visit https://github.com/getfider/fider/issues - This Cloudron package: Post on Cloudron forum -
E eddowding referenced this topic on
-
Nice try, seems like a very long way to go though. Especially the
Dockerfile. It has valid syntax mostly, that is a good start, but otherwise nearly no single line makes any sense in the Cloudron context to be honest. Pretty much the same can be said about thestart.sh. Last time I tried though chatgpt did perform much better, it just really struggled with theCloudronManifest.json
-
Here is an example session of how to better "talk to" the AI so it understands what you're doing.
https://skylarbpayne.com/posts/cursed-cursorHaving it analyze a similar app and start with the manifest, then have a template process to follow will get it closer to what you want. It's all about clearer communication on your part.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login