docker-compose/docker-compose.yml

205 lines
6.7 KiB
YAML

version: "3.8"
networks:
deltachunk-ext:
driver_opts:
com.docker.network.bridge.host_binding_ipv4: "127.0.0.1"
deltachunk-int:
driver_opts:
com.docker.network.bridge.host_binding_ipv4: "127.0.0.1"
services:
nginx:
image: nginx:${NGINX_VERSION}
container_name: nginx
restart: unless-stopped
networks:
- deltachunk-ext
- deltachunk-int
ports:
- "${NGINX_HOST_HTTPS_PORT}:${NGINX_CONTAINER_HTTPS_PORT}"
- "${NGINX_HOST_HTTP_PORT}:${NGINX_CONTAINER_HTTP_PORT}"
volumes:
- "${NGINX_HOST_ETC}:${NGINX_CONTAINER_ETC}:ro"
- "${NGINX_HOST_WEB_ROOT}:${NGINX_CONTAINER_WEB_ROOT}:ro"
- "${NGINX_HOST_CERTS_DIR}:${NGINX_CONTAINER_CERTS_DIR}:ro"
- "${NGINX_HOST_LOG_DIR}:${NGINX_CONTAINER_LOG_DIR}"
- "${NGINX_HOST_CACHE}:${NGINX_CONTAINER_CACHE}"
- "${NGINX_HOST_RUN}:${NGINX_CONTAINER_RUN}"
depends_on:
- gitea
- aprilandtrey
- commento_aprilandtrey
- eldon
- commento_eldon
links:
- gitea
- aprilandtrey
- commento_aprilandtrey
- eldon
- commento_eldon
gitea:
image: gitea/gitea:${GITEA_VERSION}
container_name: gitea
environment:
- USER=${GITEA_USER}
- USER_UID=${GITEA_USER_UID}
- USER_GID=${GITEA_USER_GID}
- GITEA__database__DB_TYPE=${GITEA_DATABASE_TYPE}
- GITEA__database__HOST=${GITEA_DATABASE_HOST}
- GITEA__database__USER=${GITEA_DATABASE_USER}
- GITEA__database__PASSWD=${GITEA_DATABASE_PASS}
- GITEA__database__NAME=${GITEA_DATABASE}
depends_on:
- mariadb
restart: unless-stopped
networks:
- deltachunk-int
ports:
- "${GITEA_CONTAINER_PORT}"
- "${GITEA_HOST_SSH_PORT}:${GITEA_CONTAINER_SSH_PORT}"
volumes:
- "${GITEA_CONTAINER_DATA}/.snapshots/"
- "${GITEA_HOST_DATA}:${GITEA_CONTAINER_DATA}"
- "${GITEA_HOST_SSH_DIR}:${GITEA_CONTAINER_SSH_DIR}"
- "/etc/localtime:/etc/localtime:ro"
links:
- mariadb
aprilandtrey:
image: ghost:${GHOST_VERSION}
container_name: aprilandtrey
environment:
database__client: ${APRILANDTREY_GHOST_DATABASE_CLIENT}
database__connection__host: ${APRILANDTREY_GHOST_DATABASE_HOST}
database__connection__user: ${APRILANDTREY_GHOST_DATABASE_USER}
database__connection__password: ${APRILANDTREY_GHOST_DATABASE_PASS}
database__connection__database: ${APRILANDTREY_GHOST_DATABASE}
url: ${APRILANDTREY_GHOST_URL}
restart: unless-stopped
depends_on:
- mysql
networks:
- deltachunk-int
ports:
- "${APRILANDTREY_GHOST_CONTAINER_PORT}"
links:
- mysql
volumes:
- "${APRILANDTREY_GHOST_HOST_DIR}:${APRILANDTREY_GHOST_CONTAINER_DIR}"
eldon:
image: ghost:${GHOST_VERSION}
container_name: eldon
environment:
database__client: ${ELDON_GHOST_DATABASE_CLIENT}
database__connection__host: ${ELDON_GHOST_DATABASE_HOST}
database__connection__user: ${ELDON_GHOST_DATABASE_USER}
database__connection__password: ${ELDON_GHOST_DATABASE_PASS}
database__connection__database: ${ELDON_GHOST_DATABASE}
url: ${ELDON_GHOST_URL}
restart: unless-stopped
depends_on:
- mysql
networks:
- deltachunk-int
ports:
- "${ELDON_GHOST_CONTAINER_PORT}"
links:
- mysql
volumes:
- "${ELDON_GHOST_CONTAINER_DIR}/.snapshots/"
- "${ELDON_GHOST_HOST_DIR}:${ELDON_GHOST_CONTAINER_DIR}"
commento_aprilandtrey:
image: caroga/commentoplusplus:${COMMENTO_VERSION}
container_name: commento_aprilandtrey
restart: unless-stopped
ports:
- "${APRILANDTREY_COMMENTO_CONTAINER_PORT}"
environment:
COMMENTO_ORIGIN: "${APRILANDTREY_COMMENTO_ORIGIN}"
COMMENTO_PORT: "${APRILANDTREY_COMMENTO_CONTAINER_PORT}"
COMMENTO_POSTGRES: "${APRILANDTREY_COMMENTO_URL}"
COMMENTO_SMTP_HOST: "${GMAIL_HOST}"
COMMENTO_SMTP_USERNAME: "${GMAIL_USER}"
COMMENTO_SMTP_PORT: "${GMAIL_PORT}"
COMMENTO_SMTP_PASSWORD: "${GMAIL_PASS}"
COMMENTO_SMTP_FROM_ADDRESS: "noreply@aprilandtrey.us"
COMMENTO_FORBID_NEW_OWNERS: "true"
COMMENTO_AKISMET_KEY: "${COMMENTO_AKISMET_API_KEY}"
networks:
- deltachunk-int
depends_on:
- postgresdb
commento_eldon:
image: caroga/commentoplusplus:${COMMENTO_VERSION}
container_name: commento_eldon
restart: unless-stopped
ports:
- "${ELDON_COMMENTO_CONTAINER_PORT}"
environment:
COMMENTO_ORIGIN: "${ELDON_COMMENTO_ORIGIN}"
COMMENTO_PORT: "${ELDON_COMMENTO_CONTAINER_PORT}"
COMMENTO_POSTGRES: "${ELDON_COMMENTO_URL}"
COMMENTO_SMTP_HOST: "${GMAIL_HOST}"
COMMENTO_SMTP_USERNAME: "${GMAIL_USER}"
COMMENTO_SMTP_PORT: "${GMAIL_PORT}"
COMMENTO_SMTP_PASSWORD: "${GMAIL_PASS}"
COMMENTO_SMTP_FROM_ADDRESS: "noreply@eldon.me"
COMMENTO_FORBID_NEW_OWNERS: "true"
COMMENTO_AKISMET_KEY: "${COMMENTO_AKISMET_API_KEY}"
networks:
- deltachunk-int
depends_on:
- postgresdb
mariadb:
image: mariadb:${MARIADB_VERSION}
container_name: mariadb
restart: unless-stopped
networks:
- deltachunk-int
environment:
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
ports:
- "${MARIADB_CONTAINER_PORT}"
volumes:
- "${MARIADB_CONTAINER_DATA_DIR}/.snapshots/"
- "${MARIADB_HOST_DATA_DIR}:${MARIADB_CONTAINER_DATA_DIR}"
- "${MARIADB_HOST_LOG_DIR}:${MARIADB_CONTAINER_LOG_DIR}"
- "${MARIADB_HOST_CONF}:${MARIADB_CONTAINER_CONF}:ro"
- "${MARIADB_HOST_INIT}:${MARIADB_CONTAINER_INIT}:ro"
mysql:
image: mysql:${MYSQLDB_VERSION}
container_name: mysql
restart: unless-stopped
environment:
- MYSQL_USER=${MYSQL_USER}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
networks:
- deltachunk-int
ports:
- "${MYSQLDB_CONTAINER_PORT}"
volumes:
- "${MYSQLDB_CONTAINER_DATA_DIR}/.snapshots/"
- "${MYSQLDB_HOST_DATA_DIR}:${MYSQLDB_CONTAINER_DATA_DIR}"
- "${MYSQLDB_HOST_LOG_DIR}:${MYSQLDB_CONTAINER_LOG_DIR}"
- "${MYSQLDB_HOST_CONF}:${MYSQLDB_CONTAINER_CONF}:ro"
- "${MYSQLDB_HOST_INIT}:${MYSQLDB_CONTAINER_INIT}:ro"
postgresdb:
image: postgres:${POSTGRES_VERSION}
container_name: postgresdb
restart: unless-stopped
shm_size: "256MB"
networks:
- deltachunk-int
environment:
POSTGRES_PASSWORD: "${POSTGRES_PASS}"
POSTGRES_USER: "${POSTGRES_USER}"
PGDATA: "${POSTGRES_CONTAINER_DIR}"
ports:
- "${POSTGRES_CONTAINER_PORT}"
volumes:
- "${POSTGRES_HOST_DIR}:${POSTGRES_CONTAINER_DIR}"
- "${POSTGRES_HOST_INIT}:${POSTGRES_CONTAINER_INIT}:ro"
- "${POSTGRES_HOST_ETC}:${POSTGRES_CONTAINER_ETC}:ro"
- "${POSTGRES_PASSWD}:${POSTGRES_CONTAINER_PASSWD}:ro"