- Docker 1.13.0 or higher (CentOS, Debian, Fedora, Ubuntu, Arch);
docker-compose
, (Linux only, instructions here);- bash to use the convenience scripts in
bin/
; mkcert
for development certificates. Make sure to runmkcert -install
if you want your browser to trust the certificate, and DO NOT export or sharerootCA-key.pem
under any circumstances;- direnv to benefit from automatic
.envrc
management - it's possible to get by without this, but in that case,source .envrc
is required in every new shell, and cleaning up the environment upon leaving the project is the responsibility of the reader.
./bin/install
The project will then be put into a running state.
start
For more commands, see bin/
.
Certificates generated by mkcert
only last a couple years. To make new ones, run update-cert
.
Shell completion for manage
subcommands is available but not automatically managed by direnv
.
To load shell completions, run source load-completions
in each new shell. To unload the loaded completions, run source unload-completions
.
To update the shell completions, for instance when adding/removing installed apps that change the available manage commands, run regenerate-completions && source load-completions
.
Path | Description |
---|---|
bin/ |
Convenience scripts for development. |
docker/ |
Implementation-detail persistent storage and build files for the docker containers. |
docs/ |
Documentation oriented towards developers. |
manual/ |
Documentation oriented towards users. |
requirements/ |
Source of truth for python requirements files, divided by independent subsection. |
src/ |
Source code. |
tests/ |
Test source code only. |
.editorconfig |
Description of code style. |
.envrc |
Developer-specific project configuration. |
.flake8 |
Linting configuration file. |
.gitignore |
Project-wide source control ignores to deal with developer-specific state and cached Python bytecode. |
.installed .built .completions-generated .migrated |
Semaphores for the installation and uninstallation scripts. |
.isort.cfg |
Linting configuration file specifically dealing with import sorting. |
docker-compose.yml |
Project specification. |
example.envrc |
Template project configuration. |