deploy.party is a simple and easy-to-use deployment tool for your applications.
- π Deploy any application with a simple UI
- π Deploy directly from GitLab or GitHub
- π Deploy docker image to local registry or other registries
- π Start databases with a single click (MongoDB, MariaDB)
- π Create custom containers with custom docker-compose and Dockerfile
- π Split your containers into projects
- π Automatic SSL and www-redirect
- π Simple backups to S3 compatible storage
- π Integrated terminal for direct access to the container beta
- π See logs of your containers
- π See statistics of your containers
- Server access with root permissions
- Configure DNS with A record for
YOUR_URLand*.YOUR_URLtoSERVER_IP.
Replace follow placeholders with your values:
SERVER_IP: IP of the server
ssh root@SERVER_IPbash -c "$(curl -fsSL https://raw.githubusercontent.com/lenneTech/deploy.party/main/install.sh)"For automated deployments, you can pass parameters directly to the install script:
# Download install script
curl -fsSL https://raw.githubusercontent.com/lenneTech/deploy.party/main/install.sh -o install.sh
chmod +x install.sh
# Local installation
./install.sh --local --name my-instance --username admin --password secret123
# Production installation
./install.sh --name my-instance --url example.com --email [email protected] --username admin --password secret123-l, --local- Run deploy.party locally (skips URL and email prompts)-n, --name NAME- Instance name-u, --url URL- Base URL (required for production setup)-e, --email EMAIL- Email for SSL certificates (required for production setup)--username USER- Username for Traefik dashboard--password PASS- Password for Traefik dashboard-h, --help- Show help message
# Minimal local setup
./install.sh -l -n dev-server --username admin --password mypassword
# Full production setup
./install.sh -n production \
-u mydomain.com \
-e [email protected] \
--username traefik-admin \
--password secure-password-123
# Get help
./install.sh --helpNote: Any missing parameters will be prompted interactively during installation.
https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-ubuntu-22-04
nano /var/opt/deploy-party/data/.envAfter you have configured the .env file, you can reconfigure the deploy.party with the following command:
sh /var/opt/deploy-party/reconfigure.shsh /var/opt/deploy-party/update.shNow Traefik UI will be available at lb.YOUR_URL and deploy.party at YOUR_URL.
Traefik has basic auth lock and can be accessed with the USERNAME and PASSWORD you set in the init.sh script.
On local setup:
- Deploy Party: http://[IP]:3001
- Minio UI: http://[IP]:3004
- Deploy Party API: http://[IP]:3000
- Deploy Party Terminal API: http://[IP]:3002
- Minio API: http://[IP]:3003
Default credentails are:
[email protected]
deploy-party
Please create a new admin account and delete the old one.
- Click on plus in topbar and create new member
- Fill form and choose the right role
- The invited user receives an e-mail with the request to set a password.
- Go to sources
- Click on plus in topbar and create new source
- Enter name of source for example GitLab
- Enter the URL of the GitLab instance for example https://gitlab.com
- Enter the personal access token for the GitLab API GitLab Docs
- Create personal access token with following scopes:
api, read_api, read_registry, write_registry - Personal access token global (-/user_settings/personal_access_tokens) or Personal access token for project (/GROUP/PROJECT/-/settings/access_tokens)
- Create personal access token with following scopes:
- Click on plus in topbar and create new project
- Enter name for project
- Click on plus in topbar and create new container
- Select the created project
- Enter the name of the container
- Choose the kind of container (
APPLICATION,DATABASE,SERVICE,CUSTOM)APPLICATION: A normal applicationDATABASE: A databaseSERVICE: A service like a directus, ...CUSTOM: A custom container with custom docker-compose and Dockerfile
- Select the source
- Enter the image name
- Select registry
- Enter commands
- Enter environment variables
- Enter ports
- Start the container
docker stack rm traefikWait if traefik container not shown under docker ps before you run the next command.
cd /var/opt/deploy-partyexport $(cat .env | grep -v '#' | awk '/=/ {print $1}') && docker stack deploy -c docker-compose.traefik.yml traefikcd /var/opt/deploy-partysh reconfigure.shAs of the latest version, deploy.party uses Traefik v3 by default. If you have an existing installation running Traefik v2, please see the comprehensive migration guide:
π Complete Migration Guide (MIGRATION.md)
The guide includes:
- β Automated migration script (recommended)
- β Manual migration steps
- β Rollback instructions
- β Troubleshooting guide
- β Post-migration checklist
For a quick automated migration:
cd /var/opt/deploy-party
curl -fsSL https://raw.githubusercontent.com/lenneTech/deploy.party/main/upgrade-traefik-v3.sh -o upgrade-traefik-v3.sh
chmod +x upgrade-traefik-v3.sh
# Interactive mode (prompts for API URL and token)
./upgrade-traefik-v3.sh
# Or with parameters for automation
./upgrade-traefik-v3.sh --api-url https://api.deploy.party --api-token dp-xxx...
# Skip container migration
./upgrade-traefik-v3.sh --skip-migration
# Skip deploy.party update
./upgrade-traefik-v3.sh --skip-deploy-party-updateWhat you'll need:
- π API URL (optional - auto-detected from APP_URL if available)
- Format:
https://api.YOUR_DOMAINorhttps://YOUR_DOMAIN:3000 - The script will try to auto-detect or prompt you
- Format:
- π API Token (optional but recommended for automatic container migration)
- Get it from: Settings β API Keys in your deploy.party UI
- Starts with
dp- - Can be passed via
--api-tokenflag or entered interactively
What happens:
β οΈ Traefik v3 requires middleware syntax changes (@swarmsuffix)- π All deployed containers will be restarted with updated configuration (rolling update)
- β±οΈ Each container has ~5-10 seconds downtime during restart
- β Docker Compose files are automatically regenerated
- π deploy.party is updated to the latest version