Ciao, ho seguito questa guida Multisite configuration with Docker per configurare un sito multiplo, ma ora voglio tornare a un singolo sito. Cosa dovrei fare oltre a ripristinare il file app.yml?
Non capisco davvero cosa stia cercando di ottenere, ma se vuoi spostare un sito dall’installazione multisito, puoi farlo scaricando un backup dall’ambiente multisito e ripristinandolo sul sito autonomo. Potrebbe essere necessario eseguire alcune operazioni di rimappatura in base alla configurazione del sito autonomo.
Voglio solo mantenere il primo sito ed eliminare il secondo.
Sì, l’approccio più semplice è eseguire un backup del primo sito, arrestare i due container (web_only e data) che potresti aver utilizzato durante la configurazione del multisito, configurare un nuovo sito tramite ./discourse-setup e quindi ripristinare il backup. Una soluzione più avanzata potrebbe includere la rimozione della configurazione del secondo sito dai file yml, l’accesso al container dei dati per eliminare il secondo database e la rimozione delle risorse del secondo sito dalla cartella condivisa, ecc.
Grazie! Proverò il primo metodo.
Ciao, ho seguito il tuo secondo metodo. Ho rimosso il database del secondo sito e ripristinato il file di configurazione app.yml. Ma non so come rimuovere le risorse del secondo sito dalla cartella condivisa, potresti aiutarmi?
Quando aggiorno Discourse, ottengo una pagina vuota nella pagina dei plugin e un errore nella console:
Uncaught TypeError: Cannot read property 'extend' of undefined
at _discourse-rss-poster-422da9e50d576ad45cb7287315e7a35550af3708eb68422bee05813edc01521d.js:188
at t.module.exports.u.<computed> (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74640)
at t.module.exports.u.<computed> (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74470)
at require (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74637)
at t.customResolve (_application-572c27eef10b724b244ce26553c6fe92b75f44172387b25ef144f338da4faa1e.js:1015)
at t.resolveRoute (_application-572c27eef10b724b244ce26553c6fe92b75f44172387b25ef144f338da4faa1e.js:1051)
at t.e [as resolveRoute] (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:43433)
at t.n.resolve (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:46378)
at _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:12420
at e.t.resolve (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:11959)
Penso che sia dovuto al secondo sito, ma non so come risolvere il problema. Grazie!
Puoi aiutarmi per favore? @sam
Dovrai condividere il tuo file app.yml oscurando le password. Credo che la causa sia un’omissione o un errore nel tuo file app.yml che sta provocando questo problema.
## Questo è il template del container Docker Discourse tutto-in-uno e autonomo
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI *MOLTA* ATTENZIONE DURANTE LA MODIFICA!
## I FILE YAML SONO SUPER SUPER SENSIBILI A ERRORI NEGLI SPAZI BIANCHI O NELL'ALLINEAMENTO!
## visita http://www.yamllint.com/ per convalidare questo file se necessario
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Rimuovi il commento da queste due righe se desideri aggiungere Lets Encrypt (https)
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
- "templates/web.socketed.template.yml"
## Quali porte TCP/IP deve esporre questo container?
## Se desideri che Discourse condivida una porta con un altro server web come Apache o nginx,
## consulta https://meta.discourse.org/t/17247 per i dettagli
expose:
# - "80:80" # http
# - "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Imposta db_shared_buffers al massimo al 25% della memoria totale.
## verrĂ impostato automaticamente dal bootstrap in base alla RAM rilevata, oppure puoi sovrascrivere
db_shared_buffers: "128MB"
## può migliorare le prestazioni di ordinamento, ma aumenta l'utilizzo della memoria per connessione
#db_work_mem: "40MB"
## Quale revisione Git deve utilizzare questo container? (predefinito: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Quante richieste web simultanee sono supportate? Dipende dalla memoria e dai core della CPU.
## verrĂ impostato automaticamente dal bootstrap in base alle CPU rilevate, oppure puoi sovrascrivere
UNICORN_WORKERS: 2
## TODO: Il nome di dominio a cui risponderĂ questa istanza di Discourse
## Obbligatorio. Discourse non funzionerĂ con un semplice numero IP.
DISCOURSE_HOSTNAME: at4am.io
## Rimuovi il commento se desideri che il container venga avviato con lo stesso
## hostname (opzione -h) specificato sopra (predefinito "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Elenco di email separate da virgola che verranno rese amministratori e sviluppatori
## all'iscrizione iniziale, ad esempio 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'a@gmail.com'
## TODO: Il server di posta SMTP utilizzato per validare nuovi account e inviare notifiche
## INDIRIZZO SMTP, nome utente e password sono obbligatori
## ATTENZIONE: il carattere '#' nella password SMTP può causare problemi!
DISCOURSE_SMTP_ADDRESS: smtp.office365.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: a@outlook.com
DISCOURSE_SMTP_PASSWORD: "a"
DISCOURSE_SMTP_AUTHENTICATION: login
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opzionale, predefinito true)
## Se hai aggiunto il template Lets Encrypt, rimuovi il commento qui sotto per ottenere un certificato SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: a@gmail.com
## L'indirizzo CDN per questa istanza di Discourse (configurato per il recupero)
## consulta https://meta.discourse.org/t/14857 per i dettagli
#DISCOURSE_CDN_URL: //discourse-cdn.example.com
## Il container Docker è senza stato; tutti i dati sono archiviati in /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## I plugin vanno qui
## consulta https://meta.discourse.org/t/19157 per i dettagli
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/livc/discourse-rss-poster
#- git clone https://github.com/paviliondev/discourse-ratings
- git clone https://github.com/discourse/discourse-data-explorer
- git clone https://github.com/discourse/discourse-solved
## Qualsiasi comando personalizzato da eseguire dopo la costruzione
run:
- exec: echo "Inizio dei comandi personalizzati"
## Se desideri impostare l'indirizzo email 'From' per la tua prima registrazione, rimuovi il commento e modifica:
## Dopo aver ricevuto la prima email di iscrizione, rimetti il commento alla riga. Deve essere eseguito solo una volta.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fine dei comandi personalizzati"
Questo è il mio file app.yml, grazie per il tuo aiuto.
Guardando il tuo errore precedente e l’app.yml, molto probabilmente è il fork del plugin rss che stai utilizzando. Potrebbe esserci qualcosa di rotto al suo interno che sta probabilmente causando il problema. Puoi provare a ricostruire dopo aver disabilitato il plugin?
Se commento questo plugin, la pagina del plugin funziona. Ma prima di aggiornare Discourse all’ultima versione, il plugin funzionava senza problemi.
Quindi non sono sicuro se sia dovuto all’aggiornamento di Discourse o al multisito.
In particolare, ho notato che
https://meta.discourse.org/t/discourse-subscriptions/140818/77?u=livc
riporta lo stesso errore sul multisito.
Questo plugin è molto importante per il mio sito e ora non ho idea di cosa fare. ![]()
Se hai creato tu quel plugin, prova a risolverlo. Se qualcuno lo ha realizzato per te, prova a contattarlo per farlo riparare.