Skip to content

Instantly share code, notes, and snippets.

@huyxdong
Last active April 28, 2024 11:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save huyxdong/937384844b1e8e798d1a0edc176f7cc4 to your computer and use it in GitHub Desktop.
Save huyxdong/937384844b1e8e798d1a0edc176f7cc4 to your computer and use it in GitHub Desktop.
Reinstall OS
version: '3.9'
services:
postgres:
image: postgres
container_name: postgresql
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
ports:
- "5432:5432"
volumes:
- ~/workspace/docker-data/postgresql:/var/lib/postgresql/data
networks:
- docker-network-dev
timescale-ha:
image: timescale/timescaledb-ha:pg15-latest
container_name: timescale-ha
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
PGDATA: /var/lib/postgresql/data
ports:
- "5433:5432"
volumes:
- ~/workspace/docker-data/timescale-ha:/home/postgres/pgdata/data
networks:
- docker-network-dev
timescale:
image: timescale/timescaledb:latest-pg16
container_name: timescale
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
ports:
- "5434:5432"
volumes:
- ~/workspace/docker-data/timescale:/var/lib/postgresql/data
networks:
- docker-network-dev
mysql:
image: mysql:latest
container_name: mysql
environment:
MYSQL_DATABASE: 'database'
MYSQL_USER: 'huydx'
MYSQL_PASSWORD: 'huydx'
MYSQL_ROOT_PASSWORD: 'root'
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
ports:
- "3306:3306"
expose:
- "3306"
volumes:
- ~/workspace/docker-data/mysql:/var/lib/mysql
networks:
- docker-network-dev
redis:
image: redis:alpine
container_name: redis
volumes:
- ~/workspace/docker-data/redis:/var/lib/redis
ports:
- "6379:6379"
- "26378:26379"
networks:
- docker-network-dev
mongodb:
image: mongo:latest
container_name: mongo
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: MongoDB202x!
ports:
- "27017:27017"
volumes:
- ~/workspace/docker-data/mongodb:/data/db
networks:
- docker-network-dev
rabbitmq:
image: rabbitmq:management
container_name: rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=guest
- RABBITMQ_DEFAULT_PASS=guest
ports:
- "5672:5672"
- "15672:15672"
networks:
- docker-network-dev
elasticsearch:
image: elasticsearch:8.13.0
container_name: eslasticsearch
environment:
discovery.type: single-node
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
ports:
- "9200:9200"
- "9300:9300"
healthcheck:
test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
interval: 10s
timeout: 10s
retries: 3
networks:
- docker-network-dev
kibana:
image: kibana:8.13.0
container_name: kibana
ports:
- "5601:5601"
depends_on:
- elasticsearch
networks:
- docker-network-dev
networks:
docker-network-dev:
driver: bridge
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install apt-transport-https curl wget neovim git htop btop neofetch tree zip unzip gnome-tweaks libgl1-mesa-glx libjpeg-dev libffi-dev libmysqlclient-dev libpq-dev libfuse2
git config --global user.name huydx
git config --global user.email huyxdong@gmail.com
### INSTALL ZSH ###
sudo apt-get install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
#OH MY ZSH PLUGIN#
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
z
aliases
copypath
copyfile
dircycle
encode64
extract
genpass
safe-paste
debian
)
chsh -s $(which zsh)
export PATH="/home/huydx/.local/bin:$PATH"
# Lazy tools
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
# Add aliases
alias python="python3"
alias lzd="lazydocker"
alias lg="lazygit"
# Ibus bamboo
sudo add-apt-repository ppa:bamboo-engine/ibus-bamboo
sudo apt-get install ibus-bamboo
ibus restart
######## ALL IN ONE DEVTOOL #########
https://mise.jdx.dev/dev-tools/
It can replace pyenv, nvm, gvm ... and much more. Let's check it out!
# docker
sudo apt install docker.io docker-compose
sudo systemctl enable --now docker
sudo groupadd docker
sudo gpasswd -a $USER docker
# ssh
cp -R .ssh to ~/
chmod 600 *
# turn on auto mount partition at startup
Open Disks app -> choose partition needed mount at startup -> right click and choose Edit mount options -> turn off User Session Default and tick Mount at systems startup
# OBS Studio
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install ffmpeg obs-studio
# PG ADMIN 4 (Postgresql) https://www.pgadmin.org/download/pgadmin-4-apt/
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
sudo apt install pgadmin4-desktop
sudo snap install vlc
# REMOVE Pending Update of Snap Store notification and update snap store
https://askubuntu.com/questions/1412575/pending-update-of-snap-store
pkill snap-store
sudo snap refresh snap-store
# Click to minimize or preview
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize-or-previews'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment