Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
sygal-db-image
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
open-source
docker
sygal-db-image
Commits
93d3f714
Commit
93d3f714
authored
3 years ago
by
Bertrand Gauthier
Browse files
Options
Downloads
Patches
Plain Diff
Passage du nom de la bdd, du user et du password via des variables d'environnement
parent
f2a96da3
No related branches found
No related tags found
No related merge requests found
Pipeline
#10201
passed
3 years ago
Stage: build
Changes
3
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
README.md
+13
-6
13 additions, 6 deletions
README.md
docker-compose.yml
+5
-1
5 additions, 1 deletion
docker-compose.yml
docker/init_user_db.sh
+11
-7
11 additions, 7 deletions
docker/init_user_db.sh
with
29 additions
and
14 deletions
README.md
+
13
−
6
View file @
93d3f714
...
...
@@ -2,9 +2,10 @@
## Script `docker/init_user_db.sh`
Ce script est monté pour être lancé automatiquement au démarrage du container pour...
-
créer une base de données
`sygal`
,
-
créer le user
`ad_sygal`
,
Ce script est lancé automatiquement au démarrage du container pour...
-
créer une base de données dont le nom est fourni par la variable d'environnement
`SYGAL_DB`
;
-
créer un user dont le nom est fourni par la variable d'environnement
`SYGAL_USER`
,
et le mot de passe par la variable
`SYGAL_PASSWORD`
;
-
lancer tous les scripts .sql présents dans le répertoire
`/sql`
de l'image.
## Répertoire `docker/sql` =>
...
...
@@ -44,6 +45,9 @@ Exemple :
docker run
\
--env
POSTGRES_USER
=
postgres
\
--env
POSTGRES_PASSWORD
=
admin
\
--env
SYGAL_DB: sygal
\
--env
SYGAL_USER: ad_sygal
\
--env
SYGAL_PASSWORD: azerty
\
--publish
5432:5432
\
--volume
$PWD
/data/db:/var/lib/postgresql/data
\
--name
sygal-db-container
\
...
...
@@ -51,7 +55,7 @@ sygal-db-image
```
Remarques :
-
Le montage
`
.
/data/db:/var/lib/postgresql/data`
permet de persister la base de données.
-
Le montage
`
$PWD
/data/db:/var/lib/postgresql/data`
permet de persister la base de données.
-
Si vous voulez substituer les scripts SQL de création/peuplement des objets de la base de données par les vôtres,
ajoutez un montage du genre
`--volume $PWD/mes/scripts/sql/:/sql`
.
...
...
@@ -67,9 +71,12 @@ services:
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: admin
SYGAL_DB: sygal
SYGAL_USER: ad_sygal
SYGAL_PASSWORD: azerty
ports:
- 5432:5432
volumes:
- ./d
ata/db:/var/lib/postgresql/data
- ./d
ocker/db/sql/:/sql
- ./d
ocker/db/sql/:/sql # répertoire des scripts de création de la bdd
- ./d
ata/db:/var/lib/postgresql/data # répertoire de où la bdd est persistée
```
This diff is collapsed.
Click to expand it.
docker-compose.yml
+
5
−
1
View file @
93d3f714
...
...
@@ -10,7 +10,11 @@ services:
#POSTGRES_DB: postgres
POSTGRES_USER
:
postgres
POSTGRES_PASSWORD
:
admin
SYGAL_DB
:
sygal
SYGAL_USER
:
ad_sygal
SYGAL_PASSWORD
:
azerty
ports
:
-
5432:5432
volumes
:
-
./data/db:/var/lib/postgresql/data
#- ./docker/db/sql/:/sql # répertoire des scripts de création de la bdd
-
./data/db:/var/lib/postgresql/data
# répertoire de où la bdd est persistée
This diff is collapsed.
Click to expand it.
docker/init_user_db.sh
+
11
−
7
View file @
93d3f714
...
...
@@ -3,6 +3,10 @@ set -e
unset
PGHOST PGPORT PGDATABASE PGUSER PGPASSWORD
# précaution
#echo "SYGAL_DB = $SYGAL_DB"
#echo "SYGAL_USER = $SYGAL_USER"
#echo "SYGAL_PASSWORD = $SYGAL_PASSWORD"
#
# Création de la base 'sygal' et du user 'ad_sygal'.
#
...
...
@@ -11,9 +15,9 @@ export \
PGUSER
=
$POSTGRES_USER
\
ON_ERROR_STOP
=
1
psql
<<
EOF
create database
sygal
with ENCODING = 'UTF-8';
create user
ad_sygal
with encrypted password '
azerty
' NOSUPERUSER NOCREATEDB;
grant all privileges on database
sygal to ad_sygal
;
create database
$SYGAL_DB
with ENCODING = 'UTF-8';
create user
$SYGAL_USER
with encrypted password '
$SYGAL_PASSWORD
' NOSUPERUSER NOCREATEDB;
grant all privileges on database
$SYGAL_DB
to
$SYGAL_USER
;
EOF
#
...
...
@@ -21,9 +25,9 @@ EOF
# NB : il est possible de substituer ces scripts par les vôtres grâce à un volume monter dans `/sql`.
#
export
\
PGDATABASE
=
sygal
\
PGUSER
=
ad_sygal
\
PGPASSWORD
=
azerty
PGDATABASE
=
$SYGAL_DB
\
PGUSER
=
$SYGAL_USER
\
PGPASSWORD
=
$SYGAL_PASSWORD
psql
<<
EOF
CREATE EXTENSION unaccent WITH SCHEMA public;
COMMENT ON EXTENSION unaccent IS 'text search dictionary that removes accents';
...
...
@@ -31,7 +35,7 @@ EOF
#
# Exécution de tous les scripts .sql présents dans le répertoire `/sql`
# pour créer/peupler les objets de la base 'sygal'.
# NB : il est possible de substituer ces scripts par les vôtres grâce à un volume monter dans `/sql`.
# NB : il est possible de substituer ces scripts par les vôtres grâce à un volume
à
monter dans `/sql`.
#
cd
/sql
for
f
in
*
.sql
;
do
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment