Skip to main content

Fresh Install

For a genuinely first-time setup with no old server behind it — complete the baseline install (steps 1–7) first. Everything below configures state that a Migration restore brings over from an old server anyway (Coolify's database — services, env vars, and domains, so SSL/DNS settings are included — plus the rest of the settings below). Doing these on a server that's about to be restored is wasted effort; they'll be overwritten.

  1. Open port 8000 via Terraform, just for the duration of setup — not the Infomaniak dashboard, and not an SSH tunnel either, so it's reversible and reproducible the same way every other port on this box is managed:

    TF_VAR_coolify_setup_port_open=true pass-cli run --env-file .env -- terraform apply
  2. Browse http://<ipv4>:8000 and create an admin account.

  3. Add DNS records at Infomaniak pointing dashboard.<domain> to the server:

    • A record: <ipv4>
    • AAAA record: <ipv6>

    For a migration instead, DNS isn't added fresh — see DNS → Migrating a subdomain for real for the Terraform-managed cutover.

  4. Configure https://dashboard.<domain> in Coolify settings and let it issue an SSL cert via Let's Encrypt. If the cert fails, re-save the domain in settings or restart the proxy to retry:

    sudo docker restart coolify-proxy
  5. Close port 8000 again once the above is done — not meant to stay open:

    TF_VAR_coolify_setup_port_open=false pass-cli run --env-file .env -- terraform apply
  6. Enable server metrics in Servers → localhost → Metrics — toggle it on to get CPU, memory and disk stats per container.

  7. Enable 2FA on the admin account in Coolify settings.

  8. Set up shared SMTP variables at the team level (Team → Shared Variables) so they can be referenced across all services as {{team.VAR_NAME}}:

    VariableValue
    DEFAULT_SMTP_HOSTyour SMTP host
    DEFAULT_SMTP_PORT587
    DEFAULT_SMTP_USERNAMEyour SMTP username
    DEFAULT_SMTP_PASSWORDyour SMTP password
    DEFAULT_SMTP_FROMyour from address
  9. Configure transactional email in Settings → Transactional Email:

    FieldValue
    Enabled✓ (must check this box)
    Hostyour SMTP host
    Port587
    EncryptionSTARTTLS
    Usernameyour SMTP username
    Passwordyour SMTP password

    Test by sending a test email from the Notifications tab in the main interface.