Skip to content

Instantly share code, notes, and snippets.

@moon0440
Last active October 3, 2021 22:14
Show Gist options
  • Save moon0440/003f3dcf022cf014d1c3bf5a39c8f976 to your computer and use it in GitHub Desktop.
Save moon0440/003f3dcf022cf014d1c3bf5a39c8f976 to your computer and use it in GitHub Desktop.
#!/bin/bash -x
PASSWORD=$(date +%s | sha256sum | base64 | head -c 32)
# Enable to Remove all docker images and containers before install.
#docker rm --force $(docker ps -a -q)
#docker rmi --force $(docker images -q)
docker run --name postgres -e POSTGRES_PASSWORD=$PASSWORD -d postgres
docker run --name guacd -d guacamole/guacd
docker run --name guacamole \
--link guacd:guacd \
--link postgres:postgres \
-e POSTGRES_DATABASE=guacamole_db \
-e POSTGRES_USER=guacamole_user \
-e POSTGRES_PASSWORD=$PASSWORD \
-d -p 80:8080 guacamole/guacamole
docker exec -ti postgres /bin/bash -c "runuser -l postgres -c 'createdb guacamole_db'"
echo "CREATE USER guacamole_user WITH PASSWORD '$PASSWORD';" > setupdb.sql
echo "GRANT SELECT,INSERT,UPDATE,DELETE ON ALL TABLES IN SCHEMA public TO guacamole_user;" >> setupdb.sql
echo "GRANT SELECT,USAGE ON ALL SEQUENCES IN SCHEMA public TO guacamole_user;" >> setupdb.sql
echo " " >> setupdb.sql
docker cp guacamole:/opt/guacamole/postgresql/schema/001-create-schema.sql 001-create-schema.sql
docker cp guacamole:/opt/guacamole/postgresql/schema/002-create-admin-user.sql 002-create-admin-user.sql
docker cp setupdb.sql postgres:/var/lib/postgresql/setupdb.sql
docker cp 001-create-schema.sql postgres:/var/lib/postgresql/001-create-schema.sql
docker cp 002-create-admin-user.sql postgres:/var/lib/postgresql/002-create-admin-user.sql
docker exec -ti postgres /bin/bash -c "runuser -l postgres -c 'psql -d guacamole_db -f /var/lib/postgresql/setupdb.sql'"
docker exec -ti -e "PGPASSWORD=$PASSWORD" postgres /bin/bash -c "/usr/bin/psql -d guacamole_db -U guacamole_user -f /var/lib/postgresql/001-create-schema.sql"
docker exec -ti -e "PGPASSWORD=$PASSWORD" postgres /bin/bash -c "/usr/bin/psql -d guacamole_db -U guacamole_user -f /var/lib/postgresql/002-create-admin-user.sql"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment