Все статьи
Getting Started
Что такое CICDoo Начало работы: мастер настройки Панель и карта инфраструктурыConcepts
Стадии: продакшн, staging и разработка Домены, поддомены и SSL Версии и редакции Odoo (Community или Enterprise) Воркспейсы и командная работаServers
Добавление сервера Домены сервера и DNS Использование балансировщика нагрузки Действия с сервером: деплой, логи и графики Deleting a serverProjects & Git
Создание проекта Подключение GitHub Project GitHub settings and webhook Подключение GitLab Ветки и инстансы Теги и фильтрация проектов Высокая доступность с узлами приложения Project environments, extensions and deletionInstances & Console
Создание инстанса Перезапуск, остановка и удаление инстанса Слияние веток между стадиями Web IDE и удалённый доступ SSH access to instances Настройки инстанса Деплои и очередь задачAgent Tasks
Что такое задачи агента Настройка задач агента Запуск задачи и разбор результата Время агента и его пополнение Agent insights and task filtersMonitoring & Backups
Мониторинг инстанса Резервные копии и восстановление S3 storage, uploads and bulk backup actions Уведомления об инцидентах (email и SMS)Workspaces & Permissions
Приглашение участников в воркспейс Права участников и доступ к ресурсам Участник не видит ресурс или не может им пользоваться Audit log and server activityAccount & Security
Двухфакторная аутентификация (2FA) Настройки профиля и интеграций Пароли и восстановление доступаBilling & Plans
Тарифы и цены Повышение тарифа и управление подпиской Если подписка на проект не оплачена Партнёрская программа Onboarding a client as a partnerSupport & Tickets
Создание тикета в поддержку Помощь от команды CICDooTroubleshooting
Устранение неполадок: не удаётся подключить сервер Устранение неполадок: деплой завершился ошибкой Устранение неполадок: git push возвращает 403 после переноса репозитория Устранение неполадок: инстанс недоступен или работает медленно Устранение неполадок: проблемы с доменом или SSLИнстансы и консоль
SSH access to instances
How to register an SSH key, switch on user SSH access for a server, and use the Access tab's commands to tunnel to an instance, open a shell in its containers, copy files and connect VS Code.
How SSH access works
Each instance gets its own SSH accounts on its server. When you connect with your registered key, you can only reach that instance: forward its ports to your computer, or open a shell inside its Odoo or PostgreSQL container. You never get a login on the server itself.
Three things must be in place:
- User SSH Access is switched on for the server the instance runs on.
- You have registered at least one SSH key on your account.
- You hold the right permissions on the project (in a workspace).
Switching on SSH access for a server
This is done once per server, by someone who can edit the server.
- Open the Servers page.
- Open the server's Actions menu and click Edit Server.
- Turn on User SSH Access. This lets users with a registered SSH key tunnel to the server's instances and shell into their containers. Your own SSH users and root keys on the server are not touched.
- Click Save Changes.
The server picks up the change on its next sync, usually within five minutes.
Adding your SSH key
- Open Settings and go to the Security tab.
- In the SSH Keys card, click Add SSH Key.
- Enter a Name for the key (for example, Work laptop).
- In Public key, paste the contents of your .pub file, for example ~/.ssh/id_ed25519.pub. Never paste a private key.
- Click Add Key.
The key appears in the list with its type and fingerprint. Servers install new keys within about five minutes. A key reaches only what your permissions already allow.
If you do not have a key yet, create one on your computer with your usual SSH tool (for example ssh-keygen), then paste the contents of the .pub file it creates.
Disabling or removing a key
- Open Settings and go to the Security tab.
- In the SSH Keys card, find the key.
- Click Disable to stop using it for now (it shows as "disabled", and Enable turns it back on), or click Remove and confirm to delete it.
Servers stop accepting a disabled or removed key within a few minutes.
Finding your connection commands
- Open the instance in the Console and click the Access tab.
- Scroll to the SSH Access card.
- Click a command to copy it, then paste it into a terminal on your computer.
The server address in the commands is partly masked on screen, but the copied command contains the real address. If the server uses an SSH port other than 22, the commands already include it.
Instead of commands, the card may show a message:
- "SSH access is not enabled on this server.": turn on User SSH Access for the server, as described above.
- A link "Add a key": you have no SSH key on your account yet.
- "Setting up, nearly there.": your key is not on the server yet. Reload the page after a few minutes.
- "This server could not finish setting up SSH access.": the server reported the error shown under the message. Open a support ticket if it does not clear.
- "Your permissions on this instance do not include SSH access.": ask a workspace admin for the permissions listed below.
Opening a tunnel to the database or Odoo
The Tunnel command forwards the instance's ports to your own computer. It has this shape:
ssh -N -L 15432:127.0.0.1:<postgres-port> -L 18069:127.0.0.1:<odoo-port> <account>@<server>
- Copy the Tunnel command from the SSH Access card and run it in a terminal. It shows no output while the tunnel is open.
- Read the line under the command to see which local port leads where, for example PostgreSQL on 127.0.0.1:15432 and Odoo on 127.0.0.1:18069. Longpolling and IDE ports appear too when you have access to them.
- Point your database client at 127.0.0.1 and the local PostgreSQL port, using the database name and user from the Database Connection card.
- Press Ctrl+C in the terminal to close the tunnel.
The local ports are chosen so they do not clash with an Odoo or PostgreSQL already running on your computer.
Opening a shell in a container
The card shows Shell in the Odoo container and Shell in the PostgreSQL container commands, each with its own account:
ssh -t <account>@<server>
- Copy the command for the container you need.
- Run it in a terminal. You land in a shell inside that container.
- Type exit to leave.
On a high availability replica, the PostgreSQL shell is a read-only standby. An app node has no PostgreSQL shell, because it has no database of its own.
Copying files in or out
The Copy files in or out example shows scp and rsync commands against the Odoo container account:
scp ./file <account>@<server>:/tmp/
rsync -az ./addons/ <account>@<server>:/mnt/extra-addons/
Replace the local paths with your own. scp, rsync, sftp and remote commands all run inside the Odoo container.
Connecting VS Code (Remote-SSH)
- Copy the VS Code Remote-SSH block from the SSH Access card. It is a Host entry whose name ends in -code.
- Paste it into the ~/.ssh/config file on your computer.
- Replace ~/.ssh/your_key with the path to your private key, in both places it appears.
- In VS Code, run "Remote-SSH: Connect to Host" and pick the host name shown under the block.
VS Code then opens a session inside the Odoo container.
Permissions
In a workspace, what the card offers follows your permissions on the project:
- "SSH & database": the tunnel to the Odoo, longpolling and PostgreSQL ports.
- "IDE": the Odoo container shell, file copying, VS Code, and the IDE port in the tunnel.
- Both: the PostgreSQL container shell.
Workspace owners have all of these. Adding or removing a key, or a permission change, takes effect on the server within about five minutes. See Member permissions and resource access.
Related: Web IDE and remote access, Adding a server, A member cannot see or use a resource, Two-factor authentication (2FA).
If you get stuck, open a support ticket from the Tickets page or the chat widget.
Всё ещё не получается? Откройте тикет из приложения или свяжитесь с инженером.