Skip to content
This repository has been archived by the owner on Mar 9, 2021. It is now read-only.

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
thom8 committed Sep 22, 2018
1 parent 2d96f98 commit ff9d338
Show file tree
Hide file tree
Showing 10 changed files with 231 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .ahoy.yml
@@ -0,0 +1,55 @@
---
ahoyapi: v2

commands:
up:
usage: Build project.
cmd: docker-compose up -d "$@"

down:
usage: Delete project.
cmd: docker-compose down

build:
usage: Build project.
cmd: docker-compose up -d --build "$@"

cli:
usage: Start a shell inside TEST container.
cmd: docker-compose exec -T test bash

run:
usage: Run command inside TEST container.
cmd: docker-compose exec -T test bash -c "$@"

drush:
usage: Run drush commands in TEST container.
cmd: docker-compose exec -T test drush "$@"

logs:
usage: Show Docker logs.
cmd: docker-compose logs "$@"

ps:
usage: List running Docker containers.
cmd: docker-compose ps

restart:
usage: Restart Docker containers.
cmd: docker-compose restart

stop:
usage: Stop Docker containers.
cmd: docker-compose stop "$@"

install:
usage: Install the profile.
cmd: docker-compose exec -T test drush si -y govcms "$@"

login:
usage: Login to a website.
cmd: docker-compose exec -T test drush uli "$@"

pull:
usage: Pull latest docker images.
cmd: docker image ls --format \"{{.Repository}}:{{.Tag}}\" | grep govcmslagoon/ | grep -v none | xargs -n1 docker pull | cat
3 changes: 3 additions & 0 deletions .docker/Dockerfile.cli
@@ -0,0 +1,3 @@
FROM govcms/govcms8

COPY themes/ /app/web/themes/custom
9 changes: 9 additions & 0 deletions .docker/Dockerfile.nginx-drupal
@@ -0,0 +1,9 @@
ARG CLI_IMAGE
FROM ${CLI_IMAGE} as cli

FROM govcmslagoon/nginx-drupal

COPY --from=cli /app /app

# Define where the Drupal Root is located
ENV WEBROOT=web
6 changes: 6 additions & 0 deletions .docker/Dockerfile.php
@@ -0,0 +1,6 @@
ARG CLI_IMAGE
FROM ${CLI_IMAGE} as cli

FROM govcmslagoon/php

COPY --from=cli /app /app
3 changes: 3 additions & 0 deletions .docker/Dockerfile.test
@@ -0,0 +1,3 @@
FROM govcms/test

COPY themes/ /app/web/themes/custom
2 changes: 2 additions & 0 deletions .gitignore
@@ -0,0 +1,2 @@
/files
screenshots
1 change: 1 addition & 0 deletions .lagoon.yml
@@ -0,0 +1 @@
docker-compose-yaml: docker-compose.yml
34 changes: 34 additions & 0 deletions README.md
@@ -0,0 +1,34 @@
# GovCMS8 project

## Requirements

* [Docker](https://docs.docker.com/install/)
* [pygmy](https://docs.amazee.io/local_docker_development/pygmy.html#installation) (you might need sudo for this depending on your ruby configuration)
* [Ahoy](http://ahoy-cli.readthedocs.io/en/latest/#installation)


## Setup

1. Checkout project repo and confirm the path is in Docker's file sharing config (https://docs.docker.com/docker-for-mac/#file-sharing):

git clone https://projects.govcms.gov.au/dof/agency.git govcms-agency && cd $_

2. Make sure you don't have anything running on port 80 on the host machine (like a web server):

pygmy up

3. Build and start the containers:

ahoy up

4. Install GovCMS:

ahoy install

5. Login to Drupal:

ahoy login

## Commands

Additional commands are listed in `.ahoy.yml`.
118 changes: 118 additions & 0 deletions docker-compose.yml
@@ -0,0 +1,118 @@
version: '2.3'

x-lagoon-project:
&lagoon-project govcms-saas

x-lagoon-local-dev-url:
&lagoon-local-dev-url http://govcms8.docker.amazee.io

x-volumes:
&default-volumes
volumes:
- ./themes:/app/themes/custom:${VOLUME_FLAGS:-delegated}
- ./files:/app/web/sites/default/files:delegated

x-environment:
&default-environment
LAGOON_PROJECT: *lagoon-project
LAGOON_ROUTE: &default-url ${LOCALDEV_URL:-http://govcms8.docker.amazee.io}

services:

cli:
build:
context: .
dockerfile: .docker/Dockerfile.cli
image: *lagoon-project
labels:
lagoon.type: cli-persistent
lagoon.persistent.name: nginx
lagoon.persistent: /app/web/sites/default/files/
<< : *default-volumes
environment:
<< : *default-environment

test:
build:
context: .
dockerfile: .docker/Dockerfile.test
labels:
lagoon.type: none
<< : *default-volumes
depends_on:
- cli
environment:
<< : *default-environment

nginx:
build:
context: .
dockerfile: .docker/Dockerfile.nginx-drupal
args:
CLI_IMAGE: *lagoon-project
labels:
lagoon.type: nginx-php-persistent
lagoon.persistent: /app/web/sites/default/files/
<< : *default-volumes
depends_on:
- cli
environment:
<< : *default-environment
LAGOON_LOCALDEV_URL: *default-url
networks:
- amazeeio-network
- default

php:
build:
context: .
dockerfile: .docker/Dockerfile.php
args:
CLI_IMAGE: *lagoon-project
labels:
lagoon.type: nginx-php-persistent
lagoon.name: nginx
lagoon.persistent: /app/web/sites/default/files/
<< : *default-volumes
depends_on:
- cli
environment:
<< : *default-environment

mariadb:
image: govcmslagoon/mariadb-drupal
labels:
lagoon.type: mariadb
ports:
- "3306" # Find port on host with `docker-compose port mariadb 3306`
environment:
<< : *default-environment

redis:
image: govcmslagoon/redis
labels:
lagoon.type: redis
environment:
<< : *default-environment

solr:
image: govcmslagoon/solr
labels:
lagoon.type: solr
ports:
- "8983" # Find port on host with `docker-compose port solr 8983`
environment:
<< : *default-environment

chrome:
image: selenium/standalone-chrome
shm_size: '1gb'
depends_on:
- test
labels:
lagoon.type: none
<< : *default-volumes

networks:
amazeeio-network:
external: true
Empty file added themes/.gitkeep
Empty file.

0 comments on commit ff9d338

Please sign in to comment.