Skip to main content

Make developpement with docker simply

Project description

docky is a dev tool to set up and run multiple odoo projects.

History & motivation

This project was initially created for building Odoo environments without effort based on docker-compose and docker.

Main features

Simplify docker-compose CLI with few short cuts.

Requirements

docker-ce : https://docs.docker.com/install/ (or podman)

Installation

Docky is available from pypi

pip install docky
# or with pipx : pipx install docky --include-deps

Update Docky

pip install docky --upgrade
# or with pipx : pipx upgrade docky --include-deps

Usage: labels

The label docky.main.service and docky.user

docky.main.service: odoo
docky.user: odoo

Allows you to define the main service of your docker-compose.yml file, and to specify the command line user for the container when you run for example ‘docky run’.

Usage: recommendations

  • Use ak to build your project.

  • When developing, if you are on several projects at once, it quickly becomes a mess to manage different ports of your containers. We recommend usage of Traefik. Here is an example docker-compose.yml file for local development purposes:

version: "3.7"
services:
    traefik:
    image: "traefik:v2.1"
    restart: always
    container_name: "traefik"
    command:
        - "--api.insecure=true"
        - "--providers.docker=true"
        - "--providers.docker.exposedbydefault=false"
        - "--entrypoints.web.address=:80"
    ports:
        - "127.0.0.1:80:80"
        - "127.0.0.1:8080:8080"
    volumes:
        - "/var/run/docker.sock:/var/run/docker.sock:ro"
    networks:
    - traefik

networks:
    traefik:
        name: traefik

More info about Traefik config on this repo: https://github.com/akretion/traefik-template

Troubleshooting

To avoid issues with line wrapping with “docky open” please use a version of docker > to 18.06.0-ce see : https://github.com/docker/compose/issues/6151

Changelog

version 9.0.0 - Migration from docker-compose to docker compose

version 8.0.0 - remove docky init

version 7.0.7 - update copier depency - adapt readme

version 7.0.6 - update copier dep to 6.0.0a9 - remove dead code (old template)

version 7.0.5 - fix requirements.txt

version 7.0.4 - use copier for managing the template - drop python 3.5 support

version 7.0.0

  • remove the need of docky config file in $HOME

  • use .env to be more compatible with docker-compose

  • improve templates

  • create init command

  • heavy refactoring

version 6.0.0

  • refactor remove proxy code and use traefik

  • remove docky.yml now you must use labels on services (see doc)

  • add option “–service=myservice” on docky run and docky open

version 5.0.0:

  • Resolve mac compatibility by remove proxy code that use a mounted version of etc/hosts now you need to install dnsmasq. This should also solve windows compatibilty by using the local dns https://stackoverflow.com/questions/138162/wildcards-in-a-windows-hosts-file?answertab=votes#tab-top

  • Solve issue with project name in multi user env (the name is based on user + directory name)

  • Add possibility to specify the service for run, open, logs, kill, down, restart, start cmd for example now you can do “docky open db” to open a terminal on the db server or you can restart a service like “docky restart varnish”

  • Solve issue with missing aliases name

  • Solve issue with missing environment variable with docky open (now we use a monkey-pacthed version of docker-compose exec)

  • Fix documentation build

  • Improve docky none specific cmd to a project to be run without project. For example, you can use docky help, docky proxy outside of a directory project

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docky-9.0.4.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docky-9.0.4-py34+-none-any.whl (20.9 kB view details)

Uploaded Python 3.4+

File details

Details for the file docky-9.0.4.tar.gz.

File metadata

  • Download URL: docky-9.0.4.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docky-9.0.4.tar.gz
Algorithm Hash digest
SHA256 5ea5fcf84fc16c4aea96281be1e4912ee35cccc96413f542ca521547ad2ce159
MD5 f24d2ef089ee13e49842d8c0b24fcd32
BLAKE2b-256 3fa579dcc104fcae2921785970c10283612b77901af3fdcaa3fc2809e799b552

See more details on using hashes here.

File details

Details for the file docky-9.0.4-py34+-none-any.whl.

File metadata

  • Download URL: docky-9.0.4-py34+-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3.4+
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docky-9.0.4-py34+-none-any.whl
Algorithm Hash digest
SHA256 3c2fbb0405000538def88d12ac12430a896c0046880c7ad7589478614948c6d3
MD5 ffb771c68b3d0e9cfe360adeb5e604ce
BLAKE2b-256 6ee4f127e158441e6c36343d4063116b064b948740ad17bd9097fdfb400748a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page