Releases: hunvreus/devpush
0.3.3: Fixed team access for admins
What’s changed
- Fix admin access to teams: Team admins could not access the teams they had been invited to.
- Update to some of the static assets (e.g., Alpine.js) and email templates.
Full changelog: 0.3.1...0.3.2
How to upgrade
sudo /opt/devpush/scripts/update.shMore info: https://devpu.sh/docs/updating/
0.3.2: Automated backup on update and fixed Traefik config.
What’s changed
- Automated backup on update: You can now backup your installation before running the update.
- Fix for Traefik config bugs: Addressed some issues with Traefik config files caused by the refactored deployment service.
Full changelog: 0.3.1...0.3.2
How to upgrade
sudo /opt/devpush/scripts/update.shMore info: https://devpu.sh/docs/updating/
0.3.1: Bug fixes and improvements
I released 0.3.0 with a few bugs and edge cases I hadn't fully tested. 0.3.1 addresses it.
What’s changed
- Fixed webhook trigger: After the deployment service refactoring, deployments would not get triggered on new commits.
- Switched Alloy back to JSON files: I moved back to relying on JSON log files for Alloy as it is more reliable than stderr/stdout in case of crash.
- Improved deployment commands: I am now wrapping build, pre-deploy and start commands to avoid one command from breaking the others.
- Fixed service ownership on install: I wasn't properly loading the service UID and GID before building the runners on install, leading to runner images potentially assuming the wrong ownership by using default values (1000/1000).
- Other minor bug fixes.
Full changelog: 0.3.0...0.3.1
How to upgrade
sudo /opt/devpush/scripts/update.shMore info: https://devpu.sh/docs/updating/
0.3.0: Storage, improved deployments, preset detection, deployment cancelation and improved update process
This is a big one folks: we now have persistent file storage (volumes) and SQLite databases. This means we can now cover most common use cases for web apps and APIs.
What’s changed
- Storage: You can now create SQLite databases or volumes for your projects without the need of 3rd parties like Supabase. Just create your storage, associate it with your project and will be able to access it in your next deployment at something like
/data/database/<database-name>/db.sqlite. More info: https://devpu.sh/docs/basics/storage/ - Improved deployments: I refactored the core deployment service. Lots of small improvements (e.g., logs properly stop for crashed deployments), but most importantly you will now see a clear error message for failed deployments.
- Preset detection: presets are now auto-detected based on the files you have in your repo (
package.json,pyproject.toml,go.mod, etc). You can define how presets are detected in thepresets.json(which you can customize). - Deployment cancellation: You can now cancel an ongoing deployment before it completes.
- Improved update process: I've made the update process simpler, and also more reliable (e.g., I am now able to define what components may need to be updated from one version to another).
- Many smaller bug fixes and improvements.
Full changelog: 0.2.14...0.3.0
How to upgrade
sudo /opt/devpush/scripts/update.shMore info: https://devpu.sh/docs/updating/
0.2.12: Hardened authentication & system environment variables
I started programming in 2001, with Notepad++ and EasyPHP. I'm pretty excited to now have support for modern PHP apps.
What’s changed
- Hardened authentication: authentication links are now only usable once, cookies/JWT are more strict (iss, aud, exp, iat, type, SameSite=Lax...), we also have ways to invalidate individual user logins (
tokens_invalid_beforefield). - System environment variables: runner containers now have access to a list of system environment variables:
DEVPUSH_IP,DEVPUSH_DEPLOYMENT_ID,DEVPUSH_GIT_COMMIT_SHA,DEVPUSH_ENVIRONMENT... - Refactored deployment service: I've moved more logic out of the deploy task and into DeploymentService, centralizing the logic for managing aliases, Traefik, etc.
- Exposed Team ID and Project ID: since we are now exposing team and project ID in the containers (via
DEVPUSH_TEAM_IDandDEVPUSH_PROJECT_ID), I am displaying these values in the settings screens for teams/projects. This will be useful as well when I add the API. - Various small improvements and bug fixes.
How to upgrade
sudo /opt/devpush/scripts/update.shMore info: https://devpu.sh/docs/updating/
0.2.11: PHP support & customizable images/presets
I started programming in 2001, with Notepad++ and EasyPHP. I'm pretty excited to now have support for modern PHP apps.
What’s changed
- PHP suppport: you now have PHP-FPM + Caddy and FrankenPHP with some variants (Node support for projects using React/Vue/etc, and worker mode).
- Customizable images and presets: you can now override the Docker images and presets available in the project settings. This means you can support any language/framework you fancy.
- Many other minor fixes: removed GitHub token from shell logs, improved log parsing, fixed CSS flashes, etc.
How to upgrade
sudo /opt/devpush/scripts/update.shMore info: https://devpu.sh/docs/updating/
Removing limits on containers, improving repo search
By default, containers are now able to use as much resources (CPU and memory) as they want. You can limit them by adding DEFAULT_CPUS and/or DEFAULT_MEMORY_MB. Additionally, you can let users customize the values if you provide MAX_CPUS and/or MAX_MEMORY_MB (a new "Resources" will appear in the project's settings tab).
I've made a few additional fixes, including for the repo selection when creating or editing a project. If the GitHub App is only installed on selected repositories, we only show these.
0.2.1
I've finally managed to push the 0.2.x version out!
LOTS of changes:
- I rewrote all of the scripts. Installing and updating is way smoother and more robust. There are also a whole bunch of new ones: uninstall, backup, restore, clean, etc. More there: https://devpu.sh/docs/scripts/
- I cleaned up the entire Docker/Docker compose setup. I tightened permissions, removed problematic dependencies (e.g. Loki driver).
- I updated the entire file structure. Much more standard now, and easier to manage IMHO.
- I've added DNS-01 cert challenges to support wildcard certificates (no more delayed HTTPS support for new deployments, no more hitting caps with Let's Encrypt).
- I've also added a bunch of new features, including an admin panel allowing you to manage users, allowlist, etc.
- There's also an online demo now accessible to anybody: demo.devpu.sh.
- I rewrote most of the docs, and added a whole bunch of new pages: devpu.sh/docs
Go have a try: devpu.sh/docs/installation
And do let me know if you find any bugs.
Next: Bun and Java support.