2025-10-26 13:12:41 -07:00
2025-02-18 21:58:51 -08:00
2025-09-19 20:15:09 -07:00
2025-03-02 14:27:10 -08:00
2024-08-27 16:13:40 -07:00
2025-03-08 14:46:44 -08:00
2025-09-19 20:15:09 -07:00
2025-02-23 11:51:39 -08:00
2025-09-19 20:15:09 -07:00
2025-02-12 14:38:52 -08:00
2025-09-19 20:15:09 -07:00
2025-09-20 02:01:59 -07:00
2025-09-19 20:15:09 -07:00
2025-09-26 16:52:03 -07:00
2025-03-02 16:04:09 -08:00
2025-09-19 20:15:09 -07:00
2025-03-02 14:27:10 -08:00
2025-09-19 20:15:09 -07:00
2025-09-19 20:15:09 -07:00
2025-09-03 14:41:13 -07:00
2025-01-06 11:11:49 -08:00
2025-02-19 17:37:59 -08:00
2025-09-19 20:15:09 -07:00
2025-06-17 15:36:39 -07:00
2025-01-06 11:11:49 -08:00
2025-03-02 14:27:10 -08:00
2025-01-06 11:11:49 -08:00
2025-03-11 21:30:14 -07:00
2025-03-02 14:27:10 -08:00
2025-03-30 13:50:03 -07:00
2025-09-19 20:15:09 -07:00
2025-02-25 20:29:58 -08:00
2025-09-19 20:15:09 -07:00
2025-03-02 16:04:09 -08:00
2025-10-16 20:11:20 -07:00
2025-10-04 16:02:15 -07:00
2025-03-02 16:04:09 -08:00
2025-09-18 21:22:12 -07:00
2025-09-21 12:30:22 -07:00
2025-02-24 14:45:51 -08:00
2025-05-07 13:25:05 -07:00
2025-09-19 20:15:09 -07:00
2025-09-19 20:15:09 -07:00
2025-09-19 20:15:09 -07:00
2024-04-24 10:44:57 -07:00
2025-09-03 13:36:17 -07:00
2025-05-07 13:29:27 -07:00
2025-09-03 13:47:57 -07:00
2025-03-02 21:15:04 -08:00
2025-09-19 20:15:09 -07:00
2025-09-03 13:36:04 -07:00
2025-10-26 13:12:41 -07:00
2025-06-21 11:00:22 -07:00
2025-09-19 20:15:09 -07:00
2025-01-06 11:11:49 -08:00
2025-02-27 12:57:54 -08:00
2025-03-02 21:15:04 -08:00
2025-03-02 21:15:04 -08:00
2025-09-19 20:15:09 -07:00
2025-10-26 13:12:41 -07:00
2025-10-26 13:12:41 -07:00
2025-10-25 14:00:28 -07:00

Description of SVG

👤 Author: Nick Yeoman.

Docker Compose file collection reference with the intent of running in production.

Requirements and Support

  • Minimum Docker Engine: 20.10.0
  • Minimum Docker Compose CLI: v2.0.0

🤔 Assumptions

These compose files make a few assumptions:

  1. You are only running on one host.
  2. You are using Nginx Proxy Manager (although most have redundant port access).
  3. Volumes are stored in the project folder under "data", git ignored and backed up externally.

📚 Workflow

The intended workflow is as follows:

  1. Copy cookbook.env to .env of your project
  2. Copy the docker-compse.yml file to your project
  3. Concatonate the sample.env to .env in your project
  4. OPTIONAL: concatonate network.yml into your docker-compose.yml

You may have to use multiple containers, such as Maria or postgres for db.

Docker Compose Template

Adopting an order/template to the docker compose files as follows:

# [App Name] Docker Compose Template (e.g., CORXN)

services:
  [service-name]:
    image: ${APPNAME_IMAGE_NAME:-user/name:latest}
    restart: ${APPNAME_RESTART:-unless-stopped}
    volumes:  # Templated with VOL_PATH, CONFIG_PATH or LOG_PATH
      - ${VOL_PATH:-./data}/appname/dir:/data
      - ${CONFIG_PATH:-./config}/appname/dir:/config
      - ${LOG_PATH:-./logs}/appname/dir:/var/logs
      - /etc/localtime:/etc/localtime:ro
    environment:  # Grouped: Universal first, app-specific after
      - TZ=${TZ:-UTC}
      - [APP_VAR1]=${[APP_VAR1]:-default}
      - [APP_VAR2]=${[APP_VAR2]:-default}
    ports: # Can remove this for proxy
      - "${APP_PORT:-9999}:9999"
    networks:
      - proxy
      - internal
    network_mode: "host"
    depends_on:
      - [db-service]  # e.g., mariadb
    healthcheck:  # Optional: App-specific
      test: ["CMD", "curl", "-f", "http://localhost:[port]"]
      interval: 30s
      timeout: 10s
      retries: 3
    labels:  # Optional
      - "traefik.enable=false"
    command:  # Override entrypoint if needed
    user: "1000:1000"  # Non-root

Decisions

container_name

As we are going to rely on COMPOSE_PROJECT_NAME to create our project names, container_name has been left out of the template intentionally.

Paths

I use 3 Paths strategies:

  1. VOL_PATH, usually ./data is a data directory that is not in git, backed up externally.
  2. CONFIG_PATH usually ./config is stored in git (text files)
  3. LOG_PATH, usually ./logs is not stored in git or backed up.

Similar Projects

S
Description
Backup copy
Readme
757 KiB
Languages
Python 31.8%
Shell 29.6%
HTML 22.7%
Dockerfile 15.9%