Compare commits

..

1 Commits

Author SHA1 Message Date
Jean-Baptiste
c4e20bcecb [doc] Create a doc to deploy your own server
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-18 22:47:39 +01:00
17 changed files with 94 additions and 24 deletions

View File

@@ -3,9 +3,8 @@
android:width="74dp"
android:height="57dp"
android:viewportWidth="74"
android:viewportHeight="57"
android:tint="?iconTint">
android:viewportHeight="57">
<path
android:fillColor="#FFFFFF"
android:pathData="m26.278,8.137c3.695,-3.729 9.719,-3.761 13.453,-0.073 3.736,3.687 3.769,9.699 0.074,13.425L25.208,36.215c-2.353,2.373 -2.331,6.197 0.046,8.544 2.379,2.345 6.209,2.326 8.562,-0.048L48.119,30.283c-0.155,-0.32 -0.286,-0.647 -0.394,-0.978l-4.006,0.001c-2.787,0 -3.659,-3.825 -1.045,-5.042L65.323,13.832c2.091,-0.869 4.357,1.392 3.486,3.478L58.355,39.913c-1.219,2.607 -5.053,1.736 -5.053,-1.044V34.451c-0.506,-0.122 -1.006,-0.296 -1.494,-0.525L37.505,48.354C33.137,52.76 26.02,52.798 21.604,48.44 17.191,44.082 17.152,36.979 21.52,32.573L36.117,17.847c1.68,-1.693 1.665,-4.426 -0.033,-6.102 -1.7,-1.677 -4.437,-1.662 -6.117,0.033l-9.43,9.516c0.436,0.994 0.679,2.091 0.679,3.244 0,4.464 -3.634,8.091 -8.108,8.091C8.633,32.629 5,29.002 5,24.538c0,-4.466 3.633,-8.091 8.108,-8.091 1.424,0 2.764,0.367 3.928,1.012z" />
android:fillColor="#757575"
android:pathData="m26.278,8.137c3.695,-3.729 9.719,-3.761 13.453,-0.073 3.736,3.687 3.769,9.699 0.074,13.425l-14.597,14.726c-2.353,2.373 -2.331,6.197 0.046,8.544 2.379,2.345 6.209,2.326 8.562,-0.048l14.303,-14.428c-0.155,-0.32 -0.286,-0.647 -0.394,-0.978l-4.006,0.001c-2.787,0 -3.659,-3.825 -1.045,-5.042l7.813,-3.604c0.879,-0.652 1.87,-1.098 2.9,-1.333l11.936,-5.495c2.091,-0.869 4.357,1.392 3.486,3.478l-10.454,22.603c-1.219,2.607 -5.053,1.736 -5.053,-1.044v-4.418c-0.506,-0.122 -1.006,-0.296 -1.494,-0.525l-14.303,14.428c-4.368,4.406 -11.485,4.444 -15.901,0.086 -4.413,-4.358 -4.452,-11.461 -0.084,-15.867l14.597,-14.726c1.68,-1.693 1.665,-4.426 -0.033,-6.102 -1.7,-1.677 -4.437,-1.662 -6.117,0.033l-9.43,9.516c0.436,0.994 0.679,2.091 0.679,3.244 0,4.464 -3.634,8.091 -8.108,8.091 -4.475,0 -8.108,-3.627 -8.108,-8.091 0,-4.466 3.633,-8.091 8.108,-8.091 1.424,0 2.764,0.367 3.928,1.012z" />
</vector>

View File

@@ -6,9 +6,9 @@
android:viewportHeight="80">
<path
android:pathData="m4.858,10.076c0,-5.523 4.477,-10 10,-10h60c5.523,0 10,4.477 10,10v60c0,5.523 -4.477,10 -10,10h-60c-5.523,0 -10,-4.477 -10,-10z"
android:fillColor="@color/base_red"
android:fillColor="@color/active_track_recording"
android:fillAlpha="0.78" />
<path
android:pathData="m33.024,19.508c3.955,-3.981 10.402,-4.015 14.399,-0.078 3.999,3.937 4.034,10.355 0.079,14.333L31.879,49.485c-2.518,2.534 -2.495,6.616 0.049,9.122 2.546,2.504 6.646,2.483 9.164,-0.051L56.401,43.152c-0.166,-0.342 -0.306,-0.691 -0.422,-1.044l-4.288,0.001c-2.983,0 -3.916,-4.084 -1.118,-5.383L74.814,25.588c2.238,-0.928 4.663,1.486 3.731,3.713L67.356,53.433c-1.305,2.783 -5.408,1.854 -5.408,-1.115V47.601c-0.542,-0.13 -1.077,-0.316 -1.599,-0.561L45.04,62.444C40.365,67.148 32.747,67.189 28.021,62.536 23.298,57.883 23.256,50.299 27.931,45.595L43.554,29.873c1.798,-1.808 1.782,-4.725 -0.035,-6.515 -1.819,-1.79 -4.749,-1.774 -6.547,0.035l-10.093,10.16c0.467,1.061 0.727,2.232 0.727,3.464 0,4.766 -3.89,8.638 -8.678,8.638 -4.79,0 -8.678,-3.872 -8.678,-8.638 0,-4.768 3.888,-8.638 8.678,-8.638 1.524,0 2.958,0.392 4.204,1.081z"
android:pathData="m33.024,19.508c3.955,-3.981 10.402,-4.015 14.399,-0.078 3.999,3.937 4.034,10.355 0.079,14.333l-15.623,15.722c-2.518,2.534 -2.495,6.616 0.049,9.122 2.546,2.504 6.646,2.483 9.164,-0.051l15.309,-15.404c-0.166,-0.342 -0.306,-0.691 -0.422,-1.044l-4.288,0.001c-2.983,0 -3.916,-4.084 -1.118,-5.383l8.362,-3.848c0.941,-0.696 2.001,-1.172 3.104,-1.423l12.775,-5.867c2.238,-0.928 4.663,1.486 3.731,3.713l-11.189,24.132c-1.305,2.783 -5.408,1.854 -5.408,-1.115l-0,-4.717c-0.542,-0.13 -1.077,-0.316 -1.599,-0.561l-15.309,15.404c-4.675,4.704 -12.293,4.745 -17.019,0.092 -4.723,-4.653 -4.765,-12.237 -0.09,-16.941l15.623,-15.722c1.798,-1.808 1.782,-4.725 -0.035,-6.515 -1.819,-1.79 -4.749,-1.774 -6.547,0.035l-10.093,10.16c0.467,1.061 0.727,2.232 0.727,3.464 0,4.766 -3.89,8.638 -8.678,8.638 -4.79,0 -8.678,-3.872 -8.678,-8.638 0,-4.768 3.888,-8.638 8.678,-8.638 1.524,0 2.958,0.392 4.204,1.081z"
android:fillColor="#ffffff"/>
</vector>

View File

@@ -6,7 +6,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:background="?colorSurfaceContainerLow"
android:background="@color/bg_editor"
tools:context=".editor.EditorActivity">
<LinearLayout
android:layout_width="match_parent"

View File

@@ -10,7 +10,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frameLayout"
android:background="?colorSurfaceContainerLow"
android:background="@color/bg_editor"
android:layout_marginBottom="@dimen/margin_quarter">
<androidx.recyclerview.widget.RecyclerView

View File

@@ -9,7 +9,7 @@
style="@style/MwmWidget.FrameLayout.Elevation"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?colorSurfaceContainerLow"
android:background="@color/bg_editor"
android:layout_above="@+id/tv__mode_switch"
android:layout_below="@id/toolbar"/>
@@ -19,7 +19,7 @@
android:layout_height="wrap_content"
android:layout_alignTop="@+id/tv__mode_switch"
android:layout_alignParentBottom="true"
android:background="?colorSurfaceContainerLow"/>
android:background="@color/bg_editor"/>
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__mode_switch"

View File

@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?colorSurfaceContainerLow">
android:background="@color/bg_editor">
<LinearLayout
android:layout_width="match_parent"

View File

@@ -4,7 +4,7 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?colorSurfaceContainerLow"
android:background="@color/bg_editor"
android:paddingStart="@dimen/margin_half"
android:paddingEnd="@dimen/margin_half"
android:scrollbars="vertical"/>

View File

@@ -7,6 +7,7 @@
android:orientation="vertical"
android:paddingEnd="@dimen/margin_base"
android:paddingStart="@dimen/margin_base"
android:background="@color/fg_editor"
android:animateLayoutChanges="true">
<com.google.android.material.textview.MaterialTextView
@@ -24,6 +25,7 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/fg_editor"
android:scrollbars="vertical"/>
<com.google.android.material.button.MaterialButton

View File

@@ -12,7 +12,7 @@
android:tint="?iconTint"
app:srcCompat="@drawable/ic_plus"
app:shapeAppearanceOverlay="@style/ShapeAppearance.MapButton.Zoom.Minus"
android:layout_marginBottom="@dimen/margin_eighth_plus"
android:layout_marginBottom="@dimen/margin_eighth"
android:contentDescription="@string/zoom_in"/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/nav_zoom_out"

View File

@@ -16,6 +16,8 @@
<color name="bg_panel">@color/bg_window</color>
<color name="bg_primary_dark">#FF588157</color>
<color name="bg_app">#10140F</color>
<color name="bg_editor">#161b14</color>
<color name="fg_editor">#282e25</color>
<color name="bg_menu">#CC2D3237</color>

View File

@@ -65,6 +65,8 @@
<color name="bg_panel">@color/bg_window</color>
<color name="bg_primary_dark">#37653F</color> <!-- secondary dark -->
<color name="bg_app">@android:color/white</color>
<color name="bg_editor">#ebefe4</color>
<color name="fg_editor">#f9faf2</color>
<color name="bg_dialog_translucent">#BB000000</color>
<color name="bg_text_translucent">#99FFFFFF</color>

View File

@@ -8,7 +8,6 @@
<!-- margins -->
<dimen name="margin_eighth">2dp</dimen>
<dimen name="margin_eighth_plus">3dp</dimen>
<dimen name="margin_quarter">4dp</dimen>
<dimen name="margin_quarter_plus">6dp</dimen>
<dimen name="margin_half">8dp</dimen>

View File

@@ -89,7 +89,7 @@
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">@dimen/margin_half</item>
<item name="cardBackgroundColor">?appBackground</item>
<item name="cardBackgroundColor">@color/fg_editor</item>
<item name="android:padding">@dimen/margin_base</item>
<item name="cardPreventCornerOverlap">false</item>
</style>

View File

@@ -4,6 +4,7 @@ Thank you for your interest in contributing to CoMaps!
## How Can I Contribute?
- [Donate](https://opencollective.com/comaps/donate)
- [Submit a bug report or a feature request](#bug-reports-and-feature-requests)
There are things to do for everyone:
@@ -15,8 +16,6 @@ There are things to do for everyone:
If you'd like to help in any other way or if there are any related questions - please [contact us](https://codeberg.org/comaps#keep-connected).
If none of those ways of contributing seem to be a good fit, and you'd like to help out in another way, you could also [donate](https://www.comaps.app/donate/)
### Bug Reports and Feature Requests
[Submit an issue](https://codeberg.org/comaps/comaps/issues) and describe your feature idea or report a bug.
@@ -48,11 +47,13 @@ Check the [map styling instructions](STYLES.md) and work on adding new map featu
Please follow instructions in [INSTALL.md](INSTALL.md) to set up your development environment.
You will find a list of issues for new contributors [here](https://codeberg.org/comaps/comaps/issues?labels=393881) to help you get started with simple tasks.
**We do not assign issues to first-time contributors.** Any such request notifies our contributors and the development team, and creates unnecessary noise that distracts us from the work. Just make a PR - and it will be reviewed.
Sometimes it's better to discuss and confirm your vision of the fix or implementation before working on an issue. Our main focus is on simplicity and convenience for everyone, not only for geeks.
Please [learn how to use `git rebase`](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) (or rebase via any git tool with a graphical interface, e.g. [Fork for Mac](https://git-fork.com/) is quite good) to amend your commits in the PR and maintain a clean logical commit history for your changes/branches.
We strive to help onboard new developers, but we don't always have enough time to guide newcomers step-by-step and explain everything in detail. So please make sure your changes follow these different guidelines when submitting a pull request:
We strive to help onboard new developers but we don't always have enough time to guide newcomers step-by-step and explain everything in detail. For that reason we might ask you to read lots of the documentation and study the existing code.
- [Pull Request Guide](PR_GUIDE.md).
- [Directories structure](STRUCTURE.md)
@@ -70,6 +71,7 @@ Please help us:
- reproducing and triaging reported bugs
- [testing upcoming features and bug fixes for Android, iOS and desktop versions](TESTING.md)
- keeping [issues](https://codeberg.org/comaps/comaps/issues) in order (check for duplicates, organize, assign labels, link related issues, etc.)
- composing nice user-centric release notes and news items
- etc.
You can also contribute in [other ways](https://codeberg.org/comaps/Governance/src/branch/main/contribute.md).

View File

@@ -0,0 +1,66 @@
# Deploy your maps files server
This doc explain how to deploy your own instance of a CoMaps server with files from official CDNs (We are working to be able to download maps files without hardcoded countries.txt file embedded in the app)
We explain how to deploy with minimal config, but each tools have differents options to change server port or choose maps files that you want to download.
## Deploy the server
Our community has developped different tools to deploy easily an instance of a CoMaps server:
- [comaps-map-distributor](https://codeberg.org/gedankenstuecke/comaps-map-distributor)
- [comaps-server](https://github.com/myanesp/comaps-server)
### Deploy comaps-map-distributor
Prerequisites
- python3 and pip
- Launch your terminal
- Run `pip install comaps-map-distributor`
- Launch the tool with this command `comaps-map-distributor download-maps`
- Choose maps files you want to download from official CDNs
- Run `comaps-map-distributor serve-maps`
- Go to your mobile device -> CoMaps -> settings -> Advanced -> Custom Maps server
- Edit URL with your URL server and enjoy
### Deploy comaps-server
Prerequisites
- Docker
- Your server is accessible from your network
#### Docker
- Launch your terminal
- Run ``` docker run -d \
--name comaps-server \
--restart unless-stopped \
-e MAPS=all \
-e OUTPUT_DIR=/maps \
-p "80:80" \
ghcr.io/myanesp/comaps-server:latest```
- Go to your mobile device -> CoMaps -> settings -> Advanced -> Custom Maps server
- Edit URL with your URL server and enjoy
#### Docker compose
- Launch your terminal
- Create a `compose.yml` file with this config:
```services:
maps-server:
image: ghcr.io/myanesp/comaps-server
container_name: comaps-server
ports:
- "80:80"
environment:
- MAPS=World,WorldCoasts,Spain
- OUTPUT_DIR=/maps
volumes:
- ./maps:/maps
- TZ=Europe/Madrid```
- Execute `docker compose up`
- Go to your mobile device -> CoMaps -> settings -> Advanced -> Custom Maps server
- Edit URL with your URL server and enjoy
You can find more details in the [FAQ articles](https://www.comaps.app/support/how-can-i-host-a-custom-map-server-for-downloads/) to deploy your own HTTP maps server and find more details [here](https://www.comaps.app/support/how-can-i-set-a-custom-map-server-for-downloads/) about restrictions.

View File

@@ -1,3 +1,6 @@
# Roadmap
We do not have a formal roadmap, but we are working on a mission document to help understand our vision of the project. Also, we have an [App Priorities project](https://codeberg.org/comaps/comaps/projects/16883) on Codeberg to follow most important and asked features or changes.
## Milestones
Milestones define when an issue, pull request, and/or roadmap item is to be completed. Issues are the what, milestones are the when. Development is complex therefore roadmap items can move between milestones depending on the remaining development and testing required to release a change.
[View active milestones](https://codeberg.org/comaps/comaps/milestones).

View File

@@ -130,11 +130,6 @@ The recommended approach for resolving conflicts is as follows:
Using these steps all existing translations can still be kept and rebased into the repo, without losing work. The important bit is that you need to ensure that all translations are in the Weblate-internal git repository before you rebase, so that they get into the _actual_ Codeberg repo.
### Add suuport of new language in Android app
1. Make sure Weblate has generate strings.xml for your language in this directory [android/app/src/main/res/values\*/strings.xml][android_git]
2. Add the language in `localeFilters` list in [build.gradle](https://codeberg.org/comaps/comaps/src/commit/e156d21eee7debd13ce9ec775cdcb264a97aad47/android/app/build.gradle#L258) (It's necessary to add language in this file to be sure app translations and library translations was integrated in the app).
3. Add the language in [locales_config.xml](https://codeberg.org/comaps/comaps/src/branch/main/android/app/src/main/res/xml/locales_config.xml) (It's necessary to allow users to change app language in Android settings on most recent devices).
[codeberg_translate]: https://translate.codeberg.org/projects/comaps/
[contribute]: https://docs.weblate.org/en/latest/workflows.html
[android_weblate]: https://translate.codeberg.org/projects/comaps/android/