Skip to content

Commit 818eac0

Browse files
Cycle 3 Deployment
Merge pull request #269 from coollabsio/next
2 parents 6355b36 + 47bc8d4 commit 818eac0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+944
-137
lines changed

.github/workflows/production-build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ jobs:
1313
build:
1414
runs-on: [self-hosted, arm64]
1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717

1818
- name: Set up Docker Buildx
1919
uses: docker/setup-buildx-action@v3
2020
with:
21+
version: latest
2122
buildkitd-flags: --debug
2223

2324
- uses: actions/cache@v4.2.0

.github/workflows/staging-build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ jobs:
1313
build:
1414
runs-on: [self-hosted, arm64]
1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717

1818
- name: Set up Docker Buildx
1919
uses: docker/setup-buildx-action@v3
2020
with:
21+
version: latest
2122
buildkitd-flags: --debug
2223

2324
- uses: actions/cache@v4.2.0

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Stage 1: Build Stage (oven/bun:1.1.44-alpine, ARM64)
22
FROM oven/bun:1.1.44-alpine AS builder
33

4+
ENV VITE_ANALYTICS_DOMAIN=next.coolify.io/docs
45
RUN apk add --no-cache nodejs npm
56

67
# Set working directory and copy necessary files

docs/.vitepress/config.mts

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import { bundledLanguages } from 'shiki'
99
import { join, dirname } from 'node:path'
1010
import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs'
1111
import { groupIconVitePlugin } from 'vitepress-plugin-group-icons'
12-
12+
import { loadEnv } from 'vitepress'
13+
const env = loadEnv('', process.cwd())
1314
const sidebar = useSidebar({ spec, collapsible: true })
1415

1516
// Add SSH to bundled languages
@@ -19,6 +20,8 @@ bundledLanguages['ssh'] = {
1920
path: join(dirname(fileURLToPath(import.meta.url)), '../../node_modules/shiki/languages/ssh-config.tmLanguage.json')
2021
}
2122

23+
console.log(env)
24+
2225
// https://vitepress.dev/reference/site-config
2326
export default defineConfig({
2427
lang: 'en-US',
@@ -48,7 +51,7 @@ export default defineConfig({
4851
['meta', { property: 'twitter:image', content: 'https://coolcdn.b-cdn.net/assets/coolify/og-image-docs.png' }],
4952
['link', { rel: 'icon', href: '/docs/coolify-logo-transparent.png' }],
5053
['link', { rel: 'icon', type: 'image/x-icon', href: '/docs/public/favicon.ico' }],
51-
['script', { defer: 'true', src: 'https://analytics.coollabs.io/js/script.tagged-events.js', 'data-domain': 'coolify.io/docs' }],
54+
['script', { defer: 'true', src: 'https://analytics.coollabs.io/js/script.tagged-events.js', 'data-domain': env.VITE_ANALYTICS_DOMAIN ?? 'coolify.io/docs' }],
5255
['script', { async: 'true', src: '/docs/trieve-user-script.js' }],
5356
],
5457
themeConfig: {
@@ -91,24 +94,25 @@ export default defineConfig({
9194
collapsed: false,
9295
items: [
9396
{ text: 'Introduction', link: '/get-started/introduction' },
94-
{
95-
text: 'Installation',
97+
{
98+
text: 'Installation',
9699
link: '/get-started/installation',
97-
collapsed: false,
100+
collapsed: false,
98101
items: [
99102
{ text: 'Upgrade', link: '/get-started/upgrade' },
100103
{ text: 'Downgrade', link: '/get-started/downgrade' },
101104
{ text: 'Uninstallation', link: '/get-started/uninstallation' },
102105
]
103106
},
104107
{ text: 'Usage', link: '/get-started/usage' },
105-
{ text: 'Concepts', link: '/get-started/concepts',
108+
{
109+
text: 'Concepts', link: '/get-started/concepts',
106110
collapsed: true,
107111
items: [
108112
{ text: 'Screenshots', link: '/get-started/screenshots' },
109113
{ text: 'Videos', link: '/get-started/videos' },
110114
]
111-
},
115+
},
112116
{ text: 'Team', link: '/get-started/team' },
113117
{ text: 'Support', link: '/get-started/support' },
114118
{ text: 'Sponsors', link: '/get-started/sponsors' },
@@ -124,6 +128,25 @@ export default defineConfig({
124128

125129
],
126130
},
131+
{
132+
text: 'Builds',
133+
collapsed: true,
134+
items: [
135+
{ text: 'Introduction', link: '/builds/introduction' },
136+
{
137+
text: 'Build Packs',
138+
collapsed: true,
139+
items: [
140+
{ text: 'Overview', link: '/builds/packs/overview' },
141+
{ text: 'Static', link: '/builds/packs/static' },
142+
{ text: 'Nixpacks', link: '/builds/packs/nixpacks' },
143+
{ text: 'Dockerfile', link: '/builds/packs/dockerfile' },
144+
{ text: 'Docker Compose', link: '/builds/packs/docker-compose' },
145+
]
146+
},
147+
{ text: 'Build Servers', link: '/builds/servers' },
148+
],
149+
},
127150
{
128151
text: 'Applications',
129152
collapsed: true,
@@ -601,7 +624,7 @@ export default defineConfig({
601624
plugins: [
602625
yaml as any,
603626
llmstxt({
604-
ignoreFiles: [
627+
ignoreFiles: [
605628
'/docs/api-reference/api/**/*',
606629
'**/api-reference/api/**/*'
607630
],

docs/.vitepress/theme/style.css

Lines changed: 41 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,11 @@
168168
--vp-font-family-mono: 'JetBrains Mono', 'Fira Code', Consolas, 'Courier New', monospace;
169169

170170
/* Enhanced code highlighting, especially for Safari */
171-
--vp-code-color: #f8f8f8;
172-
--vp-code-link-color: #42b883;
173-
--vp-code-link-hover-color: #35495e;
174-
--vp-code-bg: #292d3e; /* Darker background for better contrast */
171+
--vp-code-color: #24292f;
172+
--vp-code-link-color: #0969da;
173+
--vp-code-link-hover-color: #0969da;
174+
--vp-code-bg: #f6f8fa !important;
175+
--vp-c-text-dark-1: #24292f;
175176
}
176177

177178
/**
@@ -242,13 +243,13 @@
242243
--vp-c-bg: #0D0B0F;
243244
--vp-c-bg-alt: #0D0B0F;
244245
--vp-c-bg-elv: #202127;
245-
--vp-c-bg-soft: #202127;
246+
--vp-c-bg-soft: #161b22 !important;
246247
--vp-c-text-1: #F2F2F2;
247248
--vp-c-text-2: #9A989D;
248249
--vp-c-text-3: #9A989D;
249250

250251
/* Lighter code background in dark mode */
251-
--vp-code-bg: #1a1a1f; /* Darker background in dark mode */
252+
--vp-code-bg: #161b22 !important; /* Darker background in dark mode */
252253

253254
--vp-custom-block-tip-border: #0C4C69;
254255
--vp-custom-block-tip-text: #A7D2E8;
@@ -311,7 +312,7 @@
311312

312313
/* Enhanced code highlighting, especially for Safari */
313314
--vp-code-color: #F2F2F2;
314-
--vp-code-bg: #1a1a1f; /* Darker background in dark mode */
315+
--vp-code-bg: #161b22 !important; /* Darker background in dark mode */
315316
}
316317

317318
/* Container padding override */
@@ -391,7 +392,7 @@ code:hover {
391392
.vp-doc div[class*='language-'] {
392393
position: relative;
393394
margin: 0;
394-
background-color: var(--vp-c-bg-soft);
395+
background-color: var(--vp-code-bg);
395396
border-radius: 10px;
396397
overflow-x: visible;
397398
}
@@ -574,6 +575,7 @@ code:hover {
574575

575576
/* Reset webkit styles for code blocks */
576577
.vp-doc [class*='language-'] code {
578+
577579
-webkit-text-fill-color: initial !important;
578580
}
579581

@@ -683,16 +685,16 @@ code:hover {
683685

684686
/* Markdown Labels like NODE_ENV */
685687
:not(pre) > code {
686-
background-color: rgba(40, 44, 52, 0.95) !important;
687-
color: #f0f0f0 !important;
688-
-webkit-text-fill-color: #f0f0f0 !important;
689-
font-weight: 500 !important;
690-
padding: 4px 8px !important;
688+
background-color: rgba(40, 44, 52, 0) !important;
689+
color: rgba(185, 185, 185, 0.795) !important;
690+
-webkit-text-fill-color: rgba(95, 95, 95, 0.795) !important;
691+
font-weight: 600 !important;
692+
padding: 4px 4px !important;
691693
border-radius: 6px !important;
692694
font-size: 0.7em !important;
693-
border: 1px solid rgba(255, 255, 255, 0.15) !important;
694-
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2),
695-
0 0 2px rgba(255, 255, 255, 0.05) !important;
695+
border: 1px solid rgba(185, 185, 185, 0.795) !important;
696+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1),
697+
0 0 1px rgba(255, 255, 255, 0.05) !important;
696698
margin: 0 3px !important;
697699
/* text-transform: uppercase !important; */
698700
letter-spacing: 0.02em !important;
@@ -701,7 +703,7 @@ code:hover {
701703

702704
/* Dark mode adjustments */
703705
.dark :not(pre) > code {
704-
background-color: rgba(50, 50, 60, 0.95) !important;
706+
background-color: rgb(50, 50, 60) !important;
705707
color: #ffffff !important;
706708
-webkit-text-fill-color: #ffffff !important;
707709
border-color: rgba(255, 255, 255, 0.2) !important;
@@ -720,47 +722,25 @@ code:hover {
720722
}
721723
}
722724

723-
/* Explicitly prevent hover color change for ALL code blocks with higher specificity */
724-
.vp-doc [class*='language-'] code:hover,
725-
div[class*='language-'] code:hover,
726-
pre[class*='language-'] code:hover {
727-
background-color: transparent !important;
725+
/* Disable ALL hover effects for code blocks */
726+
.vp-doc [class*='language-'] *:hover,
727+
.vp-doc div[class*='language-'] *:hover,
728+
.vp-doc pre[class*='language-'] *:hover,
729+
.shiki *:hover,
730+
.vp-code *:hover,
731+
.vp-doc code *:hover,
732+
div[class*='language-'] *:hover,
733+
pre[class*='language-'] *:hover {
728734
color: inherit !important;
729735
-webkit-text-fill-color: inherit !important;
730-
transform: none !important;
731-
box-shadow: none !important;
732-
border-color: transparent !important;
733-
}
734-
735-
/* Additional specific prevention with maximum specificity for shell/bash/ssh code blocks */
736-
.vp-doc .language-bash code:hover,
737-
.vp-doc .language-ssh code:hover,
738-
.vp-doc .language-sh code:hover,
739-
div.language-bash code:hover,
740-
div.language-ssh code:hover,
741-
div.language-sh code:hover,
742-
pre.language-bash code:hover,
743-
pre.language-ssh code:hover,
744-
pre.language-sh code:hover,
745-
.language-sh code:hover,
746-
.language-sh .line:hover,
747-
.language-sh span:hover {
748736
background-color: transparent !important;
749-
color: inherit !important;
750-
-webkit-text-fill-color: inherit !important;
751737
transform: none !important;
752738
box-shadow: none !important;
753739
border-color: transparent !important;
740+
text-decoration: none !important;
754741
}
755742

756-
/* Override any other hover effects for code blocks */
757-
.vp-doc pre *:hover,
758-
.shiki *:hover,
759-
.vp-code *:hover {
760-
background-color: inherit !important;
761-
color: inherit !important;
762-
-webkit-text-fill-color: inherit !important;
763-
}
743+
/* Remove all the other hover prevention blocks since they're now consolidated above */
764744

765745
@media (prefers-color-scheme: dark) {
766746
p code:hover, li code:hover,
@@ -776,4 +756,15 @@ pre.language-sh code:hover,
776756
border-radius: 8px;
777757
overflow-x: auto;
778758
}
759+
}
760+
761+
/* Override Shiki theme colors for light mode */
762+
.shiki.github-light {
763+
--shiki-light-keyword: #cf222e !important; /* red */
764+
--shiki-light-string: #0a3069 !important; /* dark blue for strings */
765+
--shiki-light-function: #8250df !important; /* purple */
766+
--shiki-light-number: #0550ae !important; /* blue */
767+
--shiki-light-boolean: #0550ae !important; /* blue */
768+
--shiki-light-comment: #6e7781 !important; /* gray */
769+
--shiki-light-property: #953800 !important; /* brown */
779770
}

docs/builds/introduction.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: Introduction to Builds
3+
---
4+
5+
<ZoomableImage src="/docs/images/builds/introduction/builds-banner.webp" />
6+
7+
<br />
8+
9+
Coolify deploys all applications as Docker containers. This means your app, database, or website runs inside a container.
10+
11+
No matter what you deploy or which build pack you use, it is always run as a Docker container.
12+
13+
14+
## How Docker Containers Work
15+
- **Docker Image:** To run a container, you need a Docker image.
16+
- **Dockerfile:** The image is built using a Dockerfile, just a file with step-by-step instructions to build the docker image.
17+
- **Build Process:** If you're building your own application, you'll need to create your docker image using a Dockerfile.
18+
- Coolify helps with this build process by letting you use different build packs. A commonly used build pack is [Nixpacks ↗](https://nixpacks.com?utm_source=coolify.io), which automatically prepares a Dockerfile and builds the docker image for you.
19+
20+
21+
## Build Packs in Coolify
22+
Coolify offers build packs like [Nixpack ↗](https://nixpacks.com?utm_source=coolify.io) and **Static Build Pack** that automatically create your Docker image.
23+
24+
If you need more control over the process, you can write your own Dockerfile and Docker Compose file. In that case, Coolify will use your file to build the image on the server and deploy it as a container.
25+
26+
27+
## Using Pre-built Images
28+
If you already have a Docker image stored in a registry (for example, [Docker Hub ↗](https://hub.docker.com/?utm_source=coolify.io) or [GitHub Container Registry ↗](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry?utm_source=coolify.io)), you can use that image directly in Coolify. This means you do not have to rebuild the image on your server.
29+
30+
31+
## Managing Build Resources
32+
Building Docker images can consume a lot of resources on your server, potentially causing it to crash.
33+
34+
To reduce the load on your main server, Coolify allows you to connect additional servers to manage the build process.
35+
36+
You can set up a separate [build server ↗](/builds/servers) to handle the builds, or use external tools like [GitHub Actions ↗](https://github.com/features/actions?utm_source=coolify.io) to build your images and push them to any container registry.
37+
38+
Once the images are pushed, you can easily use them on Coolify.
39+
40+
41+
## What's Next?
42+
Check the pages in the sidebar to learn more about build packs, build commands, and build servers.

0 commit comments

Comments
 (0)