Add ttyd
This commit is contained in:
6
remote/ttyd/.env.example
Normal file
6
remote/ttyd/.env.example
Normal file
@@ -0,0 +1,6 @@
|
||||
DOMAIN_NAME=
|
||||
SUBDOMAIN=
|
||||
TAG=
|
||||
GENERIC_TIMEZONE=
|
||||
IP_ADDRESS=
|
||||
TERM=xterm-256color
|
||||
20
remote/ttyd/Dockerfile
Normal file
20
remote/ttyd/Dockerfile
Normal file
@@ -0,0 +1,20 @@
|
||||
FROM tsl0922/ttyd:alpine
|
||||
|
||||
# Install ping and ssh client
|
||||
RUN apk update && apk add --no-cache \
|
||||
iputils \
|
||||
openssh-client \
|
||||
curl \
|
||||
bind-tools \
|
||||
bash-completion \
|
||||
coreutils
|
||||
|
||||
RUN rm -rf /var/cache/apk/*
|
||||
|
||||
RUN addgroup -g 1000 ttyd && \
|
||||
adduser -D -u 1000 -G ttyd tty
|
||||
|
||||
USER 1000:1000
|
||||
|
||||
# Set default command to start ttyd with bash
|
||||
CMD ["ttyd", "/bin/bash"]
|
||||
45
remote/ttyd/compose.yml
Normal file
45
remote/ttyd/compose.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
services:
|
||||
ttyd:
|
||||
build:
|
||||
context: .
|
||||
network: host
|
||||
image: ttyd:alpine
|
||||
container_name: ttyd
|
||||
hostname: ttyd
|
||||
restart: unless-stopped
|
||||
command: ["ttyd", "-W", "-o", "-u", "1000", "-g", "1000", "bash"]
|
||||
stdin_open: true
|
||||
tty: true
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.$SUBDOMAIN.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
|
||||
- traefik.http.routers.$SUBDOMAIN.tls=true
|
||||
- traefik.http.routers.$SUBDOMAIN.entrypoints=web,websecure
|
||||
- traefik.http.routers.$SUBDOMAIN.tls.certresolver=cloudflare
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.SSLRedirect=true
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.STSSeconds=315360000
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.browserXSSFilter=true
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.contentTypeNosniff=true
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.forceSTSHeader=true
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.SSLHost=${DOMAIN_NAME}
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.STSIncludeSubdomains=true
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.STSPreload=true
|
||||
- traefik.http.middlewares.$SUBDOMAIN.headers.frameDeny=true
|
||||
- traefik.http.routers.$SUBDOMAIN.middlewares=authentik-forwardauth@docker
|
||||
# - traefik.http.routers.$SUBDOMAIN.middlewares=$SUBDOMAIN@docker
|
||||
- traefik.http.services.$SUBDOMAIN.loadbalancer.server.port=7681
|
||||
- traefik.docker.network=jump
|
||||
env_file:
|
||||
- .env
|
||||
# volumes:
|
||||
networks:
|
||||
jump:
|
||||
lan:
|
||||
ipv4_address: $IP_ADDRESS
|
||||
user: "1000:1000"
|
||||
# volumes:
|
||||
networks:
|
||||
jump:
|
||||
external: true
|
||||
lan:
|
||||
external: true
|
||||
Reference in New Issue
Block a user