Home >Technology peripherals >It Industry >Heroku Alternative: Deploy Apps with Dokku on DigitalOcean
Dokku: Lightweight Heroku alternative to simplify application deployment
Have the restrictions on Heroku's free app been tightened? don’t worry! This article introduces Dokku, a Heroku-like tool that allows easy deployment of complex applications through Git. It directly supports Heroku build packages, easily migrates existing applications, and provides various plugins for databases and other components. While Dokku requires more command line settings than Heroku and requires some server management experience, it provides great flexibility and cost-effectiveness.
The combination of Dokku and DigitalOcean: Cost-effective application deployment
With DigitalOcean pre-installed Dokku image, you can quickly build your own server and use a custom root domain name. This article will guide you to set up a Dokku server on DigitalOcean and deploy a simple static website. Dokku requires at least 1GB of memory and a basic domain name to host your app. To associate the domain name with the Dokku server, you need to set up an A record pointing to the server IP.
Difference between Dokku and Heroku
All in all, Dokku requires more command-line operations than Heroku, but this is not complicated and you can get started with just a little learning.
Create Dokku server on DigitalOcean
Login to DigitalOcean and create a new server (at least 1GB of memory) using the pre-installed Dokku app. Enter the base domain name (for example, example.com) you want to use to host your app in the host name. Make sure you own this domain name and register if necessary!
Domain name settings
Set an A record pointing to the server IP and a wildcard (*) A record pointing to the same IP. After the DNS resolution is completed, you can continue to the next steps.
If you want to host your app on another domain, you can:
Create your first app
SSH connects to your server and runs the following command:
<code class="language-bash">$ dokku apps:create example.com</code>
This will create an app called "example.com" on your server, which will appear in the root directory of your domain name. For subsequent apps, you can run dokku apps:create appname
and the app will be hosted in appname.example.com
.
Deploy static website
Next, we deploy a simple static website to example.com. Create an empty file (.static
) in the project root directory. This will tell the build package that this is a static website. After pushing the project to Dokku, it will automatically detect and configure it accordingly. touch .static
files and add index.html
and .static
files. Add Dokku as a remote repository: .env
<code class="language-bash">$ dokku apps:create example.com</code>Then, deploy with the following command:
<code class="language-bash">git remote add dokku dokku@example.com:example.com</code>Dokku will configure the application container (detect static build packages), visit example.com to view your static website.
Next steps
If you have an existing Heroku app, just add the Dokku remote repository and run to migrate. git push dokku master
If you encounter any problems, please refer to the Dokku documentation.
FAQ
The above is the detailed content of Heroku Alternative: Deploy Apps with Dokku on DigitalOcean. For more information, please follow other related articles on the PHP Chinese website!