Download and Install Operately
This guide walks you through downloading and installing Operately on your own infrastructure.
Pre-requisites:
- Select a server
- Configure a domain for your server
- Install Docker and Docker Compose
- Set up a mail server
Installation steps:
Pre-requisites#
Select a server#
Choose a machine to host Operately. For cloud hosting, we recommend DigitalOcean, Linode, or Hetzner.
Minimum requirements:
- 2GB RAM and 1 CPU (suitable for teams up to 30 people)
- 8GB RAM and 4 CPUs (recommended for larger teams)
Configure a domain for your server#
Point a domain to your server. You can use a subdomain (e.g. operately.example.com
) or a
root domain (e.g. example.com
). Configure the DNS records to point to your server’s IP
address. Make sure it’s a direct DNS pointer, not a proxy (e.g. avoid Cloudflare proxy).
Install Docker and Docker Compose#
Operately runs as a set of Docker containers orchestrated by Docker Compose. Install Docker and Docker Compose for your operating system:
Set up a mail server#
Operately uses SendGrid to send emails. Set up a SendGrid account and create an API key by following the instructions in the SendGrid documentation.
Installation steps#
Download the latest release of Operately#
Download and extract the latest Operately release:
wget -q https://github.com/operately/operately/releases/latest/download/operately-single-host.tar.gz
tar -xf operately-single-host.tar.gz
cd operately
Run the installation script#
Run the installation script to configure Operately:
./install.sh
The script will
- Build the Docker images
- Configure the environment
- Set up a Let’s encrypt certificate
- Prompt you for the following information:
- Domain: The domain you configured for your server (e.g.
operately.example.com
) - Admin email: The email address for receiving Let’s Encrypt notifications
- SendGrid API key: The API key you created in the SendGrid dashboard
- Domain: The domain you configured for your server (e.g.
Launch Operately#
Start Operately using Docker Compose:
docker compose up --wait --detach
Operately should now be running on your server. You can access it by navigating to your
configured domain (e.g. https://operately.example.com
).