chore : rename Coltura to Starseed
Some checks failed
Auto Tag Develop / tag (push) Has been cancelled

- Rename project name across code, configs, docs, dev/prod infra
- Dev: DOCKER_APP_NAME + POSTGRES_DB switched to starseed, containers become php-starseed-fpm / nginx-starseed / starseed-db-1
- Dev: mount nginx.conf on default.conf instead of starseed.conf to avoid alphabetical-order clash with image's default site
- Makefile: export CURRENT_UID/CURRENT_GID at top level so docker compose builds (db-reset etc.) get them
- Prod: image registry path, container_name, volumes, vhost server_name + paths, DATABASE_URL, CORS, CI workflow
- Add doc/prompt-rename-prod.md with the migration runbook for the prod server (DB rename, FS move, vhost, Let's Encrypt)
This commit is contained in:
Matthieu
2026-05-19 08:24:19 +02:00
parent cd17248427
commit 93cbd48bf5
40 changed files with 476 additions and 234 deletions

View File

@@ -1,4 +1,4 @@
# Deploiement Docker — Coltura
# Deploiement Docker — Starseed
## Pre-requis
@@ -29,9 +29,9 @@ sudo systemctl start nginx
### PostgreSQL
PostgreSQL tourne dans un conteneur Docker separe (voir le repo `infra-postgres`).
Il doit etre installe et accessible avant de deployer Coltura.
Il doit etre installe et accessible avant de deployer Starseed.
Creer la base de donnees pour Coltura :
Creer la base de donnees pour Starseed :
```bash
cd /var/www/postgres
@@ -43,7 +43,7 @@ docker compose exec postgres psql -U admin
CREATE USER malio WITH PASSWORD 'motdepasse';
-- Creer la base
CREATE DATABASE coltura_prod OWNER malio;
CREATE DATABASE starseed_prod OWNER malio;
\q
```
@@ -51,7 +51,7 @@ CREATE DATABASE coltura_prod OWNER malio;
## Premiere installation (nouvelle machine)
Guide complet pour mettre en ligne Coltura sur une machine vierge. Inclut les pre-requis, la BDD et l'app.
Guide complet pour mettre en ligne Starseed sur une machine vierge. Inclut les pre-requis, la BDD et l'app.
### 1. Installer les pre-requis
@@ -60,9 +60,9 @@ Installer Docker, Nginx et PostgreSQL (voir section Pre-requis ci-dessus).
### 2. Creer le dossier de deploiement
```bash
sudo mkdir -p /var/www/coltura
sudo chown -R $(whoami):$(whoami) /var/www/coltura
cd /var/www/coltura
sudo mkdir -p /var/www/starseed
sudo chown -R $(whoami):$(whoami) /var/www/starseed
cd /var/www/starseed
```
### 3. Se connecter au registry Docker de Gitea
@@ -83,8 +83,8 @@ Creer `docker-compose.yml` :
```yaml
services:
app:
image: gitea.malio.fr/malio-dev/coltura:${COLTURA_IMAGE_TAG:-latest}
container_name: coltura-app
image: gitea.malio.fr/malio-dev/starseed:${STARSEED_IMAGE_TAG:-latest}
container_name: starseed-app
env_file: .env
ports:
- "8083:80"
@@ -105,9 +105,9 @@ set -euo pipefail
cd "$(dirname "$0")"
TAG="${1:-latest}"
export COLTURA_IMAGE_TAG="$TAG"
export STARSEED_IMAGE_TAG="$TAG"
echo "==> Deploying coltura:${TAG}..."
echo "==> Deploying starseed:${TAG}..."
echo "==> Pulling image..."
docker compose pull
@@ -146,7 +146,7 @@ APP_DEBUG=0
APP_SECRET=<generer avec: openssl rand -hex 32>
# Database (host.docker.internal = la machine hote, ou le PG tourne en Docker)
DATABASE_URL="postgresql://malio:password@host.docker.internal:5432/coltura_prod?serverVersion=16&charset=utf8"
DATABASE_URL="postgresql://malio:password@host.docker.internal:5432/starseed_prod?serverVersion=16&charset=utf8"
# JWT
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
@@ -158,10 +158,10 @@ JWT_TOKEN_TTL=86400
JWT_COOKIE_TTL=86400
# CORS
CORS_ALLOW_ORIGIN='^https?://coltura\.malio-dev\.fr$'
CORS_ALLOW_ORIGIN='^https?://starseed\.malio-dev\.fr$'
# App
DEFAULT_URI=https://coltura.malio-dev.fr
DEFAULT_URI=https://starseed.malio-dev.fr
```
### 6. Generer les cles JWT
@@ -190,17 +190,17 @@ mkdir -p uploads
Copier la config reverse proxy depuis le repo :
```bash
sudo cp infra/prod/nginx-proxy.conf /etc/nginx/sites-available/coltura.conf
sudo cp infra/prod/nginx-proxy.conf /etc/nginx/sites-available/starseed.conf
```
Ou creer `/etc/nginx/sites-available/coltura.conf` manuellement (voir `infra/prod/nginx-proxy.conf`).
Ou creer `/etc/nginx/sites-available/starseed.conf` manuellement (voir `infra/prod/nginx-proxy.conf`).
La config inclut le **mode maintenance** : si le fichier `/var/www/coltura/maintenance.on` existe, Nginx renvoie une 503 avec `maintenance.html`.
La config inclut le **mode maintenance** : si le fichier `/var/www/starseed/maintenance.on` existe, Nginx renvoie une 503 avec `maintenance.html`.
Activer le site :
```bash
sudo ln -sf /etc/nginx/sites-available/coltura.conf /etc/nginx/sites-enabled/coltura.conf
sudo ln -sf /etc/nginx/sites-available/starseed.conf /etc/nginx/sites-enabled/starseed.conf
sudo nginx -t && sudo systemctl reload nginx
```
@@ -208,13 +208,13 @@ sudo nginx -t && sudo systemctl reload nginx
```bash
# Activer la maintenance
touch /var/www/coltura/maintenance.on
touch /var/www/starseed/maintenance.on
# Desactiver la maintenance
rm /var/www/coltura/maintenance.on
rm /var/www/starseed/maintenance.on
```
Optionnel : creer une page `/var/www/coltura/public/maintenance.html` personnalisee.
Optionnel : creer une page `/var/www/starseed/public/maintenance.html` personnalisee.
### 9. Deployer
@@ -232,7 +232,7 @@ Choisir `App\Entity\User`, taper le mdp, copier le hash. Puis :
```bash
cd /var/www/postgres
docker compose exec -T postgres psql -U malio coltura_prod -c "INSERT INTO \"user\" (username, roles, password, created_at) VALUES ('admin', '[\"ROLE_ADMIN\"]', '<le-hash>', NOW());"
docker compose exec -T postgres psql -U malio starseed_prod -c "INSERT INTO \"user\" (username, roles, password, created_at) VALUES ('admin', '[\"ROLE_ADMIN\"]', '<le-hash>', NOW());"
```
Ou charger les fixtures (dev uniquement) :
@@ -244,7 +244,7 @@ docker compose exec -T -u www-data app php bin/console doctrine:fixtures:load --
### Structure finale du dossier
```
/var/www/coltura/
/var/www/starseed/
├── docker-compose.yml
├── deploy.sh
├── .env
@@ -261,7 +261,7 @@ docker compose exec -T -u www-data app php bin/console doctrine:fixtures:load --
Quand l'app est deja installee, deployer une mise a jour :
```bash
cd /var/www/coltura
cd /var/www/starseed
./deploy.sh # deploie la derniere version (latest)
./deploy.sh v0.2.0 # deploie une version specifique
```
@@ -293,7 +293,7 @@ docker compose exec -T -u www-data app php bin/console doctrine:migrations:migra
Le workflow `.gitea/workflows/build-docker.yml` se declenche automatiquement sur push de tag `v*` :
1. Build l'image multi-stage
2. Push vers `gitea.malio.fr/malio-dev/coltura:<tag>` et `:latest`
2. Push vers `gitea.malio.fr/malio-dev/starseed:<tag>` et `:latest`
Combine avec `auto-tag-develop.yml`, chaque push sur `develop` cree automatiquement un tag → build → image disponible.
@@ -302,7 +302,7 @@ Combine avec `auto-tag-develop.yml`, chaque push sur `develop` cree automatiquem
## Voir les logs
```bash
cd /var/www/coltura
cd /var/www/starseed
docker compose logs -f # tous les logs
docker compose logs -f --tail=100 # 100 dernieres lignes
```