awesome-media-center

所属分类:Docker
开发工具:Dockerfile
文件大小:0KB
下载次数:0
上传日期:2023-08-03 09:03:55
上 传 者sh-1993
说明:  媒体中心使用docker与Traefik、Portainer、Nextcloud和Emby组合。,
(Media center using docker-compose with Traefik, Portainer, Nextcloud and Emby.,)

文件列表:
emby/ (0, 2023-08-03)
emby/docker-compose.yml (1274, 2023-08-03)
furSousa/ (0, 2023-08-03)
furSousa/docker-compose.yml (2732, 2023-08-03)
jenkins/ (0, 2023-08-03)
jenkins/Dockerfile (314, 2023-08-03)
jenkins/docker-compose.yml (1230, 2023-08-03)
nextcloud/ (0, 2023-08-03)
nextcloud/docker-compose.yml (1543, 2023-08-03)
portainer/ (0, 2023-08-03)
portainer/docker-compose.yml (1248, 2023-08-03)
traefik/ (0, 2023-08-03)
traefik/data/ (0, 2023-08-03)
traefik/data/acme.json (0, 2023-08-03)
traefik/data/config.yml (85, 2023-08-03)
traefik/data/traefik.yml (385, 2023-08-03)
traefik/docker-compose.yml (1467, 2023-08-03)
transmission/ (0, 2023-08-03)
transmission/docker-compose.yml (1348, 2023-08-03)

## awesome-media-center

alt text

Media center using docker-compose with Traefik, Portainer, Nextcloud and Emby. ## Overview Traefik acts as a reverse proxy to expose the running docker containers, exposes ports 80 and 443. Port 80 redirects all the requests to 443, to enforce HTTPS. Services are registered as dynamic DNS entries in the host machine, that maps a subdomain for the respective container ip. Additionally, each service is SSL certified, managed by Traefik using Letsencrypt. ## Prerequisites * Domain, with the subdomains registered * Server * Docker and docker-compose ## Installation Each of the services is represented by a docker stack, containing a *docker-compose.yml*. For the installation to be more manageable, the only two service deployed by docker cli are [traefik](https://github.com/snackk/awesome-media-center/blob/master/#traefik) and [portainer](https://github.com/snackk/awesome-media-center/blob/master/#portainer). The remaining services will be deployed using [portainer](https://github.com/snackk/awesome-media-center/blob/master/#portainer) to easily manage the stacks. First, run trafik: ```sh $ cd trafik $ docker-compose pull && docker-compose up -d ``` Next, run the portainer: ```sh $ cd portainer $ docker-compose pull && docker-compose up -d ``` Now, that portainer is already up and running, we just add the stacks on portainer dashboard, by adding each of the docker-compose files. Any issue with the installation should refer to the [problems](https://github.com/snackk/awesome-media-center/blob/master/#problems) section. ### Traefik On the *docker-compose.yml* one should change the property *basicauth.users*. The password should be generated by *htpasswd*, and for each character "$" should be escaped by inserting another "$" character. #### Traefik upgrade ```sh $ docker pull traefik $ cd traefik $ docker stop traefik $ docker rm traefik $ docker-compose up -d ``` ### Portainer Should be deployed using portainer under stacks. #### Portainer upgrade ```sh $ docker pull portainer/portainer-ce $ cd portainer $ docker stop portainer $ docker rm portainer $ docker-compose up -d ``` ### Nextcloud Should be deployed using portainer under stacks. To setup wizard requires the following credentials: * *user* - nextcloud * *password* - secret * *database* - nextcloud * *host* - db:3306 #### Nextcloud upgrade Since nextcloud is managed by the Portainer, we could just recreate the stack, and portainer will automatically fetch the latest image and recreate it. ```sh $ docker pull nextcloud/nextcloud $ cd nextcloud $ docker stop nextcloud $ docker rm nextcloud $ docker-compose up -d ``` ### Emby Should be deployed using portainer under stacks. The volumes should be changed to match the wanted mount. The *UID* and *GID* on the environment are described in the section [User ID and Group ID](https://github.com/snackk/awesome-media-center/blob/master/#user). #### Emby upgrade Since emby is managed by the Portainer, we could just recreate the stack, and portainer will automatically fetch the latest image and recreate it. ```sh $ docker pull emby/emby $ cd emby $ docker stop emby $ docker rm emby $ docker-compose up -d ``` #### Emby Backup This command will backup the config folder from emby, mounted as an external volume, and create a backup.tar file in your home folder. ```sh $ cd ~ $ docker run --rm --volumes-from emby -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /config ``` #### Emby Restore Backup On a new container from the same host machine or a different host, you can recreate the same volume as backup by the previous command. ```sh $ cd ~ $ docker run --rm --volumes-from emby -v $(pwd):/backup ubuntu bash -c "cd /config && tar xvf /backup/backup.tar --strip 1" ``` ### Transmission Should be deployed using portainer under stacks. The volumes should be changed to match the wanted mount. The *PUID* and *PGID* on the environment are described in the section [User ID and Group ID](https://github.com/snackk/awesome-media-center/blob/master/#user). #### Transmission upgrade Since transmission is managed by the Portainer, we could just recreate the stack, and portainer will automatically fetch the latest image and recreate it. ```sh $ docker pull transmission/transmission $ cd transmission $ docker stop transmission $ docker rm transmission $ docker-compose up -d ``` ### User ID and Group ID With the user you're running docker run: ```sh $ id -u ``` returns UID for the user, and ```sh $ id -g ``` returns GID for the user. ## Problems Permissions on *data/acme.json* are too open then run: ```sh $ chmod 600 acme.json ``` Written by [@snackk](https://github.com/snackk/awesome-media-center/blob/master/https://github.com/snackk)

近期下载者

相关文件


收藏者