Installation
Minimum Requirements for Coolify
Coolify builds images locally for applications, which is a CPU-intensive process.
- 2 CPUs
- 2 GBs memory
- 30+ GB of storage for the images.
Other resources depend on the resource requirements. For example, WordPress needs a different CPU/memory than a Redis database.
Currently, only Ubuntu
servers are supported. If you would like to have other, please consider open an issue on GitHub.
Recommended ways
Automated
Questions asked, but it is not that complicated.
wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; sudo bash ./install.sh
Scripted / fully automated
No questions asked. Could be used to install Coolify programmatically.
Recommended way
If you want, Coolify to handle everything for you.
wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; sudo bash ./install.sh -f
Options
Usage: install.sh [options...]
-h, --help Show this help menu.
-v, --version Show script version.
-d, --debug Show debug logs during installation.
-f, --force Force installation, no questions asked.
-n, --do-not-track Opt-out of telemetry. You can set export DO_NOT_TRACK=1 in advance.
-a, --auto-update Warning: TESTING PHASE, DO NOT USE IT YET! Enable auto update feature of Coolify.
-w, --white-labeled Install white-labeled version. Contact me before using it (https://docs.coollabs.io/contact)
-i, --white-labeled-logo Add your remote logo for your white-labeled version. Should be a http/https URL.
Manually
- Need to set the required environment variables in a
.env
file (see below) - Need to have Docker Engine v20.10+ installed on your server.
Environment Variables
Coolify needs to have the following environment variables to be set in advance. (This is done automatically with the automated installation script.)
COOLIFY_APP_ID=
COOLIFY_SECRET_KEY=
COOLIFY_DATABASE_URL=file:../db/prod.db
COOLIFY_SENTRY_DSN=https://9e7a74326f29422584d2d0bebdc8b7d3@o1082494.ingest.sentry.io/6091062
COOLIFY_IS_ON=docker
COOLIFY_WHITE_LABELED=false
COOLIFY_WHITE_LABELED_ICON=
COOLIFY_AUTO_UPDATE=false
Variable | Explanation |
---|---|
COOLIFY_APP_ID | A random UUID. Used to differentiate between installed instances. |
COOLIFY_SECRET_KEY | Used to encrypt all kinds of private data. Must be 32 characters long. |
COOLIFY_DATABASE_URL | SQLite database URL. Must be under ../db . |
COOLIFY_SENTRY_DSN | Sentry error report DSN. Not mandatory. |
COOLIFY_IS_ON | Where Coolify is deployed to. Currently, only docker is supported. |
COOLIFY_WHITE_LABELED | It removes the "branding" of your Coolify instance. Please get in touch with me before using this. |
COOLIFY_WHITE_LABELED_ICON | A remote icon to be replaced on the login/registration page. |
COOLIFY_AUTO_UPDATE | It updates your Coolify instance automatically behind the scenes. |
Start Coolify
docker run -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db-sqlite coollabsio/coolify:latest /bin/sh -c "env | grep COOLIFY > .env && docker compose up -d --force-recreate"
Why is this complicated command instead of just a docker compose up?
Coolify needs to be started inside docker's namespace. In short, it is necessary for the auto-update process.
Change configuration of a running instance
You can always execute the installation script with different options to reconfigure Coolify.
For example:
- If you want to opt-out of tracking, execute the install script with
--do-not-track
. - If you want to use the white-labeled version, execute the install script with
--white-labeled
.
warning
Some configurations are not preserved if you would like to change them on an already configured instance.
These options are the following: --white-labeled
, --do-no-track
, --white-labeled-icon
.
So if you installed Coolify with --do-no-track
before, and you want to also use --white-labeled
option, you need execute the install script with --do-not-track
and --white-labeled
!
Restart Coolify
If your Coolify instance stops working (eg: OOM), you can restart it with the following command.
wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; sudo bash ./install.sh -f