Skip to content

Commit 8709234

Browse files
authored
Merge pull request #308 from Cinzya/destinations
New Destination related pages
2 parents e3cf675 + 1b571a6 commit 8709234

13 files changed

+257
-0
lines changed

docs/.vitepress/config.mts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,15 @@ export default defineConfig({
248248
{ text: 'Domains', link: '/knowledge-base/domains' },
249249
]
250250
},
251+
{
252+
text: 'Destinations',
253+
collapsed: true,
254+
items: [
255+
{ text: 'Overview', link: '/knowledge-base/destinations/index' },
256+
{ text: 'Creating Destinations', link: '/knowledge-base/destinations/create' },
257+
{ text: 'Managing Destinations', link: '/knowledge-base/destinations/manage' },
258+
]
259+
},
251260
{
252261
text: 'Resources',
253262
collapsed: true,
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Creating Destinations
2+
3+
This guide shows you how to create new destinations in Coolify for deploying your applications and databases.
4+
5+
## Prerequisites
6+
7+
Before creating a destination, ensure you have:
8+
9+
- At least one server connected to Coolify
10+
- Appropriate permissions to manage destinations
11+
- Basic understanding of [Docker networks](https://docs.docker.com/engine/network/)
12+
13+
## Creating a New Destination
14+
15+
### Method 1: From Destinations Page
16+
17+
<ZoomableImage src="/docs/images/destinations/create-destination.webp" />
18+
19+
1. Navigate to **Destinations** in the main navigation
20+
2. Click on **+ Add**
21+
3. Fill in the destination details.
22+
23+
### Method 2: From Server Management
24+
25+
<ZoomableImage src="/docs/images/destinations/server-create-destination.webp" />
26+
27+
1. Go to **Servers** and select your server
28+
2. Navigate to the **Destinations** tab
29+
3. Click **+ Add**
30+
4. Fill in the destination details.
31+
32+
## Configuration Options
33+
34+
<ZoomableImage src="/docs/images/destinations/create-destination-modal.webp" />
35+
36+
### Destination Name
37+
38+
- Auto-generated based on server name and network ID
39+
- Can be customized to be more descriptive
40+
41+
### Network Name
42+
43+
- Must be unique per server
44+
- Auto-generated unique identifier (CUID2 format)
45+
- Can be customized to be more descriptive
46+
- Cannot be changed after creation
47+
- Used as the actual Docker network name
48+
49+
### Server Selection
50+
51+
- Choose from available servers in your team
52+
- Server must be online and accessible
53+
- Can not be a [build server](/builds/servers)
54+
- Determines where the Docker network will be created
55+
56+
### Destination Type
57+
58+
The destination type is **automatically determined** based on your selected server's configuration:
59+
60+
#### Standalone Docker
61+
62+
- **Automatically selected** when the server is configured as a standalone Docker host
63+
- Creates a standard Docker network
64+
- Suitable for single-server deployments
65+
- Supports bridge and custom networks
66+
67+
#### Docker Swarm
68+
69+
- **Automatically selected** when the server is configured as a Docker Swarm manager or worker
70+
- Creates overlay networks for multi-node communication
71+
- Server must have Docker Swarm mode enabled during server setup
72+
- Advanced feature for clustered deployments
73+
74+
::: tip Server Configuration Determines Type
75+
You cannot manually choose between Standalone Docker and Docker Swarm when creating a destination. The type is determined by how your server was configured when it was added to Coolify.
76+
:::
77+
78+
## Automatic Network Creation
79+
80+
When you create a destination, Coolify automatically:
81+
82+
1. **Creates the Docker network** on the target server
83+
2. **Connects the proxy** (Traefik/Caddy) to the network
84+
3. **Configures network settings** for proper isolation
85+
4. **Enables inter-container communication** within the network
86+
87+
## Network Scanning
88+
89+
You can also scan existing Docker networks on a server and add them as destinations:
90+
91+
<ZoomableImage src="/docs/images/destinations/scan-networks.webp" />
92+
93+
1. Go to **Server** and select your server
94+
2. Navigate to **Destinations**
95+
3. Click **Scan for Destinations**
96+
4. Select existing networks to import and Coolify will create destination entries for them
97+
98+
## Validation and Errors
99+
100+
Common errors when creating destinations:
101+
102+
- **Network already added to this server**: The network name conflicts with an existing one
103+
104+
## After Creation
105+
106+
Once created, your destination will:
107+
108+
- Appear in the destinations list
109+
- Be available for deploying applications and databases
110+
- Have network connectivity configured automatically
111+
- Be ready to host your containerized resources
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Destinations
2+
3+
Destinations in Coolify are **Docker network endpoints** where your applications, databases, and services are deployed. They represent isolated network environments on your servers that provide containerized isolation and networking for your resources.
4+
5+
## What are Destinations?
6+
7+
A destination is essentially a [Docker network](https://docs.docker.com/engine/network/) that acts as a deployment target for your resources. When you deploy an application or database, it gets deployed to a specific destination (Docker network) on a server, providing network isolation and organization for your containerized workloads.
8+
9+
## Types of Destinations
10+
11+
Coolify differentiates destinations between two types based on the server configuration:
12+
13+
### 1. Standalone Docker
14+
15+
- **Purpose**: For single-server deployments
16+
- **Use Case**: Most common setup for individual servers
17+
- **Network Type**: [Docker bridge](https://docs.docker.com/engine/network/drivers/bridge/) or custom networks
18+
19+
### 2. Docker Swarm
20+
21+
- **Purpose**: For [Docker Swarm](https://docs.docker.com/engine/swarm/) cluster deployments
22+
- **Use Case**: Multi-node cluster environments
23+
- **Network Type**: [Docker overlay networks](https://docs.docker.com/engine/network/drivers/overlay/)
24+
25+
## Key Concepts
26+
27+
### Network Isolation
28+
29+
Each destination provides network isolation between different deployments. Applications deployed to different destinations cannot communicate with each other unless explicitly configured.
30+
31+
### Server Relationship
32+
33+
- Each destination belongs to exactly one server
34+
- A server can have multiple destinations
35+
- Destinations are tied to the server's Docker daemon
36+
37+
### Resource Assignment
38+
39+
Destinations can host multiple types of resources:
40+
41+
- **Applications** (web apps, APIs, microservices)
42+
- **Databases** (PostgreSQL, MySQL, Redis, MongoDB, etc.)
43+
- **Services** (one-click deployments like WordPress, Ghost, etc.)
44+
45+
## Benefits
46+
47+
1. **Isolation**: Network-level separation between different projects or environments
48+
2. **Organization**: Logical grouping of related applications and databases
49+
3. **Security**: Prevents unauthorized network access between different deployments
50+
4. **Flexibility**: Ability to deploy the same application to multiple destinations/servers
51+
5. **Scalability**: Support for multi-server deployments through additional destinations
52+
53+
## Related Topics
54+
55+
- [Creating Destinations](./create.md)
56+
- [Managing Destinations](./manage.md)
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Managing Destinations
2+
3+
Learn how to manage your existing destinations in Coolify, and how to assign resources to them.
4+
5+
## Viewing Destinations
6+
7+
### Destinations Overview
8+
9+
Navigate to **Destinations** to see all your destinations across all servers.
10+
<ZoomableImage src="/docs/images/destinations/destinations-overview.webp" />
11+
12+
### Server-Specific Destinations
13+
14+
Navigate to **Servers****[Server Name]****Destinations** to view destinations specific to that server.
15+
<ZoomableImage src="/docs/images/destinations/destinations-server-overview.webp" />
16+
17+
## Editing & Deleting Destinations
18+
19+
Click on a destination to access its management page where you can either edit or delete it.
20+
21+
<ZoomableImage src="/docs/images/destinations/destinations-settings.webp" />
22+
23+
### Basic Information
24+
25+
- **Name**: Update the destination display name
26+
- **Server IP**: View the server IP address where the destination is hosted (read-only)
27+
- **Docker Network**: View the Docker network name (read-only)
28+
29+
### Before You Delete
30+
31+
#### Check for Active Resources
32+
33+
Coolify won't allow you to delete a destination that has active resources. Therefore, before deleting a destination, ensure it's not being used:
34+
35+
1. **Applications**: No applications deployed to this destination
36+
2. **Databases**: No databases running in this destination
37+
3. **Services**: No services configured for this destination
38+
39+
#### Resource Dependencies
40+
41+
Verify that no other resources depend on this destination, to avoid issues after deletion:
42+
43+
- **Environment Variables**: Check for hardcoded references
44+
- **Network Dependencies**: Ensure no cross-destination communication
45+
- **Proxies & Load Balancers**: Update load balancer and proxy configuration
46+
47+
## Assign Resources to a Destination
48+
49+
When you have more then one destination on a server, you will get prompted to select a destination when creating a new resource.
50+
51+
<ZoomableImage src="/docs/images/destinations/destinations-selection.webp" />
52+
53+
If your resource is already created, you can make a **Clone** of it to another destination:
54+
55+
<ZoomableImage src="/docs/images/destinations/destinations-clone.webp" />
56+
57+
1. Navigate to the resource's management page over the **Projects** tab.
58+
2. Go to **Resource Operations**
59+
3. Select the destination
60+
61+
::: warning
62+
Cloning a resource to another destination will create a new instance of that resource. This will not move the resource or it's data but create a duplicate.
63+
:::
64+
65+
### Service Stacks
66+
67+
Unlike applications or databases, service stacks are not by default connected to the assigned destination. This also includes applications using the [Docker Compose Build Pack](/builds/packs/docker-compose). Coolify creates an isolated network for each service stack, allowing you to run multiple instances of the same service on the same server without conflicts.
68+
69+
If you want to connect a service stack to a destination, enable [Connect to Predefined Networks](/knowledge-base/docker/compose#connect-to-predefined-networks) in it's settings. This allows the service stack to communicate with other resources on the same destination.
70+
71+
::: danger WARNING
72+
Avoid defining network configurations directly in your service stack's `docker-compose.y[a]ml` and instead use Coolify's Destination settings to manage network connections. This could otherwise lead to undesired behavior, such as **Gateway Timeout** errors.
73+
:::
74+
75+
## Best Practices
76+
77+
1. **Naming Convention**: Use descriptive names for destinations
78+
2. **Resource Organization**: Group related applications in the same destination
79+
3. **Monitoring**: Regularly check destination health and resource usage
80+
4. **Documentation**: Document purpose and configuration of each destination
81+
5. **Cleanup**: Remove unused destinations to reduce server load
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)