From 7ca4c0ae3e20dec58b914fd61d25a3bd97d41204 Mon Sep 17 00:00:00 2001 From: Michael Manfre Date: Wed, 14 Dec 2022 21:44:50 -0500 Subject: [PATCH] --- docker-compose.yml | 78 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..271b9b8 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,78 @@ +version: "3.7" + +x-takahe-common: + &takahe-common + image: manfre/takahe-dev:emoji + volumes: + - $PWD/.env:/takahe/.env + networks: + - web + - dbnet + depends_on: + - db + environment: + - "TAKAHE_CACHES_DEFAULT=pymemcache://memcache:11211" + +services: + db: + container_name: takahe-db + image: docker.io/postgres:15-alpine + healthcheck: + test: ['CMD', 'pg_isready', '-U', 'postgres'] + volumes: + - $PWD/pgdata:/var/lib/postgresql/data + networks: + - dbnet + restart: always + environment: + - POSTGRES_USER=$PGUSER + - POSTGRES_PASSWORD=$PGPASSWORD + - POSTGRES_DB=$PGDATABASE + + memcache: + container_name: takahe-cache + image: memcached:1.6-alpine + networks: + - dbnet + restart: always + expose: + - "11211" + + web: + <<: *takahe-common + container_name: takahe-web + restart: always + expose: + - "8000" + + stator: + <<: *takahe-common + container_name: takahe-stator + restart: always + command: ["/takahe/manage.py", "runstator"] + + setup: + <<: *takahe-common + container_name: takahe-setup + networks: + - dbnet + restart: on-failure + command: ["/takahe/manage.py", "migrate"] + + collectstatic: + <<: *takahe-common + container_name: takahe-collectstatic + command: ["/takahe/manage.py", "collectstatic", "--no-input"] + volumes: + - $PWD/static-collected:/takahe/static-collected + - $PWD/.env:/takahe/.env + networks: + - dbnet + restart: on-failure + +networks: + dbnet: + internal: true + web: + name: caddy_web + external: true