A light Docker control tool designed around compose and swarm
Project description
Postal
A light Docker control tool designed around compose and swarm
Documentation
PyPi Package
Getting Started
Postal requires that you have python >= 3.6, docker, and docker-compose installed. Postal is designed for use on Linux.
Installing Client
To install:
pip install docker-postal
For the console script to be installed you may need to install with:
pip install --user docker-postal
Or unfortunately if (~/.local/bin) is not on your system path:
sudo pip install docker-postal
Installing Service
To install the postal server, you must first setup a secure S3 bucket to store configurations.
S3 Bucket
To setup S3, create a secure, private, encrypted bucket. Then create user to access this bucket with the following permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::example-bucket-name/*",
"arn:aws:s3:::example-bucket-name"
]
}
]
}
Postal Service
The postal service runs an openssh server than enables remote access to the docker daemon/swarm.
On swarm manager, login to a docker repository where images will be pushed and retrieved:
docker login
Create postal config folder and add an authorized key:
mkdir /data/postal
touch /data/postal/authorized_keys
chmod 600 /data/postal/authorized_keys
sudo chown -R root:root /data/postal
sudo nano /data/postal/authorized_keys # paste in your public key and save
Clone postal repository:
git clone https://github.com/obe-de/postal
cd postal
Create an environment file:
nano stack/production.env
Then paste:
POSTAL_AWS_BUCKET=example-bucket-name
POSTAL_AWS_REGION=us-east-2
AWS_ACCESS_KEY_ID=YOURKEY
AWS_SECRET_ACCESS_KEY=yoursecret
Deploy postal stack:
docker stack rm postal # (optional)
docker build -t postal:latest -f stack/postal/Dockerfile .
docker stack deploy -c stack/production.yml postal
Check that everything is working:
docker service ls | grep postal
(Optional) Check that you can exec bash in the container:
docker exec -it $(docker ps -aqf "name=postal_postal") bash
Login from the client:
postal login -u root -a yourdomain -p 5020
Todo
- Don't use disk backed temp files for RPC input / output
- Deploy from git origin
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file docker-postal-0.0.7.tar.gz.
File metadata
- Download URL: docker-postal-0.0.7.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.19.5 CPython/3.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93a1128905844b09b91e72798f614254d9016e421ac2587aac0ea56233b1baff
|
|
| MD5 |
cd7b6adb7a0334f1acdad24bb21185a2
|
|
| BLAKE2b-256 |
33dd46443a61cd457eb937381eff3ddf279c3e7a7882baed23f88931e92a75ee
|