Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
708da92
Updated Discord members count + Self hosted instances count on introd…
ShadowArcanist Apr 7, 2025
e1373c3
Merge branch 'main' into next
ShadowArcanist Apr 9, 2025
323bb47
Update laravel.md to include php_admin_value for php-fpm.conf
tomhatzer Apr 9, 2025
9d604c6
Update symfony.md to include php_admin_value for php-fpm.conf
tomhatzer Apr 9, 2025
9902bde
Update laravel.md and move existing php.ini settings to php_admin_value
tomhatzer Apr 9, 2025
359544d
Merge pull request #261 from tomhatzer/main
ShadowArcanist Apr 9, 2025
f7fe72b
fix: hostname order for single resource tunnel
Cinzya Apr 9, 2025
ca4db7c
chore: remove unused openapi base and label options
enzonotario Apr 13, 2025
c19058b
chore: update vitepress-openapi
enzonotario Apr 13, 2025
55db579
feat: add vitepress-plugin-group-icons to display icons in code groups
enzonotario Apr 13, 2025
1742d79
Merge pull request #264 from Cinzya/tunnel-hostnames
ShadowArcanist Apr 14, 2025
3cbdb48
Merge pull request #265 from enzonotario/main
ShadowArcanist Apr 14, 2025
d34ebf4
fix: LLMs txt moved to root to solve build error
justserdar Apr 14, 2025
f946fc8
feat: swapped vite-plugin-llms for vitepress-plugin-llms, automated l…
justserdar Apr 14, 2025
d64c197
refactor: openapi plugin now has all sidebar endpoint groups collapse…
justserdar Apr 14, 2025
152774b
chore: new sidebar config
justserdar Apr 14, 2025
4701841
Merge pull request #266 from coollabsio/next-sidebar
ShadowArcanist Apr 15, 2025
1b27b6b
Fixed build phase showing "language env is not loaded"
ShadowArcanist Apr 15, 2025
4f48ca9
fix typo
jawlkumuna Apr 15, 2025
fb3296c
Fixed build error
ShadowArcanist Apr 15, 2025
ce533df
Merge pull request #267 from jawlkumuna/patch-2
ShadowArcanist Apr 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Stage 1: Build Stage (oven/bun:1.1.44-alpine, ARM64)
FROM oven/bun:1.1.44-alpine AS builder

RUN apk add --no-cache nodejs npm

# Set working directory and copy necessary files
WORKDIR /app

COPY docs/public/llms.txt llms.txt
# Copy package files first for better caching
COPY package.json bun.lockb ./

Expand Down
Binary file modified bun.lockb
Binary file not shown.
83 changes: 44 additions & 39 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { fileURLToPath, URL } from 'node:url'
import yaml from 'vite-plugin-yaml'
import llms from 'vite-plugin-llms'
import llmstxt from 'vitepress-plugin-llms'
import { defineConfig } from 'vitepress'
import { useSidebar } from 'vitepress-openapi'
import spec from '../public/openapi.json' with { type: 'json' }
import container from 'markdown-it-container'
import { bundledLanguages } from 'shiki'
import { join, dirname } from 'node:path'
import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs'
import { groupIconVitePlugin } from 'vitepress-plugin-group-icons'

const sidebar = useSidebar({ spec, collapsible: true })

Expand Down Expand Up @@ -90,16 +91,24 @@ export default defineConfig({
collapsed: false,
items: [
{ text: 'Introduction', link: '/get-started/introduction' },
{
text: 'Installation',
link: '/get-started/installation',
collapsed: false,
items: [
{ text: 'Upgrade', link: '/get-started/upgrade' },
{ text: 'Downgrade', link: '/get-started/downgrade' },
{ text: 'Uninstallation', link: '/get-started/uninstallation' },
]
},
{ text: 'Usage', link: '/get-started/usage' },
{ text: 'Concepts', link: '/get-started/concepts' },
{ text: 'Screenshots', link: '/get-started/screenshots' },
{ text: 'Videos', link: '/get-started/videos' },
{ text: '--------------------------------' },
{ text: 'Installation', link: '/get-started/installation' },
{ text: 'Upgrade', link: '/get-started/upgrade' },
{ text: 'Downgrade', link: '/get-started/downgrade' },
{ text: 'Uninstallation', link: '/get-started/uninstallation' },
{ text: '--------------------------------' },
{ text: 'Concepts', link: '/get-started/concepts',
collapsed: true,
items: [
{ text: 'Screenshots', link: '/get-started/screenshots' },
{ text: 'Videos', link: '/get-started/videos' },
]
},
{ text: 'Team', link: '/get-started/team' },
{ text: 'Support', link: '/get-started/support' },
{ text: 'Sponsors', link: '/get-started/sponsors' },
Expand Down Expand Up @@ -492,32 +501,11 @@ export default defineConfig({
link: '/api-reference/authorization',
},
...sidebar.generateSidebarGroups({
/**
* Optionally, you can filter paths by a prefix. Default is an empty string.
*/
startsWith: 'operations',

/**
* Optionally, you can specify if the sidebar items are collapsible. Default is true.
*/
collapsible: true,

/**
* Optionally, you can specify a depth for the sidebar items. Default is 6, which is the maximum VitePress sidebar depth.
*/
depth: 6,

/**
* Optionally, you can specify a link prefix for all generated sidebar items. Default is `/operations/`.
*/
linkPrefix: '/api-reference/api/operations/',

/**
* Optionally, you can specify a template for the sidebar items. You can see the default value
* in `sidebarItemTemplate` function in the `useSidebar` composable.
*/
//sidebarItemTemplate: (method: string, path: string): string => `[${method}] ${path}`,
}),
}).map((group) => ({
...group,
collapsed: true
}))
],
},
{
Expand Down Expand Up @@ -603,7 +591,7 @@ export default defineConfig({
},
// Map ssh to ssh-config
languageAlias: {
ssh: 'ssh-config'
ssh: 'ssh-config',
}
},

Expand All @@ -612,9 +600,26 @@ export default defineConfig({
vite: {
plugins: [
yaml as any,
llms({
llmsDir: './'
})
llmstxt({
ignoreFiles: [
'/docs/api-reference/api/**/*',
'**/api-reference/api/**/*'
],
}),
groupIconVitePlugin({
customIcon: {
bruno: 'vscode-icons:file-type-bruno',
curl: 'simple-icons:curl',
},
defaultLabels: [
'bruno',
'curl',
'.ts',
'.js',
'.py',
'.php',
],
}),
],
assetsInclude: ['**/*.yml'],
build: {
Expand Down
7 changes: 3 additions & 4 deletions docs/.vitepress/theme/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import "./scrollbar.css";
// import "./custom.css";
import "./tailwind.postcss";
import "vitepress-openapi/dist/style.css";
import 'virtual:group-icons.css'

// Import plugins
import { enhanceAppWithTabs } from "vitepress-plugin-tabs/client";
Expand Down Expand Up @@ -45,13 +46,11 @@ export default {
enhanceApp({ app, router, siteData }) {
enhanceAppWithTabs(app);

const openapi = useOpenapi({
useOpenapi({
spec,
base: "/docs/api-reference/api/operations/",
label: "API",
});

theme.enhanceApp({ app, openapi });
theme.enhanceApp({ app });
app.component("Card", Card);
app.component("CardGroup", CardGroup);
app.component("LandingSection", Sections);
Expand Down
1 change: 1 addition & 0 deletions docs/api-reference/api/operations/[operation].md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ const themeConfig = {
lang: 'bruno',
label: 'Bruno',
highlighter: 'plaintext',
icon: 'bruno',
},
...useTheme().getCodeSamplesAvailableLanguages(),
],
Expand Down
29 changes: 27 additions & 2 deletions docs/applications/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ pm.min_spare_servers = 4 # To reduce memory/CPU usage, change to 1.
pm.max_spare_servers = 32 # To reduce memory/CPU usage, change to 3.
pm.start_servers = 18 # To reduce memory/CPU usage, change to 2.
clear_env = no
php_admin_value[post_max_size] = 35M
php_admin_value[upload_max_filesize] = 30M
'''

"nginx.template.conf" = '''
Expand Down Expand Up @@ -211,8 +213,6 @@ http {
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include $!{nginx}/conf/fastcgi_params;
include $!{nginx}/conf/fastcgi.conf;

fastcgi_param PHP_VALUE "upload_max_filesize=30M \n post_max_size=35M";
}

location ~ /\.(?!well-known).* {
Expand Down Expand Up @@ -269,6 +269,31 @@ stdout_logfile=/var/log/worker-inertia-ssr.log
'''
```

### Persistent php.ini customizations

If you want to customize settings from your php.ini file, you can easily do so by using the `php_admin_value` directive and appending them to your `php-fpm.conf` file like this:

```toml
"php-fpm.conf" = '''
[www]
listen = 127.0.0.1:9000
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 50
pm.min_spare_servers = 4
pm.max_spare_servers = 32
pm.start_servers = 18
clear_env = no

php_admin_value[memory_limit] = 512M
php_admin_value[max_execution_time] = 60
php_admin_value[max_input_time] = 60
php_admin_value[post_max_size] = 256M
'''
```

## Deploy with Dockerfile and Nginx Unit

Expand Down
28 changes: 27 additions & 1 deletion docs/applications/symfony.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,30 @@ You might need to configure the [trusted proxy](https://symfony.com/doc/current/
framework:
trusted_proxies: "%env(TRUSTED_PROXIES)%"
trusted_headers: ['x-forwarded-for', 'x-forwarded-host', 'x-forwarded-proto', 'x-forwarded-port', 'x-forwarded-prefix']
```
```

### Persistent php.ini customizations

If you want to customize settings from your php.ini file, you can easily do so by using the `php_admin_value` directive and appending them to your `php-fpm.conf` file like this:

```toml
"php-fpm.conf" = '''
[www]
listen = 127.0.0.1:9000
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 50
pm.min_spare_servers = 4
pm.max_spare_servers = 32
pm.start_servers = 18
clear_env = no

php_admin_value[memory_limit] = 512M
php_admin_value[max_execution_time] = 60
php_admin_value[max_input_time] = 60
php_admin_value[post_max_size] = 256M
'''
```
2 changes: 1 addition & 1 deletion docs/get-started/contribute/coolify.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ If you change environment variables afterwards or anything seems broken, press C

::: info Tip:
To enable Telescope, add the following to your `.env` file:
```env
```yaml
TELESCOPE_ENABLED=true
```
:::
Expand Down
2 changes: 1 addition & 1 deletion docs/get-started/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Coolify delivers unbeatable advantages for developers who want to self-host. Her
| **Quick Setup** | Start hosting in minutes with minimal maintenance required. |
| **User-Friendly Interface** | Manage your infrastructure through a clean, simple dashboard designed for developers. |
| **100% Open Source** | Review the code, contribute to development, and help shape the platform’s future. |
| **Active Community** | Join over 13,000 people on Discord and 145,000+ servers running Coolify worldwide. |
| **Active Community** | Join over 14,000 people on Discord and 161,000+ servers running Coolify worldwide. |


## Getting Started with Coolify
Expand Down
Loading
Loading