cameri / nostream

A Nostr Relay written in TypeScript
MIT License
713 stars 181 forks source link

[REQUEST] A more streamlined approach to customising a Railway deployment #344

Open HamishMacEwan opened 7 months ago

HamishMacEwan commented 7 months ago

Pledge If this feature request is implemented or resolved to my satisfaction, I am willing to make a small monetary donation to support the continued development and independence of this project. Please let me know the wallet address or provide a Lightning invoice once the feature is complete.

Is your feature request related to a problem? Please describe. I'm experiencing challenges with customising the Railway deployment in the current setup of the repository. Specifically the need to maintain custom versions of two files (Dockerfile.railwayapp and .railwayapp/settings.yaml) for my deployment needs. The current repository structure and update process (including CI/CD and lintcommit demands) make it cumbersome to maintain these customisations, especially when syncing with upstream changes. Each time there's an update, I find myself having to manually check and ensure that my customisations aren't overwritten, which is time-consuming and prone to errors.

Describe the solution you'd like I would greatly appreciate a more streamlined approach to customising the Railway deployment. Ideally, a solution where specific files (in my case, Dockerfile.railwayapp and .railwayapp/settings.yaml) can be easily marked or configured to avoid automatic updates from the upstream repository. This would allow for more flexibility and ease in maintaining a custom setup without the risk of losing custom changes on syncing with upstream.

Describe alternatives you've considered After reading a number of issues regarding Railway deployment, I have been able to successfully correct, customise and deploy a working, charging, instance, but future maintenance looks possibly daunting.

I've looked into various workarounds, including:

Manually monitoring the upstream repository for changes and selectively applying updates. Attempting to use Git features like sparse checkout or branching strategies, but these are complex and not ideal for my level of familiarity with Git. However, these alternatives are either too complex or too time-consuming for my needs.

Additional context The ability to customise specific aspects of the deployment for platforms like Railway, is crucial to encourage a wider range of users who might wish to constrain the default wide-open settings. Simplifying this process would not only help me but potentially benefit many others in the community facing similar challenges.

saranshisatgit commented 7 months ago

I guess this can done let me know, but considering the current setup it would need more dependency to work with !