Added listmonk
This commit is contained in:
parent
6c8f25623e
commit
231e80cc81
29
README.md
29
README.md
|
@ -5,6 +5,8 @@ A preconfigured docker compose with awesome open source tool :
|
|||
- a postgresql database with pgadmin
|
||||
- **hasura** : provide a graphql api on postgresql database and all services listed above
|
||||
- **n8n** : an automation tools
|
||||
- **umami** : open source analytics
|
||||
- **listmonk** : newsletters management
|
||||
|
||||
## Configuring pgAdmin
|
||||
|
||||
|
@ -13,11 +15,16 @@ A preconfigured docker compose with awesome open source tool :
|
|||
|
||||
## Used ports
|
||||
|
||||
- pgadmin : `5050`
|
||||
- hasura : `8080`
|
||||
- pgadmin : 5050
|
||||
- hasura : 8080
|
||||
- n8n : 5678
|
||||
- umami : 3333
|
||||
- listmonk : 9000
|
||||
|
||||
## Hasura console
|
||||
|
||||
Doc : https://hasura.io/docs
|
||||
|
||||
Launch console from local :
|
||||
|
||||
hasura console --admin-secret $ADMIN_PASSWORD
|
||||
|
@ -25,3 +32,21 @@ Launch console from local :
|
|||
hausar console --no-browser --admin-secret $ADMIN_PASSWORD
|
||||
|
||||
Alternatively, you can uncomment `admin_secret` in file `hasura/config.yaml` and set your password.
|
||||
|
||||
## n8n
|
||||
|
||||
Doc : https://docs.n8n.io
|
||||
|
||||
## Umami
|
||||
|
||||
Doc : https://umami.is/docs
|
||||
|
||||
Default administrator account username `admin` and the password `umami`.
|
||||
|
||||
## Listmonk
|
||||
|
||||
Doc : https://listmonk.app/docs
|
||||
|
||||
After launched `docker compose up -d`, at the first install we need to populate the database :
|
||||
|
||||
docker-compose run --rm listmonk ./listmonk --install
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
[app]
|
||||
# Interface and port where the app will run its webserver. The default value
|
||||
# of localhost will only listen to connections from the current machine. To
|
||||
# listen on all interfaces use '0.0.0.0'. To listen on the default web address
|
||||
# port, use port 80 (this will require running with elevated permissions).
|
||||
address = "0.0.0.0:9000"
|
||||
|
||||
# BasicAuth authentication for the admin dashboard. This will eventually
|
||||
# be replaced with a better multi-user, role-based authentication system.
|
||||
# IMPORTANT: Leave both values empty to disable authentication on admin
|
||||
# only where an external authentication is already setup.
|
||||
admin_username = "listmonk"
|
||||
admin_password = "listmonk"
|
||||
|
||||
# Database.
|
||||
[db]
|
||||
host = "postgres"
|
||||
port = 5432
|
||||
user = "adminuser"
|
||||
password = "rootpassword"
|
||||
|
||||
# Ensure that this database has been created in Postgres.
|
||||
database = "listmonk"
|
||||
|
||||
ssl_mode = "disable"
|
||||
max_open = 25
|
||||
max_idle = 25
|
||||
max_lifetime = "300s"
|
|
@ -0,0 +1,15 @@
|
|||
services:
|
||||
listmonk:
|
||||
container_name: $APP_NAME-listmonk
|
||||
image: listmonk/listmonk:latest
|
||||
restart: always
|
||||
ports:
|
||||
- 9000:9000
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- ./config.toml:/listmonk/config.toml
|
||||
environment:
|
||||
- TZ=$GENERIC_TIMEZONE
|
||||
command: /bin/sh -c "./listmonk --install --idempotent --yes && ./listmonk --upgrade --yes && ./listmonk"
|
|
@ -17,21 +17,30 @@ else
|
|||
echo "SETUP INFO: No Environment variables given!"
|
||||
fi
|
||||
|
||||
# Create n8n table
|
||||
# Create n8n database
|
||||
if [ -n "$N8N_DB" ] && [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
||||
# echo $N8N_SCHEMA $POSTGRES_USER $POSTGRES_NON_ROOT_USER;
|
||||
psql -v ON_ERROR_STOP=1 -U "$POSTGRES_USER" -d "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE DATABASE ${N8N_DB:-n8n};
|
||||
GRANT ALL PRIVILEGES ON DATABASE ${N8N_DB:-n8n} TO $POSTGRES_NON_ROOT_USER;
|
||||
EOSQL
|
||||
echo "SETUP n8n database: $N8N_DB"
|
||||
echo "CREATE $N8N_DB database"
|
||||
fi
|
||||
|
||||
# Create umami table
|
||||
# Create umami database
|
||||
if [ -n "$UMAMI_DB" ] && [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
||||
psql -v ON_ERROR_STOP=1 -U "$POSTGRES_USER" -d "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE DATABASE ${UMAMI_DB};
|
||||
GRANT ALL PRIVILEGES ON DATABASE ${UMAMI_DB} TO $POSTGRES_NON_ROOT_USER;
|
||||
EOSQL
|
||||
echo "SETUP umami database: $UMAMI_DB"
|
||||
echo "CREATE $UMAMI_DB database"
|
||||
fi
|
||||
|
||||
# Create listmonk database
|
||||
if [ -n "$LISTMONK_DB" ] && [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
||||
psql -v ON_ERROR_STOP=1 -U "$POSTGRES_USER" -d "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE DATABASE ${LISTMONK_DB};
|
||||
GRANT ALL PRIVILEGES ON DATABASE ${LISTMONK_DB} TO $POSTGRES_NON_ROOT_USER;
|
||||
EOSQL
|
||||
echo "CREATE $LISTMONK_DB database"
|
||||
fi
|
|
@ -13,6 +13,7 @@ services:
|
|||
- POSTGRES_NON_ROOT_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD:-$POSTGRES_PASSWORD}
|
||||
- N8N_DB
|
||||
- UMAMI_DB
|
||||
- LISTMONK_DB
|
||||
volumes:
|
||||
- postgres_storage:/var/lib/postgresql/data
|
||||
- ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
|
||||
|
|
|
@ -2,7 +2,7 @@ services:
|
|||
umami:
|
||||
image: ghcr.io/umami-software/umami:postgresql-latest
|
||||
ports:
|
||||
- 3000:3000
|
||||
- 3333:3000
|
||||
environment:
|
||||
DATABASE_URL: postgres://${POSTGRES_NON_ROOT_USER:-$ADMIN_USER}:${POSTGRES_NON_ROOT_PASSWORD:-$POSTGRES_PASSWORD}@postgres:5432/${UMAMI_DB:-umami}
|
||||
DATABASE_TYPE: postgresql
|
||||
|
|
|
@ -37,6 +37,11 @@ services:
|
|||
file: composes/umami/umami.yml
|
||||
service: umami
|
||||
|
||||
listmonk:
|
||||
extends:
|
||||
file: composes/listmonk/listmonk.yml
|
||||
service: listmonk
|
||||
|
||||
volumes:
|
||||
postgres_storage:
|
||||
redis_storage:
|
||||
|
|
Loading…
Reference in New Issue