version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
version: "3"
services:
db:
image: postgres:11-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: wikijsrocks
POSTGRES_USER: wikijs
logging:
driver: "none"
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
wiki:
image: requarks/wiki:2
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: wikijsrocks
DB_NAME: wiki
restart: unless-stopped
ports:
- "80:3000"
volumes:
db-data:
version: "3"
services:
db:
image: postgres:11-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: wikijsrocks
POSTGRES_USER: wikijs
logging:
driver: "none"
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
wiki:
# Latest image available.
image: requarks/wiki:beta
#image: requarks/wiki:canary
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: wikijsrocks
DB_NAME: wiki
restart: unless-stopped
ports:
- "80:3000"
volumes:
db-data:
ref:
- https://docs.gitlab.com/omnibus/docker/#install-gitlab-using-docker-compose
wget https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/docker/docker-compose.yml
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
# Add any other gitlab.rb configuration here, each on its own line
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
Below is another docker-compose.yml example with GitLab running on a custom HTTP and SSH port.
Notice how the GITLAB_OMNIBUS_CONFIG variables match the ports section:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com:8929'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '8929:8929'
- '2224:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
NOTE: Uses digital ocean's managed SQL instance
While this shows configuration for a DGO SQL instance. Any Managed SQL instance should work fine.
version: '2'
services:
web:
image: odoo:12.0
depends_on:
- pg-db-1-do-user-4185874-0.b.db.ondigitalocean.com
ports:
- "8069:8069"
environment:
- HOST=pg-db-1-do-user-4185874-0.b.db.ondigitalocean.com
- USER=nonadmin
- PASSWORD=ulq1vdxnh3ave8rh
pg-db-1-do-user-4185874-0.b.db.ondigitalocean.com:
image: postgres:10
ports:
- 25060:5432
environment:
- POSTGRES_PORT=25060
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=ulq1vdxnh3ave8rh
- POSTGRES_USER=nonadmin
This script will download and run titra
#!/bin/bash
curl -L https://github.com/faburem/titra/raw/master/docker-compose.yml | ROOT_URL=http://localhost:3000 docker-compose -f - up
Local postgres
#!/bin/bash
volume_dir=postgres_data
postgres_container_name=merc-postgres
password=alexj
#1. Create a folder in a known location for you
#sudo rm -rf ${HOME}/$volume_dir/
mkdir ${HOME}/$volume_dir/
#2. run the postgres image
docker run \
-d \
--name $postgres_container_name \
-e POSTGRES_PASSWORD=$password \
-v ${HOME}/$volume_dir/:/var/lib/postgresql/data \
-p 5432:5432 postgres
## 3. check that the container is running
docker ps
# 4 term into container
docker exec -it $postgres_container_name bash
Setup pgadmin
#!/bin/bash
docker_image=dpage/pgadmin4
pgadmin_container_name=ex-pgadmin
pg_email=email@gmail.com
pg_password=qwerty
docker pull $docker_image
docker run \
-p 80:80 \
-e PGADMIN_DEFAULT_EMAIL=$pg_email \
-e PGADMIN_DEFAULT_PASSWORD=$pg_password \
--name $pgadmin_container_name \
-d $docker_image
#check running
docker ps
# check ip addr of postgres container
docker inspect merc-postgres -f "{{json .NetworkSettings.Networks }}"
#### login creds:
# http://localhost:80
# username: email@gmail.com
# password: qwerty
## postgres ip addr from output
# IPAddress":"111.13.0.2"
Setup local MongoDB Database
docker-compose up
~/Dockerfile
FROM mongo:latest
# install Python 3
RUN apt-get update && apt-get install -y python3 python3-pip
RUN apt-get -y install python3.8-dev
RUN pip3 install pymongo
EXPOSE 27017
~/docker-compose.yml
version: '3.7'
services:
mongo_db:
build:
context: ./
dockerfile: Dockerfile.mongodb
volumes:
- $PWD/data_mongo:/data/db
- $PWD/data_mongo:/var/www/html
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 123
https://www.elastic.co/guide/en/kibana/current/docker.html
https://rigorousthemes.com/blog/best-kibana-dashboard-examples/
For local dev:
docker network create elastic
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.3.3
docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t docker.elastic.co/elasticsearch/elasticsearch:8.3.3
version: '2'
services:
kibana:
image: docker.elastic.co/kibana/kibana:8.3.3
environment:
SERVER_NAME: kibana.example.org
ELASTICSEARCH_HOSTS: '["http://es01:9200","http://es02:9200","http://es03:9200"]'
example 1:
https://jinnabalu.com/Elasticsearch-Kibana-using-Docker-Compose/
https://jinnabalu.com/Elasticsearch-Single-Node-using-Docker-Compose/
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.1
container_name: elasticsearch
environment:
- node.name=ws-es-node
- discovery.type=single-node
- cluster.name=ws-es-data-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
# - xpack.security.enabled='false'
# - xpack.monitoring.enabled='false'
# - xpack.watcher.enabled='false'
# - xpack.ml.enabled='false'
# - http.cors.enabled='true'
# - http.cors.allow-origin="*"
# - http.cors.allow-methods=OPTIONS, HEAD, GET, POST, PUT, DELETE
# - http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type, Content-Length
# - logger.level: debug
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- vibhuviesdata:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9300:9300
networks:
- esnet
kibana:
image: docker.elastic.co/kibana/kibana:7.3.1
container_name: kibana
environment:
SERVER_NAME: 127.0.0.1
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
# XPACK_GRAPH_ENABLED: false
# XPACK_ML_ENABLED: false
# XPACK_REPORTING_ENABLED: false
# XPACK_SECURITY_ENABLED: false
# XPACK_WATCHER_ENABLED: false
ports:
- "5601:5601"
networks:
- esnet
depends_on:
- elasticsearch
restart: "unless-stopped"
volumes:
vibhuviesdata:
driver: local
networks:
esnet: