Skip to content
This repository has been archived by the owner on Dec 8, 2023. It is now read-only.

Installation

Shahryar Tavakkoli edited this page Apr 21, 2022 · 7 revisions

We always try to keep MsihkaCms installation easy, hence we have prepared multi-way to help you install this software even without high knowledge. You just need to choose one of the following ways.

Docker

If you are Docker fan, we have a good opportunity to use it as an easy install and package. It is surrounded by a shell that supports Mac and Linux-based systems. It should be noted that we still do not support Windows OS and production mod.

Please select dev mode; after our CMS's production mod, we will release the production mod.

Now it is the time to install; if you have make installed in your system, just send make start_shell in your terminal, but if you are not the user of make, at first go to this path deployment/docker and command chmod +x mishka.sh; after changing the permission you just need one command to start sudo ./mishka.sh.

  1. When you select cowboy as a web server, we did not config it to have SSL, so if you need SSL please select Ngnix
  2. Once you have completed the installation path, you can access both cms.example.com and api.example.com paths, do not forget to put 127.0.0.1 cms.example.com api.example.com in your host file
  3. When you select HTTPS, you should consider you need to put the SSL certificate in your system to be able to see the site in Chrome.
  4. This is not only an installation shell if you run it again, you can see start, stop, remove, run, rebuild, destroy, logs, clean, login, db options

Elixir manually

We suggest that you should use asdf for installing elixir in your system, but if you have had elixir before, you can skip it. It should be noted that you can install elixir differently; the only important thing is that you should have elixir 13.3+.

asdf

git clone https://github.com/asdf-vm/asdf.git
echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
source ~/.bashrc

# zsh
echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.zshrc
echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.zshrc
source ~/.zshrc

asdf plugin-add erlang
asdf plugin-add elixir

# Download elixir and erlang
asdf install erlang 24.1.5
asdf install elixir 1.13.4-otp-24

# Set these downloaded
asdf global erlang 24.1.5
asdf global elixir 1.13.4-otp-24

mix local.hex
mix local.rebar

After doing the top steps, please go to Phoenix installation page and install PostgreSQL, so you are ready to install the dev mode of MishkaCms

First step: I suggest creating a file named export and putting these lines into this file, and saving them; after that, you can run it in your terminal with this source export command.

export SECRET_KEY_BASE_API= #CREATE YOUR OWN
export SECRET_KEY_BASE_HTML= #CREATE YOUR OWN
export LIVE_VIEW_SALT= #CREATE YOUR OWN
export TOKEN_JWT_KEY= #CREATE YOUR OWN
export DATABASE_NAME=mishka_database_repo
export DATABASE_USER=postgres
export DATABASE_PASSWORD=postgres
export DATABASE_HOST=localhost
export SECRET_CURRENT_TOKEN_SALT= #CREATE YOUR OWN
export SECRET_REFRESH_TOKEN_SALT= #CREATE YOUR OWN
export SECRET_ACCESS_TOKEN_SALT= #CREATE YOUR OWN
export EMAIL_SYSTEM= #YOUR SITE EMAIL
export EMAIL_DOMAIN= #YOUR DOMAIN
export EMAIL_PORT=587
export EMAIL_SERVER= #YOUR DOMAIN
export EMAIL_HOSTNAME= #YOUR DOMAIN
export EMAIL_USERNAME= #YOUR SITE EMAIL
export EMAIL_PASSWORD= #YOUR EMAIL PROVIDER EMAIL
export GITHUB_CLIENT_ID= #CREATE YOUR OWN
export GITHUB_CLIENT_SECRET= #CREATE YOUR OWN
export GOOGLE_CLIENT_ID= #CREATE YOUR OWN
export GOOGLE_CLIENT_SECRET= #CREATE YOUR OWN
export GOOGLE_REDIRECT_URI=http://YOUR_DOMAIN/auth/register?params[endpoint]=html\&params[id]=google\&params[struct]=Elixir.MishkaSocial.Auth.Strategy

export TWITTER_CONSUMER_KEY= #CREATE YOUR OWN
export TWITTER_CONSUMER_SECRET= #CREATE YOUR OWN
export TWITTER_REDIRECT_URI=http://YOUR_DOMAIN/auth/register?params[endpoint]=html\&params[id]=twitter\&params[struct]=Elixir.MishkaSocial.Auth.Strategy

export FACEBOOK_CLIENT_ID= #CREATE YOUR OWN
export FACEBOOK_CLIENT_SECRET= #CREATE YOUR OWN

Do not forget to run source export in the path this file exists. Now you are ready to install the CMS.

Required versions

  1. Elixir 1.13.3 + (compiled with Erlang/OTP 24)
  2. PostgreSQL v13 +
mix deps.get
mix deps.compile
mix ecto.create # (first you have to define your database information in the config file)
mix mishka_installer.db.gen.migration # Before running this command, please go to apps/mishka_database
# After running top command please come back to root of the project like: cd ../..
mix ecto.migrate
mix assets.deploy
mix test
mix run apps/mishka_database/priv/repo/seeds.exs # in case you want content and test user to be made, run one time only
iex -S mix phx.server # every time you want to run the server

You can also install these commands with one command if you have make installed in your system, just do make start_elixir


Kubernetes


Elixir shell


Custom installer

We will create this for mac soon.

Clone this wiki locally