Deploy
Installation
First install the docker and the nvidia-container-toolkit.
Then you can install the Pody server from pip:
pip install "pody[server]"
TIP
If you run the server as a non-root user, please add the user to the docker
group.
For details, refer to the Docker documentation (linux-postinstall).
Start the server
The server stores the data in $PODY_HOME
directory, which is by default ~/.pody
.
To start the server:
pody-server --port 8799
Then by setting appropriate environment variables, you can use the pody-cli to interact with the server.
Managements
Users
To manage users:
pody-user ...
Please refer to --help
for more information.
Configurations
The server configuration is stored in $PODY_HOME/config.toml
file. There are comments in the file to help you understand the options.
This command opens the configuration file in your default editor:
pody-util config
For example, to manage images, you should first pull or build the image, then specify the images to expose to the client by editing the [[images]]
section in the $PODY_HOME/config.toml
file.
Optional: Using Docker network
If you want to allow containers to communicate with each other in a dedicated network (with DNS resolution), you can create a user-defined docker network (e.g. pody-net
) and specify it in the container configuration.
docker network create pody-net
then, set the network
option in the congfiguration file:
network = "pody-net"
Start on boot
To start the server on boot, you can use the pody-util systemd-unit
helper command to generate a systemd service content:
pody-util systemd-unit --port 8799
This will load the current environment variable settings, generate a systemd unit file for the Pody server using current user, and print the content to the standard output. Should put the output to global systemd unit directory, e.g.
pody-util systemd-unit | sudo tee /etc/systemd/system/pody.service
and enable it with:
sudo systemctl daemon-reload && \
sudo systemctl enable pody.service && \
sudo systemctl start pody.service