Signed-off-by: Thomas Citharel <tcit@tcit.fr> Nicer docs No 3rd stage Add mix.deps get before docs Add :ex_doc on test env so that it runs into CI
2.2 KiB
Install
Dependencies
Follow the steps of the dependencies guide
Database
Create the production database and a mobilizon user inside PostgreSQL:
sudo -u postgres createuser -P mobilizon
sudo -u postgres createdb -O mobilizon mobilizon_prod
Then enable extensions PeerTube needs:
sudo -u postgres psql -c "CREATE EXTENSION postgis;" mobilizon_prod
sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" mobilizon_prod
sudo -u postgres psql -c "CREATE EXTENSION unaccent;" mobilizon_prod
MobiliZon user
Create a mobilizon
user with /home/mobilizon
home:
sudo adduser --disabled-login mobilizon
sudo -i -u mobilizon
On FreeBSD
sudo pw useradd -n mobilizon -d /home/mobilizon -s /usr/local/bin/bash -m
sudo passwd mobilizon
You can now fetch the code with git:
git clone https://framagit.org/framasoft/mobilizon live && cd live
Configuration
Backend
Install Elixir dependencies
mix deps.get
Configure your instance with
mix mobilizon.instance gen
This will ask you questions about your instance and generate an .env.prod
file.
Migration
Run database migrations: mix ecto.migrate
. You will have to do this again after most updates.
If some migrations fail, it probably means you're not using a recent enough version of PostgreSQL, or that you didn't installed the required extensions.
Front-end
Go into the js/
directory
cd js/
and install the Javascript dependencies
npm install
Finally, build the front-end with
npm run build
Testing
Go back to the previous directory
cd ../
Now try to run the server
mix phx.server
It runs on port 4000.
Services
Systemd
Copy the support/systemd/mobilizon.service
to /etc/systemd/system
.
sudo cp support/systemd/mobilizon.service /etc/systemd/system/
Reload Systemd to detect your new file
sudo systemctl daemon-reload
And enable the service
systemctl enable --now mobilizon.service
It will run MobiliZon and enable startup on boot. You can follow the logs with
sudo journalctl -fu mobilizon.service