Skip to content

LXC 104 - Services

Container LXC hébergeant des applications diverses via Docker.

Informations

  • ID: 104
  • Nom: services
  • IP: 192.168.1.104
  • RAM: 2048 MB
  • Disk: 20 GB (local-zfs)
  • CPU: 2 cores
  • Mount points:
    • /opt/docker (bind vers /mnt/lxc-data/104-services)
    • /mnt/games (bind vers /mnt/media/games)

Applications Hébergées

Applications diverses documentées dans Applications :

  • Endurain - Fitness tracker Strava alternative (8080)
  • FreshRSS - RSS Feed Aggregator (8787)
  • Romm - ROM Manager retrogaming (8082)

Chaque application dispose de son propre sous-répertoire avec compose dédié ({app}/docker-compose.yml). Le compose racine héberge uniquement portainer-agent et cup.

Configuration Container

Type: Unprivileged LXC
Features: nesting=1, keyctl=1
UID Mapping: 100000:65536

Détails techniques : Voir LXC Creation Guide

Backups : Sauvegardé quotidiennement via PBS

Accès

# Console
pct enter 104

# Commandes distantes
pct exec 104 -- <commande>

# Docker dans LXC
pct exec 104 -- docker ps
pct exec 104 -- docker logs <container>

Commandes Utiles

# Status tous les containers
pct exec 104 -- docker ps

# Logs d'un container
pct exec 104 -- docker logs <container> -f

# Redéployer une app (ex: endurain)
pct exec 104 -- bash -c 'cd /opt/docker/endurain && docker compose pull && docker compose up -d'

# Redéployer tout le LXC (infra + toutes les apps)
bash /mnt/lxc-data/deploy.sh  # depuis le host Proxmox après pct push

# Restart LXC
pct stop 104 && sleep 10 && pct start 104

Ajout d'une Nouvelle Application

Pour ajouter une nouvelle application dans LXC 104 :

  1. Créer le sous-répertoire et le compose
mkdir -p /mnt/lxc-data/104-services/app-name
# Créer /mnt/lxc-data/104-services/app-name/docker-compose.yml
# Créer /mnt/lxc-data/104-services/app-name/stack.env  (gitignored)
  1. Créer les répertoires de données
mkdir -p /mnt/lxc-data/104-services/app-name/data
chown -R 101000:101000 /mnt/lxc-data/104-services/app-name/

Note: UID 101000 correspond à l'utilisateur 1000 à l'intérieur du container unprivileged (mapping 100000+1000)

  1. Démarrer les services
pct exec 104 -- bash -c 'cd /opt/docker/app-name && docker compose up -d'
  1. Mettre à jour la documentation

    • Créer /docs/applications/app-name.md
    • Ajouter dans cette page la nouvelle app
  2. Ajouter au backup (si nécessaire)

# Éditer sur le host
nano /usr/local/bin/backup-docker-configs.sh
# Ajouter ligne:
# lxc-data/104-services/app-name/config/ \