You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 7, 2025. It is now read-only.
## Using Environment Variables When Building Images
43
43
44
-
When building Docker images, we need to be careful to avoid including the variables in the images. Disco uses the recommended way to expose environment variables without baking them into the images.
44
+
When building Docker images, we need to be careful to avoid including the variables in the images. disco uses the recommended way to expose environment variables without baking them into the images.
45
45
46
46
See Docker documentation about [Build Secrets](https://docs.docker.com/build/building/secrets/) for more info.
47
47
@@ -86,7 +86,7 @@ The [Docker documentation](https://docs.docker.com/build/building/secrets/#targe
Copy file name to clipboardExpand all lines: docs/exhaustive-documentation/images.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ You can avoid talking about images in your `disco.json` file by relying on the d
43
43
44
44
This `disco.json` above uses the defaults. More on this below.
45
45
46
-
When you don't specify the image to use for a service, Disco will default to the image named `default`.
46
+
When you don't specify the image to use for a service, disco will default to the image named `default`.
47
47
48
48
Those two `disco.json` are equivalent, defining `"image"` or not in the definition of `"web"`:
49
49
@@ -84,7 +84,7 @@ and
84
84
}
85
85
```
86
86
87
-
Also, when not defining the `default` image, Disco will assume the default value shown above. That is, the `Dockerfile` at the root of the repository, the build context as well. Meaning that this third `disco.json` is also equivalent:
87
+
Also, when not defining the `default` image, disco will assume the default value shown above. That is, the `Dockerfile` at the root of the repository, the build context as well. Meaning that this third `disco.json` is also equivalent:
88
88
```json
89
89
{
90
90
"version": "1.0",
@@ -175,7 +175,7 @@ or another exmaple, if the Dockerfile is in a sub-directory, but should be built
175
175
176
176
## Using Publicly Downloadable Images
177
177
178
-
If the name of the image to use is not defined in `images`, Disco will see if it can download it.
178
+
If the name of the image to use is not defined in `images`, disco will see if it can download it.
Copy file name to clipboardExpand all lines: docs/exhaustive-documentation/ports.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Web
4
4
5
-
When deploying a web application, the way to have the web traffic served through Disco's reverse proxy is to specify the port in your `disco.json`.
5
+
When deploying a web application, the way to have the web traffic served through disco's reverse proxy is to specify the port in your `disco.json`.
6
6
7
7
```json
8
8
{
@@ -16,9 +16,9 @@ When deploying a web application, the way to have the web traffic served through
16
16
}
17
17
```
18
18
19
-
That way, requests come in to your server on port 443 (for https) and Disco's reverse proxy will forward the request to your app on port 8080.
19
+
That way, requests come in to your server on port 443 (for https) and disco's reverse proxy will forward the request to your app on port 8080.
20
20
21
-
Also, note that the name `web` for the service is important. Disco will use that service to expose to the internet. You can't specify `port` on a service not named `web`.
21
+
Also, note that the name `web` for the service is important. disco will use that service to expose to the internet. You can't specify `port` on a service not named `web`.
22
22
23
23
## Internal Communication Between Services
24
24
@@ -94,4 +94,4 @@ In the case where you would like to expose a port externally, bypassing the reve
94
94
95
95
In this case, the container's port `11000` will be exposed on the server directly as port `12000`. Also, the protocol defined is `udp`, or `tcp`.
96
96
97
-
Since it does not go through the reverse proxy, Disco will not provide a TLS certificate for HTTPS.
97
+
Since it does not go through the reverse proxy, disco will not provide a TLS certificate for HTTPS.
Copy file name to clipboardExpand all lines: docs/exhaustive-documentation/postgresql.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,7 +111,7 @@ You can attach many databases to a single project. And you can attach the same d
111
111
112
112
### Remote Access
113
113
114
-
As you saw in the `DATABASE_URL` value, the hostname was `postgres-instance-nuclear-rabbit-postgres`. It's not exposed to the internet. It's only accessible to the projects running on your Disco installation.
114
+
As you saw in the `DATABASE_URL` value, the hostname was `postgres-instance-nuclear-rabbit-postgres`. It's not exposed to the internet. It's only accessible to the projects running on your disco installation.
115
115
116
116
If you want to access it remotely, from your laptop for example, you can create a temporary tunnel.
Copy file name to clipboardExpand all lines: docs/exhaustive-documentation/volumes.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,4 +54,4 @@ Volumes are scoped per project. If you use the same volume name for 2 different
54
54
55
55
## Scaling Considerations
56
56
57
-
When running Disco with multiple servers (nodes in a swarm), usually, services will be spread on all servers automatically to spread the load. However, when using volumes, Disco will force the services to run on the main node and the volumes will be created on the hard drive of the main node. In other words, services that use volumes will not scale horiztonally.
57
+
When running disco with multiple servers (nodes in a swarm), usually, services will be spread on all servers automatically to spread the load. However, when using volumes, disco will force the services to run on the main node and the volumes will be created on the hard drive of the main node. In other words, services that use volumes will not scale horiztonally.
Copy file name to clipboardExpand all lines: docs/exhaustive-documentation/worker-processes.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Worker Processes
2
2
3
-
In your `disco.json` file, you can define many services. The one that has the name `web` will be exposed to the internet by Disco. The other ones will just run.
3
+
In your `disco.json` file, you can define many services. The one that has the name `web` will be exposed to the internet by disco. The other ones will just run.
Copy file name to clipboardExpand all lines: docs/get-started/set-up-your-app.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ sidebar_position: 4
4
4
5
5
# Set up your App
6
6
7
-
In this docs you will learn the basics to get your existing app running on Disco. If you have a static site or a static site generator, refer to these sections instead.
7
+
In this docs you will learn the basics to get your existing app running on disco. If you have a static site or a static site generator, refer to these sections instead.
8
8
9
9
## Overview
10
10
11
-
At this point, you already have installed the CLI on your computer, installed Disco on your server, and you have added your Disco Github app with the permissions to your repository on Github.
11
+
At this point, you already have installed the CLI on your computer, installed disco on your server, and you have added your disco Github app with the permissions to your repository on Github.
12
12
13
-
After this guide, you will have a `Dockerfile` to build the image of your app, and you'll have a `disco.json` file describing how the app should run on Disco.
13
+
After this guide, you will have a `Dockerfile` to build the image of your app, and you'll have a `disco.json` file describing how the app should run on disco.
14
14
15
-
### The app before Disco
15
+
### The app before disco
16
16
17
17
Let's use a very basic Flask app so that we have something to work with.
18
18
@@ -60,7 +60,7 @@ $ flask --app hello run
60
60
61
61
### Create your Dockerfile
62
62
63
-
Apps on Disco run inside Docker containers. We need a Dockerfile to build the image that will be used by those containers. If you've never worked with Docker or `Dockerfile`, the general idea is that the `Dockerfile` will build everything needed to run the app, so that we can use it later to execute the app. You can see it as a `makefile` to build binaries that you'll later use when you want to run the app.
63
+
Apps on disco run inside Docker containers. We need a Dockerfile to build the image that will be used by those containers. If you've never worked with Docker or `Dockerfile`, the general idea is that the `Dockerfile` will build everything needed to run the app, so that we can use it later to execute the app. You can see it as a `makefile` to build binaries that you'll later use when you want to run the app.
64
64
65
65
For this example, in Python, we'll use the official Python image from Docker Hub. Just create a file named `Dockerfile` at the root of your repository.
66
66
@@ -75,7 +75,7 @@ See [notes below](#optimizing-the-dockerfile) for some optimizations we can make
75
75
76
76
### Create your disco.json
77
77
78
-
Create a file named `disco.json` at the root of your repository. The `disco.json` file tells Disco how to run your app.
78
+
Create a file named `disco.json` at the root of your repository. The `disco.json` file tells disco how to run your app.
79
79
80
80
One note is that services have to be accessible from the outside. See [Externally Visible Server](https://flask.palletsprojects.com/en/3.0.x/quickstart/#public-server) in Flask's docs. While the flag `--host=0.0.0.0` is Flask specific, the concept applies to most apps: it may bind to `127.0.0.1` (`localhost`) by default, meaning only requests coming from "inside" would be able to reach the app. This is a great default for developping on your computer, but to deploy your application, it needs to be accessible from the outside, so that the reverse proxy in front of your app can talk to it.
81
81
@@ -91,11 +91,11 @@ One note is that services have to be accessible from the outside. See [Externall
91
91
}
92
92
```
93
93
94
-
The name `web` is a magic name. When Disco sees it, it knows that it's the one to use to expose to the internet, create a TLS certificate for HTTPS, etc.
94
+
The name `web` is a magic name. When disco sees it, it knows that it's the one to use to expose to the internet, create a TLS certificate for HTTPS, etc.
95
95
96
96
### That's it!
97
97
98
-
Your app is now ready to be deployed on Disco. You can use the CLI to add the project.
98
+
Your app is now ready to be deployed on disco. You can use the CLI to add the project.
99
99
100
100
```bash
101
101
disco projects:add \
@@ -104,7 +104,7 @@ disco projects:add \
104
104
--domain first-app.example.com
105
105
```
106
106
107
-
And now, every time you `git push` new commits, Disco will deploy the app automatically.
107
+
And now, every time you `git push` new commits, disco will deploy the app automatically.
Copy file name to clipboardExpand all lines: docs/get-started/set-up-your-static-site-generator-site.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ sidebar_position: 6
4
4
5
5
# Set up your Static Site Generator (SSG)
6
6
7
-
In this docs you will learn the basics to get your existing static site generator site building on Disco and being served by Disco. If you have a static site or running apps, refer to these sections instead.
7
+
In this docs you will learn the basics to get your existing static site generator site building on disco and being served by disco. If you have a static site or running apps, refer to these sections instead.
8
8
9
9
## Overview
10
10
11
-
At this point, you already have installed the CLI on your computer, installed Disco on your server, and you have added your Disco Github app with the permissions to your repository on Github.
11
+
At this point, you already have installed the CLI on your computer, installed disco on your server, and you have added your disco Github app with the permissions to your repository on Github.
12
12
13
-
In this guide, you will have a `Dockerfile` to build your site, and you'll have a `disco.json` file telling Disco where to find the files to be served within your image.
13
+
In this guide, you will have a `Dockerfile` to build your site, and you'll have a `disco.json` file telling disco where to find the files to be served within your image.
14
14
15
-
### The site before Disco
15
+
### The site before disco
16
16
17
17
Let's use a very barebone home made site generator as an example.
18
18
@@ -72,7 +72,7 @@ python generate.py
72
72
73
73
### Create your Dockerfile
74
74
75
-
Static sites generator on Disco are built using a `Dockerfile`.
75
+
Static sites generator on disco are built using a `Dockerfile`.
76
76
77
77
For this example, in Python, we'll use the official Python image from Docker Hub. Just create a file named `Dockerfile` at the root of your repository.
78
78
@@ -88,7 +88,7 @@ See [notes below](#optimizing-the-dockerfile) for some optimizations we can make
88
88
89
89
### Create your disco.json
90
90
91
-
Create a file named `disco.json` at the root of your repository. The `disco.json` file tells Disco where to find the files to serve inside the Docker image we just built with the `Dockerfile` above.
91
+
Create a file named `disco.json` at the root of your repository. The `disco.json` file tells disco where to find the files to serve inside the Docker image we just built with the `Dockerfile` above.
92
92
93
93
```json
94
94
{
@@ -101,14 +101,14 @@ Create a file named `disco.json` at the root of your repository. The `disco.json
101
101
}
102
102
}```
103
103
104
-
The name `web` is a magic name. When Disco sees it, it knows that it's the one to use to expose to the internet, create a TLS certificate for HTTPS, etc.
104
+
The name `web` is a magic name. When disco sees it, it knows that it's the one to use to expose to the internet, create a TLS certificate for HTTPS, etc.
105
105
106
106
`publicPath` is relative to the `WOKRDIR` in your `Dockerfile`. In our example, the directory `dist` actually means `/app/dist` in our Docker image.
107
107
108
108
109
109
### That's it!
110
110
111
-
Your site is now ready to be deployed on Disco. You can use the CLI to add the project.
111
+
Your site is now ready to be deployed on disco. You can use the CLI to add the project.
112
112
113
113
```bash
114
114
disco projects:add \
@@ -117,7 +117,7 @@ disco projects:add \
117
117
--domain first-site.example.com
118
118
```
119
119
120
-
And now, every time you `git push` new commits, Disco will deploy the site automatically.
120
+
And now, every time you `git push` new commits, disco will deploy the site automatically.
Copy file name to clipboardExpand all lines: docs/get-started/set-up-your-static-site.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ sidebar_position: 5
4
4
5
5
# Set up your Static Site
6
6
7
-
In this docs you will learn the basics to get your existing static site being served by Disco. If you have static files ready to serve, you're at the right place. If you're looking for static site generators or running apps, have a look at their sections in the docs.
7
+
In this docs you will learn the basics to get your existing static site being served by disco. If you have static files ready to serve, you're at the right place. If you're looking for static site generators or running apps, have a look at their sections in the docs.
8
8
9
9
## Overview
10
10
11
-
At this point, you already have installed the CLI on your computer, installed Disco on your server, and you have added your Disco Github app with the permissions to your repository on Github.
11
+
At this point, you already have installed the CLI on your computer, installed disco on your server, and you have added your disco Github app with the permissions to your repository on Github.
12
12
13
-
You already have static files to serve. You just need to tell Disco where to find them in your repository, by using a `disco.json` file.
13
+
You already have static files to serve. You just need to tell disco where to find them in your repository, by using a `disco.json` file.
14
14
15
-
### The site before Disco
15
+
### The site before disco
16
16
17
17
Let's say you have a folder called `public` that contains an HTML file `index.html`.
18
18
```
@@ -38,7 +38,7 @@ public
38
38
39
39
### Create your disco.json
40
40
41
-
Create a file named `disco.json` at the root of your repository. The `disco.json` file tells Disco where to find your files.
41
+
Create a file named `disco.json` at the root of your repository. The `disco.json` file tells disco where to find your files.
42
42
43
43
```json
44
44
{
@@ -52,13 +52,13 @@ Create a file named `disco.json` at the root of your repository. The `disco.json
52
52
}
53
53
```
54
54
55
-
The name `web` is a magic name. When Disco sees it, it knows that it's the one to use to expose to the internet, create a TLS certificate for HTTPS, etc.
55
+
The name `web` is a magic name. When disco sees it, it knows that it's the one to use to expose to the internet, create a TLS certificate for HTTPS, etc.
56
56
57
57
`publicPath` is relative to the root of your repository. In our example, the directory `public` sits at the root of the repository.
58
58
59
59
### That's it!
60
60
61
-
Your site is now ready to be deployed on Disco. You can use the CLI to add the project.
61
+
Your site is now ready to be deployed on disco. You can use the CLI to add the project.
62
62
63
63
```bash
64
64
disco projects:add \
@@ -67,7 +67,7 @@ disco projects:add \
67
67
--domain first-site.example.com
68
68
```
69
69
70
-
And now, every time you `git push` new commits, Disco will deploy the site automatically.
70
+
And now, every time you `git push` new commits, disco will deploy the site automatically.
0 commit comments