PB-Deployer simplifies the lifecycle of deploying PocketBase applications to production. With features like server registration, automated setup, and version management, this tool provides a structured and efficient approach to manage deployments while ensuring system security and quick rollback options.
pb-deployer: Automate PocketBase App Deployments
pb-deployer simplifies the deployment process for PocketBase applications, providing a streamlined workflow to effortlessly manage the production lifecycle of apps. With features such as automated server registration, security hardening, and version management, this tool is designed to enhance deployment efficiency and ensure robust application management.
Key Features
- Server Registration: Easily input remote host connection details for seamless configurations.
- Automated Environment Setup: Quickly create essential users and establish the necessary directory structure.
- Security Enhancements: Implement optional features like firewall setups, fail2ban, and disabling root SSH access to secure your deployments.
- Efficient App Deployment: Upload production builds effortlessly, and configure systemd services to maintain smooth operations.
- Version Control: Benefit from rollback capabilities with reliable file storage, ensuring stability in case of issues.
Directory Structure Overview
Deployments are organized under a structured directory for easy management:
/opt/pocketbase/
├── apps/ # Application deployments (per app directory)
├── backups/ # Deployment backups (timestamped)
├── logs/ # Application logs
└── staging/ # Temporary staging during deployments
Streamlined Deployment Steps
Deploying is made simple with the following steps:
- Download and stage the deployment package.
- Verify service status.
- Stop existing services as needed.
- Backup current deployments.
- Prepare the deployment directory for updates.
- Install the new application version.
- Update or create the systemd service.
- Create a superuser if it's the initial deployment.
- Start the service.
- Verify and finalize the deployment.
For comprehensive documentation, please refer to the **/*/README.md files in the repository.
To contribute to the development, pull requests are welcomed, and discussions are encouraged for significant changes.
No comments yet.
Sign in to be the first to comment.