kopia lustrzana https://github.com/Haxxnet/Compose-Examples
Porównaj commity
32 Commity
beb34aad09
...
a73d332ef9
Autor | SHA1 | Data |
---|---|---|
LRVT | a73d332ef9 | |
LRVT | 9b067d9a4d | |
LRVT | d6eff70f05 | |
LRVT | 062629540d | |
LRVT | 73e9f7fdb0 | |
LRVT | 2dcf1152bc | |
LRVT | d915b7e8e0 | |
LRVT | d04689242f | |
LRVT | 8d9f7d38f8 | |
LRVT | f633e6eca7 | |
LRVT | b173182554 | |
LRVT | 5f101f5f45 | |
LRVT | a5e5208aad | |
LRVT | 5d0417bfd7 | |
L4RM4ND | 37b5695050 | |
L4RM4ND | 17af40931e | |
L4RM4ND | a4c598b15a | |
L4RM4ND | 550b6cc1c4 | |
L4RM4ND | 30b74fb3eb | |
LRVT | fcddfd45b7 | |
L4RM4ND | 3d5348659e | |
L4RM4ND | d5f1cbc2d4 | |
L4RM4ND | 83e89ccdbb | |
LRVT | 4cce17dddd | |
LRVT | 13a423ba9b | |
LRVT | c3037326d2 | |
LRVT | 6dff501a26 | |
LRVT | 8a3a68f078 | |
LRVT | 20191e85c1 | |
LRVT | 53ffb1133b | |
LRVT | 5e2638aff2 | |
L4RM4ND | 80c58d889a |
|
@ -5,11 +5,13 @@ on:
|
|||
paths-ignore:
|
||||
- 'README.md'
|
||||
- 'examples/**/README.md'
|
||||
- 'docs/**'
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
paths-ignore:
|
||||
- 'README.md'
|
||||
- 'examples/**/README.md'
|
||||
- 'examples/**/README.md'
|
||||
- 'docs/**'
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
|
14
README.md
14
README.md
|
@ -36,8 +36,10 @@ cd <container-of-interest>
|
|||
# read the notes, comments and adjust compose + volumes + configs
|
||||
docker compose up
|
||||
````
|
||||
> [!TIP]
|
||||
> You can find an online web version of this GitHub repository [here](https://haxxnet.github.io/Compose-Examples/).
|
||||
|
||||
> [!WARNING]
|
||||
> [!CAUTION]
|
||||
> The samples are intended for local development environments such as project setups, tinkering with software stacks, etc. These samples may be deployed in production environments or exposed to the Internet but please adhere to general hardening and security guidelines. Adjust all default credentials, use a separate `.env` file or platform for secret management, implement a backup process and have a tested disaster recovery plan. Use a reverse proxy to stream-line your web service exposure and provide an encrypted HTTPS communication channel with trusted SSL certificates.
|
||||
|
||||
## 🐳 Project List
|
||||
|
@ -152,7 +154,7 @@ A [VPN](https://en.wikipedia.org/wiki/Virtual_private_network) is a mechanism fo
|
|||
|
||||
Tools and software for [software project management](https://en.wikipedia.org/wiki/Software_project_management).
|
||||
|
||||
- [JetBrains YouTrack](examples/youtrack) - YouTrack is a proprietary, commercial browser-based bug tracker, issue tracking system and project management software developed by JetBrains.
|
||||
- [JetBrains YouTrack](examples/jetbrains-youtrack) - YouTrack is a proprietary, commercial browser-based bug tracker, issue tracking system and project management software developed by JetBrains.
|
||||
- [Leantime](examples/leantime) - Leantime is an open source project management system for small teams and startups written in PHP, Javascript using MySQL.
|
||||
- [Gitea](examples/gitea) - Community managed fork of Gogs, lightweight code hosting solution.
|
||||
- [Drone](examples/drone) - Drone is a continuous delivery system built on container technology. Drone uses a simple YAML build file, to define and execute build pipelines inside Docker containers.
|
||||
|
@ -167,8 +169,8 @@ Tools and software for [software project management](https://en.wikipedia.org/wi
|
|||
[Automation](https://en.wikipedia.org/wiki/Automation) software designed to reduce human intervention in processes.
|
||||
|
||||
- [n8n](examples/n8n) - Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
|
||||
- [Home Assistant](examples/homeassistant) - Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
|
||||
- [Portainer](examples/portainer-ee) - Portainer is a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters).
|
||||
- [Home Assistant](examples/home-assistant) - Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
|
||||
- [Portainer](examples/portainer) - Portainer is a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters).
|
||||
- [Dockge](https://github.com/louislam/dockge/blob/master/compose.yaml) - A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
|
||||
- [Uptimekuma](examples/uptimekuma) - Uptime Kuma is an easy-to-use self-hosted monitoring tool.
|
||||
- [Changedetection](examples/changedetection) - Self-hosted tool for staying up-to-date with web-site content changes.
|
||||
|
@ -418,7 +420,8 @@ A request bin service allows one to collect and inspect HTTP requests. It may be
|
|||
Multiplayer game servers, browser games and utilities for managing game servers.
|
||||
|
||||
- [cs2-dedicated-server](examples/cs2-dedicated-server) - CS2 Dedicated Server Docker Image with an RCON web-based control panel.
|
||||
|
||||
- [posio](examples/posio) - A multiplayer geography game using Websockets.
|
||||
- [Monkeytype](examples/monkeytype) - The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
|
@ -426,7 +429,6 @@ Multiplayer game servers, browser games and utilities for managing game servers.
|
|||
|
||||
Software that does not fit in another section.
|
||||
|
||||
- [Monkeytype](examples/monkeytype) - The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
|
||||
- [Network-Multitool](examples/network-multitool) - Multi-arch multitool for container network troubleshooting.
|
||||
- [IT-Tools](examples/it-tools) - Collection of handy online tools for developers, with great UX.
|
||||
|
||||
|
|
|
@ -0,0 +1,174 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Haxxnet Compose Viewer</title>
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,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" />
|
||||
<!-- Bootstrap CSS -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" integrity="sha512-t4GWSVZO1eC8BM339Xd7Uphw5s17a86tIZIj8qRxhnKub6WoyhnrxeCIMeAqBPgdZGlCcG2PrZjMc+Wr78+5Xg==" crossorigin="anonymous">
|
||||
<!-- Dark Mode CSS -->
|
||||
<style>
|
||||
body {
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.container {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.project-tile {
|
||||
border: 1px solid #555;
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
margin: 10px;
|
||||
text-align: center;
|
||||
background-color: #2d2c2c;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.project-tile img {
|
||||
max-width: 50px;
|
||||
max-height: 50px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#searchBar {
|
||||
width: 310px;
|
||||
margin: 10px auto;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
color: #fff;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#repoContent .project-tile {
|
||||
width: 20%; /* Set width to 20% for 5 tiles in a row by default */
|
||||
}
|
||||
|
||||
/* Responsive adjustment for small screens */
|
||||
@media (max-width: 576px) {
|
||||
#repoContent .project-tile {
|
||||
width: 40%; /* Set width to 45% for 2 tiles in a row on small screens */
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="container mt-5">
|
||||
<div class="container">
|
||||
<a target="_blank" href="https://github.com/Haxxnet/Compose-Examples" class="d-flex justify-content-center">
|
||||
<img width="80px" src="https://avatars.githubusercontent.com/u/98923398?s=200&v=4" alt="Haxxnet Avatar">
|
||||
</a><br>
|
||||
<div align="center" width="100%">
|
||||
<h1>Awesome Docker Compose Examples</h1>
|
||||
<p>Various Docker Compose examples of selfhosted FOSS and proprietary projects.</p>
|
||||
<img src="https://img.shields.io/github/stars/Haxxnet/Compose-Examples.svg?style=social&label=Star" /> |
|
||||
<img src="https://img.shields.io/github/forks/Haxxnet/Compose-Examples.svg?style=social&label=Fork" /> |
|
||||
<img src="https://img.shields.io/github/watchers/Haxxnet/Compose-Examples.svg?style=social&label=Watch" /><p>
|
||||
<img src="https://img.shields.io/github/directory-file-count/Haxxnet/Compose-Examples/examples?label=Compose%20Examples&style=for-the-badge.svg&color=blue" />
|
||||
<img src="https://img.shields.io/badge/maintainer-LRVT-red" /><p>
|
||||
</div>
|
||||
<div class="text-center mt-3">
|
||||
<button class="btn btn-primary" onclick="randomProject()">Random Project</button>
|
||||
<button class="btn btn-danger" onclick="clearAndReload()">Clear Search</button>
|
||||
</div>
|
||||
<div id="searchBar" class="text-center">
|
||||
<input type="text" id="searchInput" class="form-control" placeholder="Search by project name...">
|
||||
</div>
|
||||
<div id="repoContent" class="row justify-content-center"></div>
|
||||
|
||||
</div>
|
||||
<!-- jQuery and Bootstrap JS -->
|
||||
<script src="https://code.jquery.com/jquery-3.6.4.min.js" integrity="sha512-pumBsjNRGGqkPzKHndZMaAG+bir374sORyzM3uulLV14lN5LyykqNk8eEeUlUkB3U0M4FApyaHraT65ihJhDpQ==" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha512-VK2zcvntEufaimc+efOYi622VN5ZacdnufnmX7zIhCPmjhKnOi9ZDMtg1/ug5l183f19gG1/cBstPO4D8N/Img==" crossorigin="anonymous"></script>
|
||||
<!-- Custom JavaScript -->
|
||||
<script>
|
||||
var apiUrl = 'https://api.github.com/repos/Haxxnet/Compose-Examples/contents/examples';
|
||||
var data; // Define the data variable globally
|
||||
var dockericon = 'https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/docker.png';
|
||||
|
||||
function clearAndReload() {
|
||||
// Clear the search input field
|
||||
document.getElementById('searchInput').value = '';
|
||||
|
||||
// Reload all tiles (assuming loadProjects() is your initial load function)
|
||||
loadProjects();
|
||||
}
|
||||
|
||||
function loadProjects() {
|
||||
$.get(apiUrl, function (data) {
|
||||
data.forEach(function (project) {
|
||||
if (project.type === 'dir') {
|
||||
var projectName = project.name;
|
||||
var imageUrl = `https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${projectName}.png`;
|
||||
|
||||
var projectTile = $('<div class="col-md-2 project-tile">' +
|
||||
'<img src="' + imageUrl + '" onerror="this.src=\'' + dockericon + '\'" alt="Icon">' +
|
||||
'<h5>' + project.name + '</h5>' +
|
||||
'</div>');
|
||||
|
||||
projectTile.on('click', function () {
|
||||
window.open(project.html_url, '_blank');
|
||||
});
|
||||
|
||||
$('#repoContent').append(projectTile);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Initial load
|
||||
$.get(apiUrl, function (responseData) {
|
||||
data = responseData;
|
||||
loadProjects(); // Call the function to load projects after data is available
|
||||
});
|
||||
|
||||
// Search functionality
|
||||
$('#searchInput').on('input', function () {
|
||||
var searchTerm = $(this).val().toLowerCase();
|
||||
// Clear existing content
|
||||
$('#repoContent').empty();
|
||||
// Reload projects based on the search term
|
||||
data.forEach(function (project) {
|
||||
if (project.type === 'dir' && project.name.toLowerCase().includes(searchTerm)) {
|
||||
var projectName = project.name;
|
||||
var imageUrl = `https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${projectName}.png`;
|
||||
|
||||
var projectTile = $('<div class="col-md-2 project-tile">' +
|
||||
'<img src="' + imageUrl + '" onerror="this.src=\'' + dockericon + '\'" alt="Icon">' +
|
||||
'<h5>' + project.name + '</h5>' +
|
||||
'</div>');
|
||||
projectTile.on('click', function () {
|
||||
window.open(project.html_url, '_blank');
|
||||
});
|
||||
$('#repoContent').append(projectTile);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Function to select a random project name and fill the search input
|
||||
function randomProject() {
|
||||
// Get a random project index
|
||||
var randomIndex = Math.floor(Math.random() * data.length);
|
||||
var randomProject = data[randomIndex];
|
||||
|
||||
// Fill the search input with the random project name
|
||||
$('#searchInput').val(randomProject.name);
|
||||
|
||||
// Trigger the input event to initiate the search
|
||||
$('#searchInput').trigger('input');
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -9,6 +9,7 @@
|
|||
- https://docs.linuxserver.io/images/docker-qbittorrent/
|
||||
- https://github.com/MarkusMcNugen/docker-qBittorrentvpn
|
||||
- https://docs.linuxserver.io/images/docker-emby/
|
||||
- https://docs.linuxserver.io/images/docker-jellyfin (alternative option to emby)
|
||||
|
||||
# Notes
|
||||
|
||||
|
@ -38,7 +39,7 @@ Docker stack consisting of various arr-services like:
|
|||
- [optional] Qbittorrent with OpenVPN killswitch
|
||||
- Spawns an OpenVPN connection with iptables killswitch to hide your IP to safely download ISOs.
|
||||
- Default user will be `admin` with the password `adminadmin`. Change it immediately to a static one that does not change again.
|
||||
- Emby
|
||||
- Emby / Jellyfin
|
||||
- Used to manage your media libraries and stream it from various devices
|
||||
|
||||
The following bind mount volumes are defined:
|
||||
|
@ -58,6 +59,13 @@ https://www.youtube.com/watch?v=LD8-Qr3B2-o
|
|||
|
||||
**Note**: As all arr containers live within the same Docker network, you can easily reference container names instead of IPs. Docker will resolve the container names automatically to the current docker containers' IP. No need for port mappings or defining your Docker server's IP address. Use Docker networks!
|
||||
|
||||
> [!WARNING]
|
||||
> We configured qbittorrent to use the non-default path `/media/downloads` for downloads.
|
||||
>
|
||||
> Please define this location path in the qbittorrent admin panel too!
|
||||
|
||||
![image](https://github.com/Haxxnet/Compose-Examples/assets/21357789/278b800d-2b6b-45cb-a44c-7f56def7f9d3)
|
||||
|
||||
![image](https://github.com/Haxxnet/Compose-Examples/assets/21357789/8915f9f3-081f-41d2-9c5e-bdf9553e09c2)
|
||||
|
||||
![image](https://github.com/Haxxnet/Compose-Examples/assets/21357789/94de5802-3b26-420b-bb1d-ac82cd5a5cfb)
|
||||
|
|
|
@ -37,8 +37,7 @@ services:
|
|||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/sonarr:/config # database and Radarr configs
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/tv-shows:/tv # location of Movie library on disk
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/downloads # location of download managers output directory (here qbittorrent)
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media:/media # location of media and qbittorrent download folder
|
||||
expose:
|
||||
- 8989/tcp # web ui
|
||||
ports:
|
||||
|
@ -64,8 +63,7 @@ services:
|
|||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/radarr:/config
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/movies:/movies
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/downloads # location of download managers output directory (here qbittorrent)
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media:/media # location of media and qbittorrent download folder
|
||||
expose:
|
||||
- 7878/tcp # web ui
|
||||
ports:
|
||||
|
@ -91,8 +89,7 @@ services:
|
|||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/lidarr:/config
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/music:/music
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/downloads # location of download managers output directory (here qbittorrent)
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media:/media # location of media and qbittorrent download folder
|
||||
expose:
|
||||
- 8686/tcp # web ui
|
||||
ports:
|
||||
|
@ -118,8 +115,7 @@ services:
|
|||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/readarr:/config
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/books:/books
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/downloads # location of downloads on disk
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media:/media # location of media and qbittorrent download folder
|
||||
expose:
|
||||
- 8787/tcp # web ui
|
||||
ports:
|
||||
|
@ -162,7 +158,7 @@ services:
|
|||
- TORRENTING_PORT=6881
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/qbittorrent:/config # contains all relevant configuration files
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/downloads # location of downloads on disk
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/media/downloads # location of downloads on disk
|
||||
expose:
|
||||
- 8080/tcp # web ui
|
||||
- 6881/tcp # tcp connection port
|
||||
|
@ -191,7 +187,7 @@ services:
|
|||
# - net.ipv6.conf.all.disable_ipv6=0
|
||||
# volumes:
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/qbittorrentvpn:/config # contains all relevant configuration files; put your vpn config into the openvpn dir
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/downloads # location of downloads on disk
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/media/downloads # location of downloads on disk
|
||||
# - /etc/localtime:/etc/localtime:ro
|
||||
# environment:
|
||||
# - VPN_ENABLED=yes
|
||||
|
@ -230,7 +226,7 @@ services:
|
|||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/emby:/config # emby data storage location; can grow very large
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media:/data # media goes here
|
||||
#- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/emby/lib:/opt/vc/lib # optional; path for Raspberry Pi OpenMAX libs
|
||||
#- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/emby/lib:/opt/vc/lib # optional; path for Raspberry Pi OpenMAX libs
|
||||
expose:
|
||||
- 8096/tcp # http web ui
|
||||
- 8920/tcp # https web ui
|
||||
|
@ -253,6 +249,39 @@ services:
|
|||
# # Optional part for traefik middlewares
|
||||
# - traefik.http.routers.emby.middlewares=local-ipwhitelist@file
|
||||
|
||||
# image used to manage media and stream it
|
||||
#jellyfin:
|
||||
# image: lscr.io/linuxserver/jellyfin:latest
|
||||
# container_name: arr-suite-jellyfin
|
||||
# environment:
|
||||
# - PUID=1000
|
||||
# - PGID=1000
|
||||
# - TZ=Europe/Berlin
|
||||
# volumes:
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/jellyfin:/config # emby data storage location; can grow very large
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media:/data # media goes here
|
||||
# #- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/jellyfin/lib:/opt/vc/lib # optional; path for Raspberry Pi OpenMAX libs
|
||||
# expose:
|
||||
# - 8096/tcp # http web ui
|
||||
# ports:
|
||||
# - 8096:8096/tcp # http web ui
|
||||
# #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: unless-stopped
|
||||
# #networks:
|
||||
# # - proxy
|
||||
# #labels:
|
||||
# # - traefik.enable=true
|
||||
# # - traefik.docker.network=proxy
|
||||
# # - traefik.http.routers.jellyfin.rule=Host(`jellyfin.example.com`)
|
||||
# # - traefik.http.services.jellyfin.loadbalancer.server.port=8096
|
||||
# # # Optional part for traefik middlewares
|
||||
# # - traefik.http.routers.jellyfin.middlewares=local-ipwhitelist@file
|
||||
|
||||
#networks:
|
||||
# proxy:
|
||||
# external: true
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Versioning
|
||||
IMMICH_VERSION=v1.98.0
|
||||
IMMICH_VERSION=v1.98.2
|
||||
|
||||
# Database
|
||||
DB_HOSTNAME=immich-database
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# References
|
||||
|
||||
- https://github.com/abrenaut/posio (original)
|
||||
- https://github.com/l4rm4nd/posio (fork with docker image)
|
|
@ -0,0 +1,27 @@
|
|||
version: '3.3'
|
||||
|
||||
services:
|
||||
posio:
|
||||
image: l4rm4nd/posio:latest
|
||||
container_name: posio
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 5000:5000/tcp
|
||||
expose:
|
||||
- 5000/tcp
|
||||
environment:
|
||||
- POSIO_SETTINGS=/app/posio/config.py
|
||||
- FLASK_APP=/app/posio/game_master.py
|
||||
#networks:
|
||||
# - proxy
|
||||
#labels:
|
||||
# - traefik.enable=true
|
||||
# - traefik.docker.network=proxy
|
||||
# - traefik.http.routers.posio.rule=Host(`posio.example.com`)
|
||||
# - traefik.http.services.posio.loadbalancer.server.port=5000
|
||||
# # Optional part for traefik middlewares
|
||||
# - traefik.http.routers.posio.middlewares=local-ipwhitelist@file
|
||||
|
||||
#networks:
|
||||
# proxy:
|
||||
# external: true
|
Ładowanie…
Reference in New Issue