https://github.com/peterweissdk/joplin-k8s-arm
Joblin Server supporting ARM
https://github.com/peterweissdk/joplin-k8s-arm
arm heml ingress-service
Last synced: 5 months ago
JSON representation
Joblin Server supporting ARM
- Host: GitHub
- URL: https://github.com/peterweissdk/joplin-k8s-arm
- Owner: peterweissdk
- License: gpl-3.0
- Created: 2025-02-19T12:50:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-15T01:38:48.000Z (over 1 year ago)
- Last Synced: 2025-06-07T12:03:54.916Z (about 1 year ago)
- Topics: arm, heml, ingress-service
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# đž Joplin Server Helm Chart for ARM Architecture
[](https://helm.sh/)
## đ Attribution
This values file is compatible with the chart from [Rub'x Kube](https://artifacthub.io/packages/helm/rubxkube/joplin), modified for ARM architecture. This implementation uses [redrathnure's ARM-compatible Joplin container](https://hub.docker.com/r/redrathnure/joplin) as it's base image.
## âšī¸ Info
The Traefik IngressRoute is configured for HTTP only, as SSL termination and certificate management are handled externally through pfSense in front of my LAN.
## ⨠Features
- Full Joplin Server deployment optimized for ARM architecture
- Traefik ingressroute support for easy access
- Persistent storage for your notes and attachments
- Configurable through joplin-values.yaml
- ARM-compatible images and configurations
## đ Quick Start
To install the Joplin server, run:
```bash
# Install Joplin Helm Chart
helm repo add rubxkube https://rubxkube.github.io/charts/
helm repo update
helm install joplin rubxkube/joplin \
--namespace joplin-system \
--create-namespace \
--values joplin-values.yaml
# Ingressroute for Traefik
kubectl apply -f joplin-ingressroute.yaml
```
## đ§ Configuration
In the `joplin-values.yaml` file, you can specify the configurable parameters of the Joplin chart and their default values. To override these values, create a `joplin-values.yaml` file and specify your values there.
For detailed configuration options, please refer to the default values in the chart.
https://artifacthub.io/packages/helm/rubxkube/joplin
## đ Directory Structure
```
joplin-k8s-arm/
âââ joplin-manifest/
â âââ joplin.yaml
â âââ postgres.yaml
âââ joplin-ingressroute.yaml
âââ joplin-values.yaml
âââ LICENSE
âââ README.md
```
## đĻ Manifests
The `joplin-manifest` folder contains raw Kubernetes manifests as an alternative to the Helm deployment:
### Using Raw Manifests
To deploy Joplin using raw manifests instead of Helm:
```bash
# Create namespace
kubectl create namespace joplin-system
# Apply manifests
kubectl apply -f -n joplin-system
```
To remove the deployment:
```bash
# Remove all resources
kubectl delete -f -n joplin-system
# Optionally remove the namespace
kubectl delete namespace joplin-system
```
### Manifest Details
- `joplin.yaml`: Contains the Joplin server deployment configuration
- ConfigMap with application settings
- Secret for database credentials
- Deployment with RollingUpdate strategy for zero-downtime updates
- Service exposing port 80
- APP_BASE_URL: Set base URL for the Joplin server
- Default credentials:
- Username: admin@localhost
- Password: admin
> â ī¸ For security, please change these credentials after first login
- `postgres.yaml`: Contains the PostgreSQL database configuration
- PersistentVolumeClaim for data storage (5Gi)
- Deployment with Recreate strategy to ensure data integrity
- Service named 'db' exposing port 5432
- Uses official postgres:16 image
Both deployments are configured with node selectors to run on nodes labeled with `node-role.kubernetes.io/agent=true`. Change these settings for your own deployment, or comment them out.
## đ Health Check
To check the deployment status:
```bash
# Check pods
kubectl get pods -n joplin-system
kubectl describe pod -n joplin-system
# Check Traefik ingressroute
kubectl describe ingressroutes.traefik.io joplin-ingressroute -n joplin-system
```
## đ¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## đ Support
If you encounter any issues or need support, please file an issue on the GitHub repository.
## đ License
This project is licensed under the GNU GENERAL PUBLIC LICENSE v3.0 - see the [LICENSE](LICENSE) file for details.