Uma ferramenta rápida do site. Execute o arquivo NIM e acesse sua página da web. Site: https://nimwc.org

Veja mais em recursos.md
Para começar, você só precisa:
1.6.14 (testado com + 2.0 )Dependências opcionais (desativadas por padrão):
libwebp ) (apenas necessário ao usar o WebP)0.9.58 (apenas necessário ao usar o FireJail)xorg-server-xvfb , exigido por FireJail Configurando noX= )Para compilar e instalar, você precisa de NIM. Você pode instalar facilmente o NIM usando o Choosenim com:
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
Você só precisa executar 1a ou 1b ou 1c - não os dois.
# Install nimwc with nimble
nimble install nimwc
# Edit the config.cfg accordingly
# (change the confg.cfg path to your nimble folder and the correct package version)
nano ~ /.nimble/pkgs/nimwc-[PACKAGE-VERSION]/config/config.cfg
# Run nimwc
# (to add an Admin append the arg "newadmin": nimwc --newadmin)
# (to include some standard pages: nimwc --insertdata)
nimwc
# Login
127.0.0.1:7000/loginIsso gerará o executável na pasta.
# Clone the repository
git clone https://github.com/ThomasTJdev/nim_websitecreator
cd nim_websitecreator
# Generate and edit the config.cfg accordingly
cp config/config_default.cfg config/config.cfg
nano config/config.cfg
# Compile
nimble -d:release build
# Run nimwc
# (to add an Admin append the arg "newadmin": nimwc --newadmin)
# (to include some standard pages: nimwc --insertdata)
./nimwc
# Login
127.0.0.1:7000/loginIsso o guiará através da instalação.
curl https://raw.githubusercontent.com/ThomasTJdev/nim_websitecreator/master/devops/autoinstall.sh -sSf | sh
# OR
curl https://raw.githubusercontent.com/ThomasTJdev/nim_websitecreator/master/devops/autoinstall.sh -sSfLO && echo "6cc7510305db7b0ae5e3755137e71c23c7e08829264ddfb82702e6cac297f1063b46c48c01eafb16156c27a53aa23d1737c34f354ae1834c8498f5bd64b81b3c autoinstall.sh" | sha512sum -c - && sh ./autoinstall.sh
Esses argumentos devem ser antecipados para o arquivo executável, por exemplo ./nimwc cdata
--showconfig = Mostrar opções de configuração e compilação analisadas INI.--newadmin = Adicione o usuário administrador.--gitupdate = Atualizações e force uma redefinição difícil.--initplugin = Crie esqueleto do plug-in dentro do tmp/.--vacuumdb = banco de dados a vácuo e continue (manutenção do banco de dados).--backupdb = backup completo comprimido do banco de dados.--backupdb-gpg = backup completo de banco de dados assinado comprimido.--newdb = gera o banco de dados com tabelas padrão ( não substitui ou exclui tabelas). newdb será inicializado automático, se não houver banco de dados.--insertdata = Insira dados padrão, por exemplo --insertdata bulma (isso substituirá os dados existentes)bulma = Use Bulma CSS, não é necessário js (design oficial) [tema oficial padrão]bootstrap = Use Bootstrap e JQuerywater = Quadro CSS de Água, sem JS, HTML sem classe (sem classes no HTML necessário) Essas opções estão disponíveis apenas no CompileTime:
-d:rc = recompile. O NIMWC está usando um lançador, portanto, é necessário para forçar um recompile.-d:adminnotify = Enviar logs de erro (erro) para o email do administrador especificado.-d:dev = desenvolvimento.-d:devemailon = Enviar email quando -d:dev é ativado.-d:demo = usado no site de testes públicos NIM Site Creator. Esta opção substituirá o banco de dados a cada 1 hora com os dados padrão.-d:gitupdate = atualizações diretamente do git e force uma redefinição dura.-d:postgres = use o banco de dados PostGres em vez de sqlite.-d:packedjson = use packedjson em vez de std lib json. Otimização de desempenho.Existem 3 perfis principais de usuário:
Os direitos de acesso abaixo se aplica ao programa principal. Os plugins podem ter sua própria definição de direitos do usuário.
O "usuário" pode fazer login e ver páginas privadas e páginas de blog. Este usuário não tem acesso a adicionar ou editar nada.
O "Moderador" pode fazer login e ver páginas privadas e páginas de blog. O usuário pode adicionar e excluir usuários, mas não pode excluir ou adicionar usuários "admin". O usuário não pode editar JS, CSS e Core HTML - apenas nas páginas e posts do blog.
O "Admin" tem acesso a qualquer coisa.
Você pode adicionar e editar facilmente as páginas do blog. As páginas do blog suportam metadados: meta descrição e meta -palavras. Também é possível especificar uma categoria e tags.
No menu Configurações, você pode especificar como seus posts devem ser classificados, por exemplo, na data modfada em ordem crescente.
Para mostrar apenas o BlogPost com um nome, tag ou categoria específico, você deve anexar os critérios ao URL. Não é possível combiná -los.
website.com/blog?name=nim
website.com/blog?category=article
website.com/blog?tags=code
Vários plugins estão disponíveis. Você pode baixá -los dentro do programa na <webpage>/plugins/repo .
O repositório de plug -in está localizado aqui: repositório de plug -in NIMWC
Ao editar uma página do blog ou uma página normal, pressione Ctrl+S para salvar.
Docker
Vagabundo
NGNIX Config
Google Recaptcha
Para ativar o Google Recaptcha, reivindique o site e a chave do servidor e insira -os no config.cfg .
Systemd
Copie o arquivo nimwc.service em /lib/systemd/system/
sudo nano /lib/systemd/system/nimwc.service
Ativar início automático do NIMWC:
sudo systemctl enable nimwc
sudo systemctl start nimwc
sudo systemctl status nimwc
CI Construções
CrossCompiling, Build for Old Linux
Às vezes, você pode precisar construir para Linux muito antigo, como o antigo CentOS e o Debian Old Stable, de um Linux recente, como New Arch ou Ubuntu, Heres como você pode fazê -lo, sem uma máquina virtual com um antigo Linux para construir.
Dependência opcional.
Você pode escolher quanto CPU e RAM NIMWC podem usar, o FireJail fará com que o NIMWC acredite que há menos CPU & RAM que os realmente fisicamente disponíveis. Se você escolher recursos muito pequenos para uma carga muito grande, parecerá quando você tentar executar um programa pesado em uma caixa virtual com CPU & RAM muito pequena, mas ainda será executado ou fará o melhor para tentar executar. Isso pode ser útil para nuvens que cobram mais quando você passa um determinado limite de uso da CPU e RAM.
O NIMWC não depende de nenhum dispositivo de hardware para ser executado, como áudio, vídeo, USB, DVD, etc. para que você possa bloquear o acesso aos peripehals de hardware, que também bloqueia seus drivers de hardware e bibliotecas que podem ter vulnerabilidades, tornando seu NIMWC mais seguro.
Existem opções para bloquear o usuário root e o restante dos usuários no sistema Linux, que ajudam a proteger seu NIMWC contra escalações de privilégios, é quando um usuário normal não privilegiado se torna raiz superusseradora ou um usuário pode ver outros usuários.
Os caches e os diretórios temporários são montados como TMPFs autogenerados temporários privados, o que significa que os reais não podem ser alterados de dentro do NIMWC.
noMnt=true é para quando você executa 1 instância nimwc por servidor, noMnt=false é para quando você executa várias instâncias NIMWC por servidor, porque pode ou não bloquear outras instâncias de acesso subpastas em /mnt/ simultaneamente.
noX=false se você estiver executando um servidor ou Chromebook sem cabeça. noX=true usa Xvfb para isolamento x ( xorg-server-xvfb ), pode ser necessário instalá-lo se quiser usá-lo, mas não for uma dependência difícil, basta usar noX=false e você não precisar instalá-lo se não quiser.
Os recursos vêm do próprio kernel do Linux; portanto, há custo zero de desempenho e a tecnologia já está lá, mesmo que você o use ou não.
Portanto, em conclusão, o NIMWC que é compilado binário não precisará acesso à maior parte do seu sistema, apenas sua própria pasta, a integração com o FireJail esconde todo o resto.
Sua versão local do FireJail para necessidades é> = 0.9.58 . Instale usando o gerenciador de pacotes:
# Arch (package manager)
sudo pacman -S firejail
# Ubuntu (built files)
https://launchpad.net/ubuntu/+source/firejail/0.9.58-1 # <-- download
sudo apt install ./firejail_0.9.58-1_arm64.deb
# Compile
git clone https://github.com/netblue30/firejail.git
cd firejail
./configure && make && sudo make install-strip