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
|
- a postgresql database with pgadmin
|
||||||
- **hasura** : provide a graphql api on postgresql database and all services listed above
|
- **hasura** : provide a graphql api on postgresql database and all services listed above
|
||||||
- **n8n** : an automation tools
|
- **n8n** : an automation tools
|
||||||
|
- **umami** : open source analytics
|
||||||
|
- **listmonk** : newsletters management
|
||||||
|
|
||||||
## Configuring pgAdmin
|
## Configuring pgAdmin
|
||||||
|
|
||||||
|
@ -13,11 +15,16 @@ A preconfigured docker compose with awesome open source tool :
|
||||||
|
|
||||||
## Used ports
|
## Used ports
|
||||||
|
|
||||||
- pgadmin : `5050`
|
- pgadmin : 5050
|
||||||
- hasura : `8080`
|
- hasura : 8080
|
||||||
|
- n8n : 5678
|
||||||
|
- umami : 3333
|
||||||
|
- listmonk : 9000
|
||||||
|
|
||||||
## Hasura console
|
## Hasura console
|
||||||
|
|
||||||
|
Doc : https://hasura.io/docs
|
||||||
|
|
||||||
Launch console from local :
|
Launch console from local :
|
||||||
|
|
||||||
hasura console --admin-secret $ADMIN_PASSWORD
|
hasura console --admin-secret $ADMIN_PASSWORD
|
||||||
|
@ -25,3 +32,21 @@ Launch console from local :
|
||||||
hausar console --no-browser --admin-secret $ADMIN_PASSWORD
|
hausar console --no-browser --admin-secret $ADMIN_PASSWORD
|
||||||
|
|
||||||
Alternatively, you can uncomment `admin_secret` in file `hasura/config.yaml` and set your 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!"
|
echo "SETUP INFO: No Environment variables given!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create n8n table
|
# Create n8n database
|
||||||
if [ -n "$N8N_DB" ] && [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
if [ -n "$N8N_DB" ] && [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
||||||
# echo $N8N_SCHEMA $POSTGRES_USER $POSTGRES_NON_ROOT_USER;
|
# echo $N8N_SCHEMA $POSTGRES_USER $POSTGRES_NON_ROOT_USER;
|
||||||
psql -v ON_ERROR_STOP=1 -U "$POSTGRES_USER" -d "$POSTGRES_DB" <<-EOSQL
|
psql -v ON_ERROR_STOP=1 -U "$POSTGRES_USER" -d "$POSTGRES_DB" <<-EOSQL
|
||||||
CREATE DATABASE ${N8N_DB:-n8n};
|
CREATE DATABASE ${N8N_DB:-n8n};
|
||||||
GRANT ALL PRIVILEGES ON DATABASE ${N8N_DB:-n8n} TO $POSTGRES_NON_ROOT_USER;
|
GRANT ALL PRIVILEGES ON DATABASE ${N8N_DB:-n8n} TO $POSTGRES_NON_ROOT_USER;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo "SETUP n8n database: $N8N_DB"
|
echo "CREATE $N8N_DB database"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create umami table
|
# Create umami database
|
||||||
if [ -n "$UMAMI_DB" ] && [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
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
|
psql -v ON_ERROR_STOP=1 -U "$POSTGRES_USER" -d "$POSTGRES_DB" <<-EOSQL
|
||||||
CREATE DATABASE ${UMAMI_DB};
|
CREATE DATABASE ${UMAMI_DB};
|
||||||
GRANT ALL PRIVILEGES ON DATABASE ${UMAMI_DB} TO $POSTGRES_NON_ROOT_USER;
|
GRANT ALL PRIVILEGES ON DATABASE ${UMAMI_DB} TO $POSTGRES_NON_ROOT_USER;
|
||||||
EOSQL
|
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
|
fi
|
|
@ -13,6 +13,7 @@ services:
|
||||||
- POSTGRES_NON_ROOT_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD:-$POSTGRES_PASSWORD}
|
- POSTGRES_NON_ROOT_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD:-$POSTGRES_PASSWORD}
|
||||||
- N8N_DB
|
- N8N_DB
|
||||||
- UMAMI_DB
|
- UMAMI_DB
|
||||||
|
- LISTMONK_DB
|
||||||
volumes:
|
volumes:
|
||||||
- postgres_storage:/var/lib/postgresql/data
|
- postgres_storage:/var/lib/postgresql/data
|
||||||
- ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
|
- ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
|
||||||
|
|
|
@ -2,7 +2,7 @@ services:
|
||||||
umami:
|
umami:
|
||||||
image: ghcr.io/umami-software/umami:postgresql-latest
|
image: ghcr.io/umami-software/umami:postgresql-latest
|
||||||
ports:
|
ports:
|
||||||
- 3000:3000
|
- 3333:3000
|
||||||
environment:
|
environment:
|
||||||
DATABASE_URL: postgres://${POSTGRES_NON_ROOT_USER:-$ADMIN_USER}:${POSTGRES_NON_ROOT_PASSWORD:-$POSTGRES_PASSWORD}@postgres:5432/${UMAMI_DB:-umami}
|
DATABASE_URL: postgres://${POSTGRES_NON_ROOT_USER:-$ADMIN_USER}:${POSTGRES_NON_ROOT_PASSWORD:-$POSTGRES_PASSWORD}@postgres:5432/${UMAMI_DB:-umami}
|
||||||
DATABASE_TYPE: postgresql
|
DATABASE_TYPE: postgresql
|
||||||
|
|
|
@ -37,6 +37,11 @@ services:
|
||||||
file: composes/umami/umami.yml
|
file: composes/umami/umami.yml
|
||||||
service: umami
|
service: umami
|
||||||
|
|
||||||
|
listmonk:
|
||||||
|
extends:
|
||||||
|
file: composes/listmonk/listmonk.yml
|
||||||
|
service: listmonk
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
postgres_storage:
|
postgres_storage:
|
||||||
redis_storage:
|
redis_storage:
|
||||||
|
|
Loading…
Reference in New Issue