sudo docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --restart=unless-stopped --name="portainer" -v /var/run/docker.sock:/var/run/docker.sock -v /volume2/docker/portainer-ce:/data portainer/portainer-cesudo docker run -d \
--name radarr \
--network arr \
--restart unless-stopped \
-e PUID=1035 \
-e PGID=100 \
-e TZ=Europe/Paris \
-v /volume2/OptiNAS/Containers/Radarr:/config \
-v /volume2/OptiNAS/NAS:/NAS \
-v /volume2/OptiNAS/NAS/Downloads:/downloads \
-p 7878:7878 \
lscr.io/linuxserver/radarr:developsudo docker run -d \
--name sonarr \
--network arr \
--restart unless-stopped \
-e PUID=1035 \
-e PGID=100 \
-e TZ=Europe/Paris \
-v /volume2/OptiNAS/Containers/Sonarr:/config \
-v /volume2/OptiNAS/NAS:/NAS \
-v /volume2/OptiNAS/NAS/Downloads:/downloads \
-p 8989:8989 \
lscr.io/linuxserver/sonarr:developsudo docker run -d \
--name postgres14 \
--network arr \
--restart unless-stopped \
-e POSTGRES_USER=optinas \
-e POSTGRES_PASSWORD='123' \
-v /volume2/OptiNAS/Containers/Postgres14:/var/lib/postgresql/data \
-p 5433:5432 \
postgres:14sudo docker exec -it postgres14 psql -U optinasPuis dans PostgreSQL :
CREATE DATABASE "radarr-main";
CREATE DATABASE "radarr-log";
CREATE DATABASE "sonarr-main";
CREATE DATABASE "sonarr-log";
\qNe pas oublier de respecter l’espace / l’indentation au début si nécessaire selon ton fichier.
<PostgresHost>postgres14</PostgresHost>
<PostgresPort>5432</PostgresPort>
<PostgresUser>optinas</PostgresUser>
<PostgresPassword>123</PostgresPassword>
<PostgresMainDb>radarr-main</PostgresMainDb>
<PostgresLogDb>radarr-log</PostgresLogDb><PostgresHost>postgres14</PostgresHost>
<PostgresPort>5432</PostgresPort>
<PostgresUser>optinas</PostgresUser>
<PostgresPassword>123</PostgresPassword>
<PostgresMainDb>sonarr-main</PostgresMainDb>
<PostgresLogDb>sonarr-log</PostgresLogDb>sudo docker run -d \
--name prowlarr \
--network arr \
--restart unless-stopped \
-e PUID=1035 \
-e PGID=100 \
-e TZ=Europe/Paris \
-p 9696:9696 \
-v /volume2/OptiNAS/Containers/Prowlarr:/config \
lscr.io/linuxserver/prowlarr:latestsudo docker run -d \
--name jackett \
--network arr \
--restart unless-stopped \
-e PUID=1035 \
-e PGID=100 \
-e TZ=Europe/Paris \
-e AUTO_UPDATE=true \
-p 9117:9117 \
-v /volume2/OptiNAS/Containers/Jackett:/config \
-v /volume2/OptiNAS/NAS/Downloads:/downloads \
lscr.io/linuxserver/jackett:latestsudo docker run -d \
--name gluetun \
--network arr \
--restart unless-stopped \
--cap-add=NET_ADMIN \
--device /dev/net/tun:/dev/net/tun \
-e VPN_SERVICE_PROVIDER=protonvpn \
-e VPN_TYPE=openvpn \
-e OPENVPN_USER='xxxxx' \
-e OPENVPN_PASSWORD='xxxxx' \
-e OPENVPN_PROTOCOL=udp \
-e SERVER_COUNTRIES='France' \
-e PORT_FORWARD_ONLY=on \
-e VPN_PORT_FORWARDING=on \
-e TZ=Europe/Paris \
-p 8080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-v /volume2/OptiNAS/Containers/Gluetun:/gluetun \
qmcgaw/gluetunsudo docker run -d \
--name qbittorrent \
--restart unless-stopped \
--network=container:gluetun \
-e PUID=1035 \
-e PGID=100 \
-e TZ=Europe/Paris \
-e WEBUI_PORT=8080 \
-e TORRENTING_PORT=6881 \
-e DOCKER_MODS=ghcr.io/vuetorrent/vuetorrent-lsio-mod:latest \
-v /volume2/OptiNAS/Containers/qBittorrent:/config \
-v /volume2/OptiNAS/NAS:/NAS \
lscr.io/linuxserver/qbittorrent:latestsudo docker run -d \
--name qbittorrent \
--network arr \
--restart unless-stopped \
-e PUID=1035 \
-e PGID=100 \
-e TZ=Europe/Paris \
-e WEBUI_PORT=8080 \
-e TORRENTING_PORT=6881 \
-e DOCKER_MODS=ghcr.io/vuetorrent/vuetorrent-lsio-mod:latest \
-p 8080:8080 \
-p 6881:6881 \
-v /volume2/OptiNAS/Containers/qBittorrent:/config \
-v /volume2/OptiNAS/NAS:/NAS \
lscr.io/linuxserver/qbittorrent:latestsudo docker run -d \
--name seerr \
--network arr \
--init \
-e LOG_LEVEL=debug \
-e TZ=Europe/Paris \
-e PORT=5055 \
-p 5055:5055 \
-v /volume2/OptiNAS/Containers/Seerr:/app/config \
--restart unless-stopped \
ghcr.io/seerr-team/seerr:latestssh USERNAME@IP -L 8888:localhost:32400French :
{
"name": "French",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "FRENCH",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "french"
}
},
{
"name": "VF",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vf"
}
},
{
"name": "VOF",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vof"
}
},
{
"name": "TRUEFRENCH",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "truefrench"
}
},
{
"name": "VFi",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vfi"
}
}
]
}MULTi
{
"name": "MULTi",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "MULTi",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": true,
"fields": {
"value": "MULTi"
}
}
]
}VOST
{
"name": "VOST",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "VOSTFR",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vostfr"
}
},
{
"name": "SUBFRENCH",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "SUBFRENCH"
}
},
{
"name": "VO",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vo"
}
},
{
"name": "VOF",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vof"
}
},
{
"name": "VF",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vf"
}
},
{
"name": "VFi",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vfi"
}
},
{
"name": "French",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "french"
}
},
{
"name": "TRUEFRENCH",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "truefrench"
}
}
]
}VOST (Animes)
{
"name": "VOST (Animes)",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "VOSTFR",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vostfr"
}
},
{
"name": "SUBFRENCH",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "SUBFRENCH Tsundere-Raws"
}
},
{
"name": "VF",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "vf"
}
},
{
"name": "French",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "french"
}
},
{
"name": "TRUEFRENCH",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "truefrench"
}
}
]
}