728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/piwigo

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : MariaDB 를 Docker 로 설치하여 연동하세요. (ghcr.io/linuxserver/mariadb 이미지 사용)

 

---

version: "2.1"

services:

  piwigo:

    image: ghcr.io/linuxserver/piwigo

    container_name: piwigo

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

    volumes:

      - ./:/config

    ports:

      - 80:80

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/syncthing

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : 아래 코드에서 optional 이라고 되어 있는 부분은 여기(클릭)로 이동해서 내용 참고하세요.

 

---

version: "2.1"

services:

  syncthing:

    image: ghcr.io/linuxserver/syncthing

    container_name: syncthing

    hostname: syncthing #optional

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

    volumes:

      - ./config:/config

      - ./data1:/data1

      - ./data2:/data2

    ports:

      - 8384:8384

      - 22000:22000/tcp

      - 22000:22000/udp

      - 21027:21027/udp

    sysctls:

      - net.core.rmem_max=2097152

    restart: always

728x90

https://nginxproxymanager.com/ 에 있는 내용대로 설치했을때 bad gateway 오류가 납니다.

아래 방법으로 설치하면 오류없이 구동가능합니다.

docker-compose.yml 파일을 아래 코드를 이용해 생성 후 'docker-compose up -d'로 실행하세요.

 

version: "2"

services:

  app:

    image: 'jc21/nginx-proxy-manager:latest'

    restart: always

    ports:

      # Public HTTP Port:

      - '80:80'

      # Public HTTPS Port:

      - '443:443'

      # Admin Web Port:

      - '81:81'

    environment:

      # These are the settings to access your db

      DB_MYSQL_HOST: "db"

      DB_MYSQL_PORT: 3306

      DB_MYSQL_USER: "npm"

      DB_MYSQL_PASSWORD: "npm"

      DB_MYSQL_NAME: "npm"

      DISABLE_IPV6: 'true'

    volumes:

      - ./data:/data

      - ./letsencrypt:/etc/letsencrypt

    depends_on:

      - db

  db:

    image: yobasystems/alpine-mariadb:latest

    restart: always

    environment:

      MYSQL_ROOT_PASSWORD: 'npm'

      MYSQL_DATABASE: 'npm'

      MYSQL_USER: 'npm'

      MYSQL_PASSWORD: 'npm'

    volumes:

      - ./data/mysql:/var/lib/mysql

 

PS : jc21/nginx-proxy-manager 은 MariaDB를 따로 설치해야 하지만 jlesage/nginx-proxy-manager 은 NPM과 DB가 같이 있는 올인원 이미지이므로 이걸 활용해서 설치하는게 좀 더 간편한 방법입니다.

아래는 jlesage/nginx-proxy-manager 이미지를 활용한 설치방법입니다.

 

version: '3'

services:

  nginx-proxy-manager:

    image: jlesage/nginx-proxy-manager

    ports:

      - 8181:8181

      - 8080:8080

      - 4443:4443

    volumes:

      - ./:/config:rw

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/nextcloud

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

 

---

version: "2.1"

services:

  nextcloud:

    image: ghcr.io/linuxserver/nextcloud

    container_name: nextcloud

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

    volumes:

      - ./config:/config

      - ./data:/data

    ports:

      - 443:443

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/nginx

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

 

---

version: "2.1"

services:

  nginx:

    image: ghcr.io/linuxserver/nginx

    container_name: nginx

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

    volumes:

      - ./config:/config

    ports:

      - 80:80

      - 443:443

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/emby

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : 아래 코드에서 optional 이라고 되어 있는 부분은 여기(클릭)로 이동해서 내용 참고하세요.

 

---

version: "2.1"

services:

  emby:

    image: ghcr.io/linuxserver/emby

    container_name: emby

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

    volumes:

      - ./config:/config

      - ./tvshows:/data/tvshows

      - ./movies:/data/movies

      - /opt/vc/lib:/opt/vc/lib #optional

    ports:

      - 8096:8096

      - 8920:8920 #optional

    devices:

      - /dev/dri:/dev/dri #optional

      - /dev/vchiq:/dev/vchiq #optional

      - /dev/video10:/dev/video10 #optional

      - /dev/video11:/dev/video11 #optional

      - /dev/video12:/dev/video12 #optional

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/mariadb

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : 아래 코드에서 optional 이라고 되어 있는 부분은 여기(클릭)로 이동해서 내용 참고하세요.

 

---

version: "2.1"

services:

  mariadb:

    image: ghcr.io/linuxserver/mariadb

    container_name: mariadb

    environment:

      - PUID=1000

      - PGID=1000

      - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD

      - TZ=Asia/Seoul

      - MYSQL_DATABASE=USER_DB_NAME #optional

      - MYSQL_USER=MYSQL_USER #optional

      - MYSQL_PASSWORD=DATABASE_PASSWORD #optional

      - REMOTE_SQL=http://URL1/your.sql,https://URL2/your.sql #optional

    volumes:

      - ./config:/config

    ports:

      - 3306:3306

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/transmission

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : 아래 코드에서 optional 이라고 되어 있는 부분은 여기(클릭)로 이동해서 내용 참고하세요.

 

---

version: "2.1"

services:

  transmission:

    image: ghcr.io/linuxserver/transmission

    container_name: transmission

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

      - TRANSMISSION_WEB_HOME=/transmission-web-control/ #optional

      - USER=username #optional

      - PASS=password #optional

      - WHITELIST=iplist #optional

      - HOST_WHITELIST=dnsnane list #optional

    volumes:

      - ./config:/config

      - ./downloads:/downloads

      - ./watch:/watch

    ports:

      - 9091:9091

      - 51413:51413

      - 51413:51413/udp

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/airsonic

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : 아래 코드에서 optional 이라고 되어 있는 부분은 여기(클릭)로 이동해서 내용 참고하세요.

 

---

version: "2.1"

services:

  airsonic:

    image: ghcr.io/linuxserver/airsonic

    container_name: airsonic

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

      - CONTEXT_PATH=<URL_BASE> #optional

      - JAVA_OPTS=<options> #optional

    volumes:

      - ./config:/config

      - ./music:/music

      - ./playlists:/playlists

      - ./podcasts:/podcasts

      - ./media:/media #optional

    ports:

      - 4040:4040

    devices:

      - /dev/snd:/dev/snd #optional

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/plex

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : 아래 코드에서 optional 이라고 되어 있는 부분은 여기(클릭)로 이동해서 내용 참고하세요.

 

---

version: "2.1"

services:

  plex:

    image: ghcr.io/linuxserver/plex

    container_name: plex

    network_mode: host

    environment:

      - PUID=1000

      - PGID=1000

      - VERSION=docker

      - PLEX_CLAIM= #optional

    volumes:

      - ./config:/config

      - ./tv:/tv

      - ./movies:/movies

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/jellyfin

 

아래 코드로 docker-compose.yml 파일 생성 후 'docker-compose up -d'로 실행하세요.

PS : 아래 코드에서 optional 이라고 되어 있는 부분은 여기(클릭)로 이동해서 내용 참고하세요.

 

---

version: "2.1"

services:

  jellyfin:

    image: ghcr.io/linuxserver/jellyfin

    container_name: jellyfin

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

      - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional

    volumes:

      - ./config:/config

      - ./tvshows:/data/tvshows

      - ./movies:/data/movies

      - /opt/vc/lib:/opt/vc/lib #optional

    ports:

      - 8096:8096

      - 8920:8920 #optional

      - 7359:7359/udp #optional

      - 1900:1900/udp #optional

    devices:

      - /dev/dri:/dev/dri #optional

      - /dev/vcsm:/dev/vcsm #optional

      - /dev/vchiq:/dev/vchiq #optional

      - /dev/video10:/dev/video10 #optional

      - /dev/video11:/dev/video11 #optional

      - /dev/video12:/dev/video12 #optional

    restart: always

728x90

참고 사이트 - https://hub.docker.com/r/linuxserver/wireguard

 

아래 코드로 docker-compose.yml 을 생성한 후 'docker-compose up -d'로 실행하세요.

 

---

version: "2.1"

services:

  wireguard:

    image: ghcr.io/linuxserver/wireguard

    container_name: wireguard

    cap_add:

      - NET_ADMIN

      - SYS_MODULE

    environment:

      - PUID=1000

      - PGID=1000

      - TZ=Asia/Seoul

      - SERVERURL=wireguard.domain.com #optional

      - SERVERPORT=51820 #optional

      - PEERS=pc1, pc2, pc3, pc4, pc5 #optional

      - PEERDNS=auto #optional

      - INTERNAL_SUBNET=10.13.13.0 #optional

      - ALLOWEDIPS=0.0.0.0/0 #optional

    volumes:

      - ./config:/config

      - /lib/modules:/lib/modules

    ports:

      - 51820:51820/udp

    sysctls:

      - net.ipv4.conf.all.src_valid_mark=1

    restart: always

728x90

공식 설명 사이트 - https://learn.netdata.cloud/docs/agent/packaging/docker

 

시스템 모니터링 툴인 Netdata 설치방법입니다.

 

아래 코드로 docker.compose.yml 파일 생성 후 'docker-compose up -d' 로 실행하세요.

 

version: '3'

services:
  netdata:
    image: netdata/netdata
    container_name: netdata
    hostname: netdata
    ports:
      - "19999:19999"
    restart: always
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    environment:
      - PGID=1000
      - PUID=1000
      - TZ=Asia/Seoul
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /etc/group:/host/etc/group:ro
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/os-release:/host/etc/os-release:ro
      - netdataconfig:/etc/netdata
      - netdatalib:/var/lib/netdata
      - netdatacache:/var/cache/netdata

volumes:
  netdataconfig:
  netdatalib:
  netdatacache:
728x90

docker pull bitwardenrs/server:latest

docker run -d –-name bitwarden --restart=always -v /<path to data>:/data/ -p 8888:80 bitwardenrs/server:latest 

 

아래로 변경되었습니다. 아래 코드 사용하세요.

 

docker pull vaultwarden/server:latest

docker run -d --name vaultwarden --restart=always -v /<path to data>:/data -p 8888:80 vaultwarden/server:latest

728x90

※ Nginx 설치

 

① Nginx를 설치합니다.

apt-get install nginx

 

② 만약 방화벽을 사용하고 있다면 포트를 Open해 줍니다.

ufw allow 'Nginx Full'

 

③ 서버 IP로 접속해 Nginx가 잘 동작하는지 확인합니다.

 

※ Nginx 시작, 정지 명령어 

 

① Nginx 시작

systemctl start nginx

 

② Nginx 정지

systemctl stop nginx

 

③ Nginx 재시작

systemctl restart nginx

 

④ Nginx 리로드

systemctl reload nginx

 

⑤ 시스템 부팅시 Nginx 자동 시작

systemctl enable nginx

 

⑥ 시스템 부팅시 Nginx 자동 시작 해제

systemctl disable nginx

 

※ PHP 설치 

 

① php-fpm을 설치합니다.

apt-get install php-fpm

 

② /etc/nginx/sites-available/default 수정 

#location ~ \.php$ {

# include snippets/fastcgi-php.conf;

#

# # With php-fpm (or other unix sockets):

# fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

# # With php-cgi (or other tcp sockets):

# fastcgi_pass 127.0.0.1:9000;

 

#}

 

를 아래와 같이 수정 

 

location ~ \.php$ { 

  include snippets/fastcgi-php.conf;

#

# # With php-fpm (or other unix sockets):

  fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

# # With php-cgi (or other tcp sockets):

# fastcgi_pass 127.0.0.1:9000;

}

 

또한 index.php를 자동 인식하게 하려면

index index.html index.htm index.nginx-debian.html;

 

를 아래와 같이 수정

 

index index.html index.htm index.nginx-debian.html index.php;

 

③ php 정상동작 테스트

/var/www/html 내에 phpinfo.php를 만들고 아래코드를 입력하고 저장

 

<?php phpinfo(); ?>

 

웹브라우저로 서버IP/phpinfo.php 로 접속해 보면 정상동작 확인가능

 

※ MariaDB 설치 

 

① MariaDB와 php-mysql, php-gd을 설치합니다.

apt install mariadb-server php-mysql php-gd

 

② 설정

다음과 같이 명령하여 root 계정 비밀번호 등 몇 가지를 설정합니다.

mysql_secure_installation

 

③ 웹에서 root 계정 사용

웹에서 root 계정을 사용할 수 있게 하려면 수정해야 합니다. MariaDB에 접속합니다.

mysql -u root -p

 

다음을 차례대로 입력합니다.

 

use mysql;

update user set plugin='' where user='root';

flush privileges;

quit;

728x90

공식 홈페이지 : https://containrrr.dev/watchtower/

 

아래 코드로 docker-compose.yml 파일을 만들어 실행합니다.

version: '3'
services:
  watchtower:
    container_name: watchtower
    image: containrrr/watchtower
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Seoul
    command: --cleanup --label-enable --interval 300
    ports:
      - "44444:8080"

 

 

아래는 예전 Code 입니다. 위에 Code 사용하세요. 아래것으로 세팅하세요. 위에 코드 작동 안됨

 

version: "2"

services:

  watchtower:

    image: containrrr/watchtower

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

    environment:

      TZ: Asia/Seoul

      WATCHTOWER_CLEANUP: 'true'

      WATCHTOWER_POLL_INTERVAL: 600

    restart: always

728x90

① Docker 유저 계정권한 부여

sudo usermod -aG docker $USER 

 

② Docker 설치 후 /var/run/docker.sock의 permission denied 발생하는 경우

sudo chmod 666 /var/run/docker.sock 

+ Recent posts