Skip to content

Commit 9f0c801

Browse files
committed
feat: run cleanup and add reverse proxy docs
1 parent f733657 commit 9f0c801

File tree

7 files changed

+96
-44
lines changed

7 files changed

+96
-44
lines changed

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ jobs:
3434
remote_host: ${{ secrets.DEPLOY_HOST }}
3535
remote_user: ${{ secrets.DEPLOY_USER }}
3636
remote_key: ${{ secrets.DEPLOY_KEY }}
37-
remote_port: ${{ secrets.DEPLOY_PORT }}
37+
remote_port: ${{ secrets.DEPLOY_PORT }}

docs/install/server/docker.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ services:
2929
container_name: termix
3030
restart: unless-stopped
3131
ports:
32-
- "8080:8080"
32+
- '8080:8080'
3333
volumes:
3434
- termix-data:/app/data
3535
environment:
36-
PORT: "8080"
36+
PORT: '8080'
3737

3838
volumes:
3939
termix-data:
@@ -69,11 +69,11 @@ services:
6969
container_name: termix
7070
restart: unless-stopped
7171
ports:
72-
- "8080:8080"
72+
- '8080:8080'
7373
volumes:
7474
- termix-data:/app/data
7575
environment:
76-
PORT: "8080"
76+
PORT: '8080'
7777

7878
volumes:
7979
termix-data:

docs/install/server/manual.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,11 @@ services:
8383
container_name: termix
8484
restart: unless-stopped
8585
ports:
86-
- "8080:8080"
86+
- '8080:8080'
8787
volumes:
8888
- termix-data:/app/data
8989
environment:
90-
PORT: "8080"
90+
PORT: '8080'
9191

9292
volumes:
9393
termix-data:

docs/oidc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ identity_providers:
162162
oidc:
163163
claims_policies:
164164
legacy:
165-
id_token: ["email", "email_verified", "preferred_username", "name"]
165+
id_token: ['email', 'email_verified', 'preferred_username', 'name']
166166

167167
authorization_policies:
168168
termix:

docs/reverse-proxy.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Reverse Proxy
2+
3+
Some reverse proxies may need some configuration changes to support Termix
4+
5+
## NGINX
6+
7+
In `nginx.conf` you need to "upgrade" the connection to support websockets using:
8+
9+
```
10+
proxy_set_header Connection 'upgrade';
11+
```
12+
13+
for example:
14+
15+
```
16+
location / {
17+
proxy_pass http://localhost:8080;
18+
19+
proxy_set_header Host $host;
20+
proxy_set_header X-Real-IP $remote_addr;
21+
22+
proxy_http_version 1.1;
23+
proxy_set_header Upgrade $http_upgrade;
24+
proxy_set_header Connection "upgrade";
25+
}
26+
```
27+
28+
## Traefik
29+
30+
If you use Docker, in your `docker-compose.yml` add these labels, filled out as needed:
31+
32+
```
33+
labels:
34+
- "traefik.enable=true"
35+
36+
- "traefik.http.routers.termix.entrypoints=http"
37+
- "traefik.http.routers.termix.rule=Host(`termix.local.domain.com`) || Host(`termix.domain.com`)"
38+
- "traefik.http.middlewares.termix-https-redirect.redirectscheme.scheme=https"
39+
- "traefik.http.routers.termix.middlewares=termix-https-redirect"
40+
41+
- "traefik.http.routers.termix-secure.entrypoints=https"
42+
- "traefik.http.routers.termix-secure.rule=Host(`termix.local.domain.com`) || Host(`termix.domain.com`)"
43+
- "traefik.http.routers.termix-secure.tls=true"
44+
- "traefik.http.routers.termix-secure.tls.certresolver=cloudflare"
45+
- "traefik.http.routers.termix-secure.service=termix"
46+
47+
- "traefik.http.services.termix.loadbalancer.server.port=8080"
48+
49+
- "traefik.docker.network=proxy"
50+
```
51+
52+
## Caddy
53+
54+
Caddy has native WebSocket support so no extra configs should be needed.
55+
56+
```
57+
termix.domain.com {
58+
reverse_proxy localhost:8080
59+
}
60+
```

sidebars.ts

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ const sidebars: SidebarsConfig = {
1313
{
1414
type: 'category',
1515
label: 'Server',
16-
items: [
17-
'install/server/docker',
18-
'install/server/manual',
19-
],
16+
items: ['install/server/docker', 'install/server/manual'],
2017
},
2118
{
2219
type: 'category',
@@ -31,6 +28,11 @@ const sidebars: SidebarsConfig = {
3128
},
3229
],
3330
},
31+
{
32+
type: 'category',
33+
label: 'Setup',
34+
items: ['reverse-proxy']
35+
},
3436
{
3537
type: 'category',
3638
label: 'Features',
@@ -42,29 +44,17 @@ const sidebars: SidebarsConfig = {
4244
{
4345
type: 'category',
4446
label: 'Authentication',
45-
items: [
46-
'oidc',
47-
'totp',
48-
'rbac',
49-
'security',
50-
],
47+
items: ['oidc', 'totp', 'rbac', 'security'],
5148
},
5249
{
5350
type: 'category',
5451
label: 'Networking',
55-
items: [
56-
'tunnels',
57-
'server-stats',
58-
'docker',
59-
'ssl',
60-
],
52+
items: ['tunnels', 'server-stats', 'docker', 'ssl'],
6153
},
6254
{
6355
type: 'category',
6456
label: 'Data',
65-
items: [
66-
'json-import',
67-
],
57+
items: ['json-import'],
6858
},
6959
],
7060
},

src/components/homepage/index.tsx

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,71 +14,71 @@ const FeatureList: FeatureItem[] = [
1414
title: 'SSH Terminal Access',
1515
description: (
1616
<>
17-
Full-featured terminal with split-screen support (up to 4 panels) and tab system.
18-
Customize with themes, fonts, and configurations.
17+
Full-featured terminal with split-screen support (up to 4 panels) and tab system. Customize
18+
with themes, fonts, and configurations.
1919
</>
2020
),
2121
},
2222
{
2323
title: 'Remote File Manager',
2424
description: (
2525
<>
26-
Manage files on remote servers with support for code, images, audio, and video.
27-
Upload, download, rename, delete, and move files seamlessly.
26+
Manage files on remote servers with support for code, images, audio, and video. Upload,
27+
download, rename, delete, and move files seamlessly.
2828
</>
2929
),
3030
},
3131
{
3232
title: 'Docker Management',
3333
description: (
3434
<>
35-
Control containers with start, stop, pause, and remove. View stats and access
36-
docker exec terminals for container management.
35+
Control containers with start, stop, pause, and remove. View stats and access docker exec
36+
terminals for container management.
3737
</>
3838
),
3939
},
4040
{
4141
title: 'SSH Tunnel Management',
4242
description: (
4343
<>
44-
Create and manage SSH tunnels with automatic reconnection and health monitoring
45-
for secure access to remote services.
44+
Create and manage SSH tunnels with automatic reconnection and health monitoring for secure
45+
access to remote services.
4646
</>
4747
),
4848
},
4949
{
5050
title: 'Host & Credentials Manager',
5151
description: (
5252
<>
53-
Save and organize SSH connections with tags, folders, and reusable credentials.
54-
Automate SSH key deployment across servers.
53+
Save and organize SSH connections with tags, folders, and reusable credentials. Automate SSH
54+
key deployment across servers.
5555
</>
5656
),
5757
},
5858
{
5959
title: 'Server Monitoring',
6060
description: (
6161
<>
62-
Monitor CPU, memory, disk usage, network activity, uptime, and system information
63-
on connected servers.
62+
Monitor CPU, memory, disk usage, network activity, uptime, and system information on
63+
connected servers.
6464
</>
6565
),
6666
},
6767
{
6868
title: 'Role-Based Access Control',
6969
description: (
7070
<>
71-
Create roles and share hosts across users. Manage permissions with OIDC, 2FA support,
72-
and a user session system.
71+
Create roles and share hosts across users. Manage permissions with OIDC, 2FA support, and a
72+
user session system.
7373
</>
7474
),
7575
},
7676
{
7777
title: 'Multi-Platform Support',
7878
description: (
7979
<>
80-
Available as a web app, desktop application (Windows, macOS, Linux), and mobile app
81-
with a modern interface.
80+
Available as a web app, desktop application (Windows, macOS, Linux), and mobile app with a
81+
modern interface.
8282
</>
8383
),
8484
},
@@ -87,7 +87,9 @@ const FeatureList: FeatureItem[] = [
8787
function Feature({ title, description }: FeatureItem) {
8888
return (
8989
<div className={styles.featureCard}>
90-
<Heading as="h3" className={styles.featureTitle}>{title}</Heading>
90+
<Heading as="h3" className={styles.featureTitle}>
91+
{title}
92+
</Heading>
9193
<p className={styles.featureDescription}>{description}</p>
9294
</div>
9395
);

0 commit comments

Comments
 (0)