Ceci est le code source assez triste de la ville fantôme à https://lobste.rs. Il s'agit d'une base de code Rails et utilise un backend SQL (MariADB en production) pour la base de données.
Vous êtes libre d'utiliser ce code pour démarrer votre propre site sœur car le code est disponible sous une licence permissive (3-clause BSD). Nous accueillons les rapports de bogues et les contributions de code qui aident à améliorer l'amélioration de Lobste.rs. En tant que projet de bénévolat, nous sommes réticents à prendre des travaux qui ne sont pas utiles à notre site, veuillez donc comprendre si nous ne voulons pas adopter votre fonctionnalité personnalisée.
Nous aimerions avoir votre aide. Veuillez consulter le fichier contributif pour plus de détails. Si vous avez des questions, il y a généralement quelqu'un dans notre salle de chat qui connaît le code.
Utilisez les étapes ci-dessous pour une installation locale ou des homards-Andible pour notre configuration de déploiement de production. Il y a un projet externe Docker-Lobsters si vous souhaitez utiliser Docker.
Installez et démarrez MariaDB. Sur Linux, utilisez votre gestionnaire de packages. Sur macOS, vous pouvez installer avec Brew. Sur Windows, il y a un installateur.
Démarrez le serveur MARIADB en utilisant l'une des méthodes mentionnées dans la base de connaissances MARIADB.
Ouvrez la console à l'aide de mariadb et définissez le mot de passe de l'utilisateur root (saisissez ctrl-d pour sortir après)
ALTER USER ' root ' @ ' localhost ' IDENTIFIED BY ' localdev ' ;Installez la version Ruby spécifiée dans .Ruby-Version
Découvrez l'arbre de homard git de github
$ git clone [email protected]:lobsters/lobsters.git
$ cd lobsters
lobsters$Installez les nodejs, nécessaires (ou d'autres execjs) pour uglifier
Fedora: sudo yum install nodejs
Ubuntu: sudo apt-get install nodejs
OSX: brew install nodejs Exécutez rails credentials:edit pour créer et modifier votre fichier d'identification chiffré. C'est là que vous stockez des clés API pour les services externes et les fonctionnalités comme la liaison des comptes. Copiez et collez le contenu de config/credentials.yml.enc.sample dans. Lors de la configuration, les rails vous donneront une nouvelle valeur aléatoire pour secret_key_base et vous pouvez utiliser rails secret à tout moment pour en générer un autre.
Exécutez bin/setup pour installer les dépendances et configurer DB
lobsters$ bin/setup Sur votre serveur de production, copiez config/initializers/production.rb.sample à config/initalizers/production.rb et personnalisez-le avec domain et name de votre site. (Vous n'en avez pas besoin sur votre machine de développement).
Sur votre ordinateur personnel, vous souhaitez probablement ajouter des exemples de données.
lobsters$ rails fake_data Exécutez le serveur Rails en mode développement. Vous devriez être en mesure de vous connecter à http://localhost:3000 avec votre nouvel utilisateur test :
lobsters$ rails serverLe déploiement du site en production nécessite la configuration d'un serveur Web et l'exécution de l'application en mode de production. Il y a plus d'outils et d'options disponibles que nous pouvons décrire; Trouvez un guide ou un expert. Le repo homard-Ansible a nos fichiers de configuration à partir de. Quelques notes spécifiques à l'application:
Configurez Crontab ou un autre planificateur pour exécuter des emplois réguliers:
*/5 * * * * cd /path/to/lobsters && env RAILS_ENV=production sh -c 'bundle exec ruby script/mail_new_activity; bundle exec ruby script/mastodon_sync.rb; bundle exec ruby script/traffic_range'
En production, exécutez rails credentials:edit pour y installer les informations d'identification, comme vous l'avez fait pour le développement. Lors de la configuration, Rails vous donnera une nouvelle valeur aléatoire pour secret_key_base et vous pouvez utiliser rails secret chaque fois que vous devez en générer un autre. Ne git commit jamais ou ne partagez jamais votre config/credentials.yml.enc !
Vous voulez probablement utiliser Git-Imerge pour attirer les modifications des homards à votre site.
La modération de base se produit sur place, mais de nombreuses tâches administratives nécessitent l'utilisation de la console Rails en production. Les administrateurs peuvent créer et modifier des balises sur /tags .