Skip to content

Commit

Permalink
Merge pull request #726 from maxking/compose-plugin
Browse files Browse the repository at this point in the history
Migrate to using compose plugin and healthchecks.
  • Loading branch information
maxking authored Oct 4, 2024
2 parents 2644f1a + 706bec7 commit 3486d4d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,16 +107,16 @@ $ docker inspect --format '{{json .Config.Labels }}' mailman-web | python -m jso
## Dependencies

- Docker
- Docker-compose
- Docker-compose-plugin

To install these on Ubuntu/Debian:

```
$ sudo apt install docker.io docker-compose
$ sudo apt install docker.io docker-compose-plugin
```

For other systems, you can read the official Docker documentation to install
[Docker from here][5] and [docker-compose from here][6].
[Docker from here][5] and [docker compose from here][6].


## Configuration
Expand Down Expand Up @@ -239,7 +239,7 @@ $ mkdir -p /opt/mailman/web
$ git clone https://github.com/maxking/docker-mailman
$ cd docker-mailman
# Change some configuration variables as mentioned above.
$ docker-compose up -d
$ docker compose up -d
```

Note that the web frontend in the mailman-web container is, by default, only
Expand Down Expand Up @@ -453,7 +453,7 @@ If you have been using the default search indexing engine, you might have to
re-index emails using the following command:

```bash
$ docker-compose exec mailman-web ./manage.py rebuild_index
$ docker compose exec mailman-web ./manage.py rebuild_index
```

This command can take some time if you a lot of emails, so please be patient!
Expand Down
11 changes: 9 additions & 2 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ services:
links:
- database:database
depends_on:
- database
database:
condition: service_healthy
environment:
- DATABASE_URL=postgresql://mailman:mailmanpass@database/mailmandb
- DATABASE_TYPE=postgres
Expand All @@ -30,7 +31,8 @@ services:
hostname: mailman-web
restart: unless-stopped
depends_on:
- database
database:
condition: service_healthy
links:
- mailman-core:mailman-core
- database:database
Expand All @@ -54,6 +56,11 @@ services:
image: postgres:12-alpine
volumes:
- /opt/mailman/database:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready --dbname mailmandb --username mailman"]
interval: 10s
timeout: 5s
retries: 5
networks:
mailman:

Expand Down
6 changes: 3 additions & 3 deletions tests/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ set -e
# If the DB environment variable is not set, use postgres.x
if [ "$DB" = "postgres" ] || [ -z $DB ]
then
docker-compose -f docker-compose.yaml -f tests/docker-test.yaml up -d
docker compose -f docker-compose.yaml -f tests/docker-test.yaml up -d
elif [ "$DB" = "mysql" ]
then
docker-compose -f docker-compose-mysql.yaml -f tests/docker-test.yaml up -d
docker compose -f docker-compose-mysql.yaml -f tests/docker-test.yaml up -d
fi

# Print the IP Addresses of the Containers.
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mailman-core
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mailman-web

# Make sure all the containers are running.
docker-compose ps
docker compose ps

# Sleep for a while and check again if the containers are up.
sleep 60
Expand Down

0 comments on commit 3486d4d

Please sign in to comment.