Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akretion/docky
Docky - Helper for docker-compose mainly used in odoo context
https://github.com/akretion/docky
devops docker docker-compose docky odoo
Last synced: 3 days ago
JSON representation
Docky - Helper for docker-compose mainly used in odoo context
- Host: GitHub
- URL: https://github.com/akretion/docky
- Owner: akretion
- License: agpl-3.0
- Created: 2015-02-03T22:13:58.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-21T14:04:21.000Z (2 months ago)
- Last Synced: 2024-12-14T04:05:01.687Z (10 days ago)
- Topics: devops, docker, docker-compose, docky, odoo
- Language: Python
- Homepage:
- Size: 375 KB
- Stars: 56
- Watchers: 26
- Forks: 31
- Open Issues: 10
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Introduction
=================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
.. code-block:: shell
pip install docky
# or with pipx : pipx install docky --include-depsUpdate Docky
-------------.. code-block:: shell
pip install docky --upgrade
# or with pipx : pipx upgrade docky --include-depsUsage: labels
-------------The label docky.main.service and docky.user
.. code-block:: shell
docky.main.service: odoo
docky.user: odooAllows 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:.. code-block:: yaml
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:
- traefiknetworks:
traefik:
name: traefikMore 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/6151Changelog
----------
version 9.0.0
- Migration from docker-compose to docker composeversion 8.0.0
- remove docky initversion 7.0.7
- update copier depency
- adapt readmeversion 7.0.6
- update copier dep to 6.0.0a9
- remove dead code (old template)version 7.0.5
- fix requirements.txtversion 7.0.4
- use `copier` for managing the template
- drop python 3.5 supportversion 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 refactoringversion 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 openversion 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