From f7f1fba9aa4193d1e05755c90bf92fd3a506538b Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Sun, 28 Sep 2025 23:29:44 -0600 Subject: [PATCH] Added proper CI --- .github/workflows/deploy.yml | 43 +++ .../UserInterfaceState.xcuserstate | Bin 124304 -> 124520 bytes sync-server/DEPLOY.md | 303 ++++++++++++++++++ {sync-server => sync}/.env.example | 0 {sync-server => sync}/.gitignore | 0 {sync-server => sync}/Dockerfile | 0 {sync-server => sync}/docker-compose.yml | 4 +- {sync-server => sync}/go.mod | 0 {sync-server => sync}/main.go | 0 {sync-server => sync}/run.sh | 0 sync/version.md | 1 + 11 files changed, 348 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/deploy.yml create mode 100644 sync-server/DEPLOY.md rename {sync-server => sync}/.env.example (100%) rename {sync-server => sync}/.gitignore (100%) rename {sync-server => sync}/Dockerfile (100%) rename {sync-server => sync}/docker-compose.yml (90%) rename {sync-server => sync}/go.mod (100%) rename {sync-server => sync}/main.go (100%) rename {sync-server => sync}/run.sh (100%) create mode 100644 sync/version.md diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..51c2c10 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,43 @@ +name: OpenClimb Docker Deploy +on: + push: + branches: [main] + paths: + - "sync/**" + - ".github/workflows/deploy.yml" + pull_request: + branches: [main] + paths: + - "sync/**" + - ".github/workflows/deploy.yml" + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Container Registry + uses: docker/login-action@v2 + with: + registry: ${{ secrets.REPO_HOST }} + username: ${{ github.repository_owner }} + password: ${{ secrets.DEPLOY_TOKEN }} + + - name: Build and push sync-server + uses: docker/build-push-action@v4 + with: + context: ./sync + file: ./sync/Dockerfile + platforms: linux/amd64 + push: true + tags: | + ${{ secrets.REPO_HOST }}/${{ github.repository_owner }}/openclimb-sync-server:${{ github.sha }} + ${{ secrets.REPO_HOST }}/${{ github.repository_owner }}/openclimb-sync-server:latest diff --git a/ios/OpenClimb.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate b/ios/OpenClimb.xcodeproj/project.xcworkspace/xcuserdata/atridad.xcuserdatad/UserInterfaceState.xcuserstate index de72ced2219c65201568ca9c1dc04cd8862ff5b3..63a5df08bb8d9c7ea0719b51780471182ec743b8 100644 GIT binary patch literal 124520 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

N+YPuw3SA&cPjCnnk-ThQ{XZ@Y* zYSbF*$$8)!8z;M(Zkq0z9-m~&e+{WNeaU{)?{H;&T` z(nRRYsWpYvcRC*vr-{*tyC7}iRGWB?(+t&&Y{TQ!jM9vz9Cs06ni3qhQ!^GrAD2$b z#`4MP&GNzHAKPcV?D-EL-$SWB5nU&xcip|M>XRNXjJ)r`36oYg`ER?o=}7lMT27g( zBm?-Vnx-k`=zms%{)>(?4E~WBn!1yue|?hv^VE|x3qb$#DE%+x>3?}bcV9>8zx){e zFQW8sBFtqx{TEXDFVb8>fiQ~+vxNHzm9tCPga62-nyV-aT&Y<`m@5dgv_*5Z<{H9) zS*~tB7PvukGevSERXWR{bTlid(z&WFr4!%Hf7wdS>b6+mPR$z10{F&jlPs_fbX}iL z*Gt$X%dL^Y`n5&=*;h{cYzAe4jp({5z3X=KS9h#^KYrl);Gb8jYp34^!GDSWj0ZGZ zIKn@eApG@|@GB_)UX{kb{3F{m$b+xbJf?YE^MvL}%~P7EHP2|C)jX$po-j8O2G8D1 zm=%P%g)p}g<~G9IPMA9gvvQs0#U$ZhmF$)51L1d2!Z-7TUq!@XB9>6XZ={58Yc*M4 zSzU=d1YOv*?Y)k`-R`qX=d|enV;xKV;YjV=$~wdqN|g3=CmDT;YUWneS0U?&vP9dgZwRE9nxObahVpF)NtM>~ipG#zOAAptk@ zbl$6>wp6oE^9^BE6Xwnq&3?^ygjqwF4ejQKYYu9t?bRI8{G@^UTuYd{2y^!;&0$T# z_O2t$`lRhGNSoz3t!w|WwF{zE_4MD#2zGU4U5T>Sah~9!1;q$&fDLSE9qX$qD$7di z^5<1mG|b!yb*a#{VSDfYX6D%kz8duUtsgBD-~IYI5{RG{wpZJR?cLVD?w8@;6`irU z$E~kanft76^~1F?ZD-7~wj)&@_dt1c&`Xvz9VX(Ae{Uhm)ysR7-bAEH(g0(_m%&9vitwkx?4LC zVy;ER1kO;xchW{6=He^4|3D+|KVHnWL$xC)0}j&;C(ILsd9p=2Qag$;PZ8$Xb~BOM zvDyigXVu#A)Ju9ARz^FCTA63kSXL#zBB_A1)3jyK4cZdzS=v&`ChyS~-w z^$YrihCX?H`0ZQkm5at7(+&0720=ZQcAoZJPV^TfME}*}%p*UEP1-A9t+hmZv38+$ zk@gbprP|B1i?vI%@UylP=5@mCAj}(t*-4mPgu#;TEyC<3%-id<6ESo;{2%ty43YPS*QW5Rqwm`_(} zAJ;xXCG#`FeEuIGna@MqUPu==<1de2biw*jRrg`FRlDoegw=i-U0+G>I@`DOw_E-g zv1={cJa7KMyAWLGXL-B!4Njl!p!)1fDu=tMKKm+NpYQu~$mYwcd`KJ7Q!ZwZ6{? z)ODgjn8SqmmHSD<-}97#B*Aqm9d++?YMq8KzZ2$<7M)I~C(NHj+M(S9SZCJRA;3C| z&Z@H!<_KYq5~*mF&Y|lH0hWr1RPw(sz`8ynh3=Gesm%HK_v@X%hpV4>b@$v*Fe?kD zRfp`Du8r*2!~LiBxr7Y==4MIYy04u-X<7wX=hS)VEW6-#OS9m1>%3UAOPRLT?1Oi! z#Aox=IZbzZLV|Szs02%8kYJq`l8;Aor&ZLJH_ooCX&7EvGoxW9|439f3KFb~>EgP< zx*@tE-B8^y-EiFq9qM~K5ou>4?LwpwLphNuh*U|WDk8;KY1ZjRa}ul@%cZJy6CuG; zZBl}zdOlSx?e<>*{x=BlbSl6zh*ZZ5@T}wc(YkYV4V0tmboE4PAkv%`U88O;ks68A z-hOg>p6((lx996F&|OHRCL%Qxsb!U}Nk^#MT8Y&5A0W4jA&g7X<+kk2RYyM#74^C7 z!vjB)*hRNcxm}8`SEhIEc5r=j!|1_d?wEJ;P;Ga^wqtU8weC7P%hyo3bx^roPUW_1 z8*;0>iWk5Yy4yIJy)_}T-Koqjr!w31Z)J9sZX=c1)w(-%YjkUMcj@ldt<$a7ZP49A zq&#ZxN}NNc**)%)YDpkjm_P zy7zS-5UGzy{X`mArTa+tF_qaMk%s;QWcDiv;@9bd_)hQdpK3V}3vRlg@U$5R&YMbQ z_8WBlHoa@E{)3nHUp45XB}YGb@0(YKW*?K;?{z;?`BUqDfU_(;jf&qPDt`Ub#81_U zKS)CNtL_g@Xn#)#?divPDky#B?qc^>ZxnfL9KVw=^l)U)BEUj4@sZy?mhW0>!*iblg6a_f%-v|Nrw{YumqFt z)JH`MeJq{&*Hunk{{7Q~CSP@U+AQZ4_b&va=!c+dQF_;VqI+%_XB&Ly{WreUZRdvG z##Tnr57&=M&|Ht=3piIJj`QjKcaPJb1)8&2`Uz|YmSLs(GxbwgmX)y`i3FN?6p@@l zB&QMy^z&#UJ%dQ{h$Np#3fAdMlQgfC?A6Z@_0U&QnvdaWKAwg*q$PBDbQY(n{~_Pd zUReN+yHG0AtUrfHi+S#9pxo7{pG$#A#}er{?kBkGNo5v48yDaJPw>};`iqEk0+CK^ z(GxxPk4+-dDecE!m+3F(_-hH}ugR21ODTVyna*E52J&BajsAM@7ke7pA6wQWAtLEV zB&V&?-=M#d^4C-%otEUUTfj88rZde=FaO+ol5s@-^61R#45gPmMfvLvbX}R=b>Wx& z?^cx*1utH_@vU3;*v>_|Ya9O=tMzL+4qKDpu+rmvJpaf&`iBuaPj%n*n~&$fm#6yh z>-CQ$+3a!s6Z$9hPl3^%p^R3+Gulid1)ZTWE~32F#PQk*2b?)>d69C?@)Hxt$&+HtB7<~i++#(T_Qc3NNd`UT|Uy& zx)1%w)MKlL$EN>`dTg`X@Yqz%yZA5LtKZ*-pR4~)|2<`wS|a62GIr_@f(H(z^MGOV z%EK=W8hY0qotYhf7Hs*Rvdb^%dN{r7&y&9Xcyiz9gR4h9z4n5~<~7m;xkFIxr2oT! zov&;3f9j9uj~YYP--q{I<*OM zdI8O4swdJy*<{^beg5Ry+S$lq3LA@&eWVrig|wg*nMG4;cdjlbKT=vVx3r#aD=1MK z|N6^ONNd(1afJuX!uO7@s;Q~0NcKnC^RG`varjeJO)1T*(sw6`U{D)$pqxQt&=Tpn zM0#F}L7(*;k)BV)q$zjG%-Z^f;kD(7r>0a?AwF6)8!xG8m{?WAeJB4Os{z4=W`m7L zFKo_woro9V>C^{Q9s2NHdm8#A5G=q+1h@_TIMFnm zuIX+V1mYD^!K5`Ov=Ur;8LdN+UQPdc4VB7-s2SoAHN#*cU6d3x!%&EtVVGe!1tPtK zNH67nLNQNQ>iLf>HjJlJIo1GnSWKi#S_~5m6N&V4BE7QR98JSi1By7(qOyiELpc?i zD~NO{r(+E>L<+;qbV-;^Wj3pWa$Xyv}e{lJM6VmK&}I;cujbr^O}-!sBC`iL`|he$_F;-$Dt0 zE0JE$6aEfL_?3oc3PgGXk>1Gt1mQ1MTKSK>%Rq}F4R;&X5$VlDx}wFf!Eg_e-a@3e zw;$o}H=u|kt(euY)$kA{JU;riB;mJ#nvbOu{&(+lx@X2ko?g=D&S&P%S{reIs^?n6CALba=?p}b5{PX=%@Gml zdLrG>k|W9KK%`)Td)v*(=E!nr6+s7ePA4jL8!>k|*>vtUrOlnHPjm9ia@0BcHuOb~ zAt#5j&3#0AKgTvX7Lg*yn$8RUbDy@(I~du&;zy5lnPce>V4EBVx^_+PI%ZJq(2LI; zaqFt9e>}Bv+UcLeCu`t8qh}7M^K&?z|KM>xo_{1ihwA*3@cMI-IzQ)h^(2{8)FY>m z5`HUB_(y3{L{d!&|7r`aOvsr?q>mHnQ|%`DIa70}&i|`lol};R(D_dg>61wsLg(kSq4R${ z`u(~tvqo;)xUbx>&o#$OX$YO4(}vDJ@bHXjcWoWcZu!jJbNKm9Wv!y0Q=7x-{G5c& zr`i3SgwAgxyWeRIKRpX_XqkV9V9t37d4KLWPw|gjoO30}eiEC$a+Y!Oo^vf1Nzb`~ zlKlmq?60&&(%(Er^%a!r(9d)jn&*_}!sLt6* z>6g&gyV7-ztT#VBujTCEs1836cK)s7JjFkJCok+2Adaott&zvJf`aY3<)Na%^b}+JS zP}?XocBIrsOz}gG+Qw{=!YEHC;lQnd9=8G1HmcB7o!<53fqkal zvLbf0sWEV&xaa+6wNl%tGt!-SMm;s}AH%#Gjnuq<(w2GexjsocqutmoL2YB#1hqc{ zwT(t(R4CK8b=Z7J|g|5#dwBs43U0I zq~EujO*c+3PNqmE(iz`RXZ%b$~d#_^|O22m+$RY^Q`EWKbsD{>6jFryyBR zr)yzrZc|zK!olw@o5P+Nxnt)OR0y9#*XPr_K0e{ieal=$H{a7^&pSi+oRfb{VZUU2 zm5QL+_zKK3+l5Ntc1R$bohE^*=zZM>^-8YCOuPucWu(Eu4ngDFRD@a8abCbb@}Ut2 z(w)rC03$532wQ=S-%0iw58%%qsR(O$5k_^hn6P##!j5CQ`)A5`zYtc-^WAS$cmFQF zk^*6M*b+p4&@Dk_$uBfXObiBP>R`f%41~>TF-c8e3?pGJ?Z$ehE+!>d4;Af)XiYn6 z^-$J+_bQXhq^7KABCMIy!6v;(VKSuCw8A!Ui}lM$w>8S$w+FgNt^xT?CUiBYcisQo z?HA5l5u3fZ_YBib*X`=qN`8~g)Rm6Z4(q{MVLeRUB+Cek@_>%%^shZnC9&~Sbc!iA zL3h)s3A%ShdAX?@9>c?FPx8;WO#?u9lgH#W`AmLOz!WrvO#Mu!nfenJL+(M?o`eNO zdlR+~VNW4!U&5YBSUhq%M|e{qmw7YADdF>Y!WZzFH}yQUHo3bI>FXPHU~>m;nJ#Z+#pAgr6PzIJnaOjV|8%71Fp*;H?Npmt0(RBw6H zxKCwS!ZTpK3I4_^Q-i6|G?%b`!UhN%TxFVXT0liEMA&}+``X^r1Q{mjGF))ZiyIWD z47zW5@87$9_+_6dRNNP#>m})3e|GM$y?M(Z+vRsw%pP&yuLF;X`(o1-oYY>PklOyo znKpjTt})&AFPz3;x;-hmEmad~cw>0!!qTTKrUHcZ&U7Ski9M+qAtY`pz=?n%=#6v_Y?QOW)rq@k7D9;Th?2x3Ie-p%fE1j5&rm36fl?}Uo#s1vR@0L9NE~WcB z=(;Dp>wu33U3u=rk)q|f9j<Yox!C!f6PKJbf6CXTyg;&`42 z2Teay${jM{MAR{aEpEwr&H#6TAWij`ER!H%#XtV1SwtT{VmeA#=)v(VX0aIyh6#k7 z*pxe_szQ*b!pfm)&dl1H%KYlmx*3)E6$@%gXIGV1)mN9+R7|VDi5xg^1E+7ysI6O& zL}2b{?g9iIg671=YL;fpP0vzw7E5C-{t>mAZmd3u+B36_6G?M7^&~UADRVC>kW+Yp zETO?ob|$5MRjW9f>Bed^Z1L2jIGX9kYIA|E69vLfqh-p8pI8BJP)$zq{S_!D&U4 z$$=L8sOpY^W6W}&c{4}#2NG02ms0&^$}Np)+`@nNBj)Eo^^*u`o1afo{beq=Y2Hq$ zem+n2CO){yE;&Z^os{ak2zvof_1%=}Z=2ttK-dcj3znciL3LKymH)<%%(Q~T{IU5H z!V++zOB{5fG4686&ellHx4TJiDMkhb|dGp+bw!IPIH35bdha~l;O=O5fO%&>dV znoZvgQx8B7U?iVt%e6(3(dUOncHJ4V(&Jg|F@uiq}6bBut$n~%_u{y|yqGRk^K zDeEn6i}l3cB&Wy1SY!#RTi68EFQ-&LN~ym1@2GB(Ta2LkNo?w|m^i9iZ0boChp308 z8>RYEp6XX8RQ%0U#jj{3yQLS%Zo$$EOW{Njg9SQ&wdGVxE(OA3S$GxqlkPAsw>*K>5Y3>GOY zL)wr=a?__fhKyKpo%7cOpV#m~E8Q)l zEMw?MM^n1r2)bK}Dcx^si|#}Bs>Gl0Gc?&Ul_UL>1nF-9=`F>S^y!Wx|46x|<|Ij9 zneF8`5>Ep#HA* zmWK(uvDtzZ%)Nr6`Yqhmf9$3b<@ot|^J%SEUVZuOyz-f)HMpBEZ$@b~4mDWNub`l$ zWL|CE**I;nymrolf^qdYHoTy;0fk?s6*!oDZe?{XP7*IjKTVwfj%O^-i*j2m&sv@% z?0tm2zs2$bT@^gQtpzl+tgA9{=5%e{U=C@C(u;%V66Z7JPvCGzfIGr{TCy~)qONp$ zL!@^0?5c(lIF23XYw!qPv*1>YX3KWMZf>^hAnb#5&7tBROJbl!Z+!PREw~Y5jpZ%N zZp+)2cPx7>?-F(kVYd?YA;Mzz9wF?bYb@_uJ`lgkd}R5U3hFk(($J=)n6R%yX7PGM zWg=RVIPI=*K~V)ZWmQeDqNhUGQ6ZQ7NByYjvH3Hr%BmXbi)!d6%&D!zNgXEckP%D* z_se5Xqq44h9za^KooYZi^=T3J9xs-vDx)K#(1QQh=1bW?7^3R$zEo2+ueK9kfKS`RH1Z-gUL7|DK2Y#X7DY z=8gRP!RNDDO^wxU^(8ci)tk^9uRwEH161R@nyzssZZA3QF@Gu%6Jd*LPxfyHBIt1Fm8n+^T@djacwOEU+ zh$p;7*dGM?$~r1>YBamEM7dC)uM!#{j~-50SqE*Efr1)H&$Oh6wjSfX0n`1#kl#}} zy{x>vtkPTRE^~*m-pc8|^2*Tkis^25(B&*mIRe=_miw|d|IJ_KDl7N9D%?(Y z!0+=^_`JT-GFQ3BADr%S1>NPr3U}pnx6c#gnQwx1611RoB4KwoTPG9tZK|f)(zg5q z)2!Ip&}=Os>^sfYQo`;zuG+L#TC1Tpt<$YDtTU}u)>+oG2@B2n9%0`n><5JXkgy-E zvCg*EP_=12hpNqw35#rULTw)Se_d@_&$FU{wAl(@=aXhD)-az^)zCXLg=xLmdI^Nn zy3mUC#%F~6yv2H{^)kYKLD>BnD@^NB>vAYe98bMBaX@wQaB6I~w(uuY}@dCInv;RR6K1D6h(}exL z>E;vX5l)9bpRO`rw!TXJn`hxpHCtaJ?2oOtAzOD?cec7dRxG>^9{bg9>j(er=2$

(|!3)_sIUC=^!y7s4K1ZT;4|-};^P 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

mXRJ3|yL=zyJNaI+bD@e~7injzR(2K&#TZiW@S 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 Wm;e3o|NB=7|2Gi--@ifw4*oypAD~14 literal 124304 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 +cd OpenClimb/sync-server + +# Run the deployment script +./deploy.sh +``` + +The script will: +- Create necessary directories +- Pull the latest container image +- Stop any existing containers +- Start the new container +- Verify deployment success + +### 2. Manual Deployment + +```bash +# Pull the latest image +docker pull your-registry.com/username/openclimb-sync-server:latest + +# Create environment file +cp .env.example .env.prod +# Edit .env.prod with your configuration + +# Deploy with docker-compose +docker-compose -f docker-compose.prod.yml up -d +``` + +## Configuration + +### Environment Variables + +Create a `.env.prod` file with the following variables: + +```bash +# Container registry settings +REPO_HOST=your-registry.example.com +REPO_OWNER=your-username + +# Server configuration +AUTH_TOKEN=your-secure-auth-token-here-make-it-long-and-random +PORT=8080 + +# Optional: Custom domain (for Traefik) +TRAEFIK_HOST=sync.openclimb.example.com +``` + +### Required Secrets (GitHub) + +Configure these secrets in your GitHub repository settings: + +- `REPO_HOST`: Your container registry hostname +- `DEPLOY_TOKEN`: Authentication token for the registry + +## Container Build Process + +The GitHub Action (`sync-server-deploy.yml`) automatically: + +1. **Triggers on:** + - Push to `main` branch (when sync-server files change) + - Pull requests to `main` branch + +2. **Build Process:** + - Uses multi-stage Docker build + - Compiles Go binary in builder stage + - Creates minimal Alpine-based runtime image + - Pushes to container registry with tags: + - `latest` (always points to newest) + - `` (specific version) + +3. **Caching:** + - Uses GitHub Actions cache for faster builds + - Incremental builds when possible + +## Deployment Options + +### Option 1: Simple Docker Run +```bash +docker run -d \ + --name openclimb-sync-server \ + -p 8080:8080 \ + -v $(pwd)/data:/root/data \ + -e AUTH_TOKEN=your-token-here \ + your-registry.com/username/openclimb-sync-server:latest +``` + +### Option 2: Docker Compose (Recommended) +```bash +docker-compose -f docker-compose.prod.yml up -d +``` + +### Option 3: Kubernetes +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: openclimb-sync-server +spec: + replicas: 1 + selector: + matchLabels: + app: openclimb-sync-server + template: + metadata: + labels: + app: openclimb-sync-server + spec: + containers: + - name: sync-server + image: your-registry.com/username/openclimb-sync-server:latest + ports: + - containerPort: 8080 + env: + - name: AUTH_TOKEN + valueFrom: + secretKeyRef: + name: openclimb-secrets + key: auth-token + volumeMounts: + - name: data-volume + mountPath: /root/data + volumes: + - name: data-volume + persistentVolumeClaim: + claimName: openclimb-data +``` + +## Data Persistence + +The sync server stores data in `/root/data` inside the container. **Always mount a volume** to preserve data: + +```bash +# Local directory mounting +-v $(pwd)/data:/root/data + +# Named volume (recommended for production) +-v openclimb-data:/root/data +``` + +### Data Structure +``` +data/ +├── climb_data.json # Main sync data +├── images/ # Uploaded images +│ ├── problem_*.jpg +│ └── ... +└── logs/ # Server logs (optional) +``` + +## Monitoring and Maintenance + +### Health Check +```bash +curl http://localhost:8080/health +``` + +### View Logs +```bash +# Docker Compose +docker-compose -f docker-compose.prod.yml logs -f + +# Direct Docker +docker logs -f openclimb-sync-server +``` + +### Update to Latest Version +```bash +# Using deploy script +./deploy.sh + +# Manual update +docker-compose -f docker-compose.prod.yml pull +docker-compose -f docker-compose.prod.yml up -d +``` + +## Reverse Proxy Setup (Optional) + +### Nginx +```nginx +server { + listen 80; + server_name sync.openclimb.example.com; + + location / { + proxy_pass http://localhost:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} +``` + +### Traefik (Labels included in docker-compose.prod.yml) +```yaml +labels: + - "traefik.enable=true" + - "traefik.http.routers.openclimb-sync.rule=Host(`sync.openclimb.example.com`)" + - "traefik.http.routers.openclimb-sync.tls.certresolver=letsencrypt" +``` + +## Security Considerations + +1. **AUTH_TOKEN**: Use a long, random token (32+ characters) +2. **HTTPS**: Always use HTTPS in production (via reverse proxy) +3. **Firewall**: Only expose port 8080 to your reverse proxy, not publicly +4. **Updates**: Regularly update to the latest container image +5. **Backups**: Regularly backup the `data/` directory + +## Troubleshooting + +### Container Won't Start +```bash +# Check logs +docker logs openclimb-sync-server + +# Common issues: +# - Missing AUTH_TOKEN environment variable +# - Port 8080 already in use +# - Insufficient permissions on data directory +``` + +### Sync Fails from Mobile Apps +```bash +# Verify server is accessible +curl -H "Authorization: Bearer your-token" http://your-server:8080/sync + +# Check server logs for authentication errors +docker logs openclimb-sync-server | grep "401\|403" +``` + +### Image Upload Issues +```bash +# Check disk space +df -h + +# Verify data directory permissions +ls -la data/ +``` + +## Performance Tuning + +For high-load deployments: + +```yaml +# docker-compose.prod.yml +services: + openclimb-sync-server: + deploy: + resources: + limits: + memory: 512M + cpus: '0.5' + reservations: + memory: 256M + cpus: '0.25' +``` + +## Backup Strategy + +```bash +#!/bin/bash +# backup.sh - Run daily via cron + +DATE=$(date +%Y%m%d_%H%M%S) +BACKUP_DIR="/backups/openclimb" + +# Create backup directory +mkdir -p "$BACKUP_DIR" + +# Backup data directory +tar -czf "$BACKUP_DIR/openclimb_data_$DATE.tar.gz" \ + -C /path/to/sync-server data/ + +# Keep only last 30 days +find "$BACKUP_DIR" -name "openclimb_data_*.tar.gz" -mtime +30 -delete +``` + +## Support + +- **Issues**: Create an issue in the GitHub repository +- **Documentation**: Check the main OpenClimb README +- **Logs**: Always diff --git a/sync-server/.env.example b/sync/.env.example similarity index 100% rename from sync-server/.env.example rename to sync/.env.example diff --git a/sync-server/.gitignore b/sync/.gitignore similarity index 100% rename from sync-server/.gitignore rename to sync/.gitignore diff --git a/sync-server/Dockerfile b/sync/Dockerfile similarity index 100% rename from sync-server/Dockerfile rename to sync/Dockerfile diff --git a/sync-server/docker-compose.yml b/sync/docker-compose.yml similarity index 90% rename from sync-server/docker-compose.yml rename to sync/docker-compose.yml index b1bb740..ca7977d 100644 --- a/sync-server/docker-compose.yml +++ b/sync/docker-compose.yml @@ -1,8 +1,6 @@ -version: "3.8" - services: openclimb-sync: - build: . + image: ${IMAGE} ports: - "8080:8080" environment: diff --git a/sync-server/go.mod b/sync/go.mod similarity index 100% rename from sync-server/go.mod rename to sync/go.mod diff --git a/sync-server/main.go b/sync/main.go similarity index 100% rename from sync-server/main.go rename to sync/main.go diff --git a/sync-server/run.sh b/sync/run.sh similarity index 100% rename from sync-server/run.sh rename to sync/run.sh diff --git a/sync/version.md b/sync/version.md new file mode 100644 index 0000000..3eefcb9 --- /dev/null +++ b/sync/version.md @@ -0,0 +1 @@ +1.0.0