Changelog
Overview
- In app terminal access to your servers re #142
- docker exec into containers re #75
- IMPORTANT: Use
disable_terminals(PERIPHERY_DISABLE_TERMINALS) in periphery config to disable this functionality on particular servers.
Details
-
Server: Adds the
Terminalstab, which allows you to connect to and manage multiple persistent shells on the server.- Uses portable-pty for the pseudoterminal on the backend and xterm.js for the frontend.
- Networked over websockets.
- Supports TUI applications like
htop/ncdu/nvim(and runnables-cli) - Each shell history / active running process is persisted on periphery after the client disconnects, making them suitable for long running tasks (you can run servers from them etc)
- The shell starts as the same linux user that
peripheryruns as.- For
systemctl --userinstalls, you login as your linux user on the host (complete with any custom prompt). - For root systemctl installs, you would login as root linux user. You should consider creating a custom
peripheryuser with intented permissions, and updating yourperiphery.servicesystemctl config to use this user instead: link - For container Periphery, you connect to shell inside periphery container. The functionality will be more limited, but you can still communicate with docker socket in there (its mounted in), and
docker execinto containers
- For
- The terminals can have mutliple Komodo users connected at once, and their view is synced.
- If Periphery is restarted, the Terminal sessions will be lost, as they are child processes of periphery.
- User must be admin or have
Writepermission on Server to connect to terminals - Use
disable_terminals(PERIPHERY_DISABLE_TERMINALS) in periphery config to disable this functionality on particular servers. - Easy access to
docker exec -it(container shell access) from Container page, Terminal tab
-
Deployment / Stack: Adds the Terminal tab to Deployments and Stack services.
- Configurable shell command inside container, eg
shorbash.
- Configurable shell command inside container, eg


