Skip to main content

Docksible

About

Install a Dockerized web app on a given remote VPS, with a single command in your local CLI - powered by Ansible.

Supports SSL, so it's perfect for quick demo servers, or even lightweight production environments.

You can also install on localhost or local VMs, perfect for local experiments with different types of apps.

Features

  • WordPress
  • Joomla
  • Redmine (open source issue tracker)
  • "Custom app" - you simply provide a valid container name (from Docker Hub), and any required app specific environment variables (via --extra-env-vars), and it should work.
  • SSL certs, including test certs
  • SSH proxy to tunnel hidden services like database
  • phpMyAdmin container
  • Hopefully more soon ;-)

Requirements

  • Local: Unix with Python 3.9 or newer. Tested this on Gentoo and Ubuntu Linux. Might work on macOS, but I don't know. Won't work on Windows, because it uses Ansible under the hood, which AFAIK is not supported for Windows.
  • Remote: VPS running Ubuntu, or maybe other Debian based flavor, reachable via SSH. It should probably work on all Debian distros, but I have only tested on Ubuntu.

Installing

Intall with Pip: python -m pip install docksible

Usage

These examples should be self explanatory:

  • docksible user@example.com wordpress --letsencrypt --email admin@example.com
  • docksible user@example.com redmine --letsencrypt --email admin@example.com

Run the --help flag for all supported options.

Using the SSH proxy

You can include a simple SSH proxy into your app's Docker network, by passing the --ssh-proxy flag. This will drop in a small container that you can use to port forward some hidden services, like the database. Here's how to do it:

  • Include --ssh-proxy in the Docksible command (ex: docksible user@host wordpress --ssh-proxy)
  • Set up the proxy service's authorized_keys file. This will be improved in the future, but until then:
    • SSH into your server as root
    • Copy root's .ssh/authorized_keys into docksible-volumes/ssh-proxy-data/
    • Shell into the proxy container, and basically chown -R proxy_user:proxy_user /home/proxy_user. This could also be improved, but for now, just needs to be done once.
  • Now the proxy service is ready to use. For example:
    • Set up the tunnel to proxy the database:
    ssh -p 2222 proxy_user@yourserver.com -L 9000:docksible_db:3306
    
    • Connect to the database:
    mysql -u your_db_user -p --port=9000 --host=localhost --protocol=TCP
    

Metadata

Release files for docksible 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docksible 1.0.1
File Size Uploaded
docksible-1.0.1.tar.gz 17.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docksible 1.0.1
File Interpreter ABI Platform
docksible-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 39.1 kB

Release files / docksible-1.0.1.tar.gz

Download URL docksible-1.0.1.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
905784f7820e4755693a094b7cd4eb9cf4ec417715536b2dca529bd35736955a
BLAKE2b-256 checksum
How to use checksums
d31c971d1e534bf3c28c5b894944138d5ec1d7554d5aa26ab1fb5ad3bfc78ac7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / docksible-1.0.1-py3-none-any.whl

Download URL docksible-1.0.1-py3-none-any.whl
Size 21.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12f45862c0975cd813e6c7ee14272d30ba4c8be40c9d9ff79acc95dc4d057ad0
BLAKE2b-256 checksum
How to use checksums
3ef9a76c32a81dd0f44877e7795e42bb29e1950b42db4624425fbacf51ecb239
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page