mirror of
https://github.com/plausible/analytics.git
synced 2024-11-28 04:30:42 +03:00
7153b366e5
* This change adds two new commands to gracefully stop and remove the Postgres and Clickhouse docker containers. To do so, it also gives them a recognizable name. * Additionally, the Postgres container is updated to use a named volume for its data. This lower friction for repeat contributions where one would otherwise sign up and activate their accounts again and again each time.
32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
# Contributing
|
|
|
|
## Development setup
|
|
|
|
The easiest way to get up and running is to [install](https://docs.docker.com/get-docker/) and use Docker for running both Postgres and Clickhouse.
|
|
|
|
Make sure Docker, Elixir, Erlang and Node.js are all installed on your development machine.
|
|
|
|
### Start the environment:
|
|
|
|
1. Run both `make postgres` and `make clickhouse`.
|
|
2. Run `mix deps.get`. This will download the required Elixir dependencies.
|
|
2. Run `mix ecto.create`. This will create the required databases in both Postgres and Clickhouse.
|
|
3. Run `mix ecto.migrate` to build the database schema.
|
|
4. Run `npm ci --prefix assets` to install the required node dependencies.
|
|
5. Run `mix phx.server` to start the Phoenix server.
|
|
6. The system is now available on `localhost:8000`.
|
|
|
|
### Creating an account
|
|
|
|
1. Navigate to `http://localhost:8000/register` and fill in the form.
|
|
2. An e-mail won't actually be sent, but you can find the activation in the Phoenix logs in your terminal. Search for `%Bamboo.Email{assigns: %{link: "` and open the link listed.
|
|
3. Fill in the rest of the forms and for the domain use `dummy.site`
|
|
4. Run `make dummy_event` from the terminal to generate a fake pageview event for the dummy site.
|
|
5. You should now be all set!
|
|
|
|
### Stopping Docker containers
|
|
|
|
1. Stop and remove the Postgres container with `make postgres-stop`.
|
|
2. Stop and remove the Clickhouse container with `make clickhouse-stop`.
|
|
|
|
Volumes are preserved. You'll find that the Postgres and Clickhouse state are retained when you bring them up again the next time: no need to re-register and so on. |